码迷,mamicode.com
首页 > 其他好文 > 详细

k8s 使用新增user配置kubectl在各个节点都可运行

时间:2019-01-03 11:02:53      阅读:612      评论:0      收藏:0      [点我收藏+]

标签:pem   复制   环境   ica   定义   script   user   font   文件复制   

k8s增加普通用户User

普通用户并不是通过k8s来创建和维护,是通过创建证书和切换上下文环境的方式来创建和切换用户。
其实创建用户的步骤,就是手动部署k8s集群里的一个步骤。
创建过程见下:

1、创建用户证书

[root@k8s-master1]# cat  userkubectl-csr.json
{
  "CN": "userkubectl",           #####userkubectl用户名字,可自行定义,与后面的名字要保持一致
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "ST": "SZ",
      "L": "SZ",
      "O": "k8s",
      "OU": "4Paradigm"
    }
  ]
}
2、在master节点上执行 生成user证书
[root@k8s-master1]#  cfssl gencert -ca=/etc/kubernetes/cert/ca.pem -ca-key=/etc/kubernetes/cert/ca-key.pem -config=/etc/kubernetes/cert/ca-config.json -profile=kubernetes userkubectl-csr.json | cfssljson -bare userkubectl
 -ca=/etc/kubernetes/cert/ca.pem                  为k8s apiserver证书
 -ca-key=/etc/kubernetes/cert/ca-key.pem          为k8s apiserver证书
 -config=/etc/kubernetes/cert/ca-config.json      为k8s apiserver证书

3、生成证书证书如下
[root@k8s-master1]# ls
userkubelet.csr  userkubelet-csr.json 
userkubelet-key.pem userkubelet.pem
3、在master节点上执行设置集群参数
kubectl config set-cluster kubernetes --certificate-authority=/etc/kubernetes/cert/ca.pem --embed-certs=true --server=https://xxx.xxx.xxx.xxx:4443 --kubeconfig=kubectl.kubeconfig
               注释: --server=https://xxx.xxx.xxx.xxx:4443  根据自己master节点进行设置
4、在master节点上执行设置客户端认证参数
[root@k8s-master1]# kubectl config set-credentials userkubectl --client-certificate=userkubectl.pem --client-key=userkubectl-key.pem --embed-certs=true --kubeconfig=kubectl.kubeconfig
User "userkubectl" set.
5、在master节点
设置上下文参数

[root@k8s-master1]# kubectl config set-context kubernetes --cluster=kubernetes --user=userkubectl --kubeconfig=kubectl.kubeconfig
Context "kubernetes" created.
6、授予userkubectl cluster-admin权限  可根据不同授权给予创建role 或者cluserrole权限给用户
[root@k8s-master1]# kubectl create clusterrolebinding kubectl-bootstrap --clusterrole=cluster-admin --user=userkubelet
7、将生成的kubectl.kubeconfig文件复制至各节点的/root/.kube/下,并修改名字为config

注释:需要在各node节点上面查看是否设置了 $KUBECONFIG环境变量,如果设置了需要把kubectl.kubeconfig设置成环境变量下的文件
 


 



k8s 使用新增user配置kubectl在各个节点都可运行

标签:pem   复制   环境   ica   定义   script   user   font   文件复制   

原文地址:https://www.cnblogs.com/xiaopaipai/p/10212524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!