前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >21 Jul 2020 通过csr创建kubernetes用户

21 Jul 2020 通过csr创建kubernetes用户

作者头像
俊采
发布2023-10-17 10:38:28
1320
发布2023-10-17 10:38:28
举报
文章被收录于专栏:LEo的网络日志

创建私钥和csr

代码语言:javascript
复制
$ openssl genrsa -out ssli.key 2048
$ openssl req -new -key ssli.key -out ssli.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:sx
Locality Name (eg, city) [Default City]:xa
Organization Name (eg, company) [Default Company Ltd]:rh
Organizational Unit Name (eg, section) []:rhxa
Common Name (eg, your name or your server's hostname) []:ssli
Email Address []:ssli@redhat.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:rh

$ cat ssli.csr | base64 | tr -d "\n"
$ cat <<EOF | kubectl apply -f -
apiVersion: certificates.k8s.io/v1beta1
kind: CertificateSigningRequest
metadata:
  name: ssli
spec:
  groups:
  - system:authenticated
  request: __REPLACE_IT__ # cat ssli.csr | base64 | tr -d "\n"
  usages:
  - client auth
EOF

$ k get csr
NAME   AGE   REQUESTOR    CONDITION
ssli   6s    kube:admin   Pending
$ k certificate approve ssli
certificatesigningrequest.certificates.k8s.io/ssli approved

从csr中获取签发的证书

代码语言:javascript
复制
$ kubectl get csr/ssli -o yaml

$ kubectl get csr ssli -o jsonpath='{.status.certificate}' | base64 -d > ssli.crt

给用户相应的权限

代码语言:javascript
复制
$ kubectl create role developer --verb=create --verb=get --verb=list --verb=update --verb=delete --resource=pods
$ kubectl create rolebinding developer-binding-ssli --role=developer --user=ssli

使用新用户访问集群

代码语言:javascript
复制
$ kubectl config set-credentials ssli --client-key=/share/git/k8s_practice/authn-authz/ssli.key --client-certificate=/share/git/k8s_practice/authn-authz/ssli.crt --embed-certs=true

$ kubectl config set-context ssli --cluster=soli-acm-hub --user=ssli

$ kubectl config use-context ssli

LEo at 12:12

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建私钥和csr
  • 从csr中获取签发的证书
  • 给用户相应的权限
  • 使用新用户访问集群
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档