Kubernetes — 创建普通用户

创建私钥

openssl genrsa -out kevin.key 2048
openssl req -new -key kevin.key -out kevin.csr

创建CSR

cat <<EOF | kubectl apply -f -
apiVersion: certificates.k8s.io/v1beta1
kind: CertificateSigningRequest
metadata:
  name: kevin
spec:
  request: LS0tLS1CRUdJT.....tLQo=
  signerName: kubernetes.io/kube-apiserver-client
  usages:
  - client auth
EOF

Some points to note:

  • usages 必须是 ‘client auth
  • request 是csr文件内容经过base64编码后的值。通过以下命令可得: cat kevin.csr | base64 | tr -d "\n"

批准证书签名请求

获取CSR列表

kubectl get csr

批准CSR

kubectl certificate approve kevin

获取证书

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

绑定角色

这里图方便绑定的是cluster-admin角色。如果需要可以自行创建角色在进行绑定。

kubectl create  clusterrolebinding kevin --clusterrole=cluster-admin --user=kevin

如果不绑定角色,在执行kubectl get pod -A等操作时,会出现以下结果:

Error from server (Forbidden): pods is forbidden: User "kevin" cannot list resource "pods" in API group "" at the cluster scope

添加到kubeconfig

  • 添加新的凭据
kubectl config set-credentials kevin --client-key=kevin.key --client-certificate=kevin.crt --embed-certs=true
  • 添加上下文
kubectl config set-context kevin --cluster=kubernetes --user=kevin
  • 切换用户
kubectl config use-context kevin

一系列配置完成后就可以操作k8s集群了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_李少侠_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值