记录:注册k8s cluster账号
用户注册流程基本和 Service Account 相似,区别在于用户是需要用证书与 role 绑定。
具体流程:
1). 用 open ssl 生成私钥和证书请求、并从 CA 生成证书
openssl genrsa -out vytyang.key 2048
openssl req -new -key vytyang.key -out vytyang.csr -subj "/CN=vytyang/O=hkgi-cluster-admins"
sudo openssl x509 -req -in vytyang.csr -CA /var/snap/microk8s/current/certs/ca.crt -CAkey /var/snap/microk8s/current/certs/ca.key -CAcreateserial -out vytyang.crt -days 365
2). 在 k8s 建立 clusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: hkgi-cluster-admins
# roleRef 声明赋予哪个 role 的权限
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
# subjects 声明赋予权限的证书账号
subjects:- apiGroup: rbac.authorization.k8s.iokind: Groupname: hkgi-cluster-admins
3). 设置 config,注明 CA、url、cluster 和 user
获取 CA base64:
cat /var/snap/microk8s/current/certs/ca.crt | base64