ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 创建admin管理员证书 ``` vi /opt/k8s/ssl/k8s_apiserver_admin.json { "CN": "admin", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "GuangXi", "L": "Nanning", "O": "system:masters", "OU": "System" } ] } ​ # 后续 kube-apiserver 使用 RBAC 对客户端(如 kubelet、kube-proxy、Pod)请求进行授权; # kube-apiserver 预定义了一些 RBAC 使用的 RoleBindings,如 cluster-admin 将 Group system:masters 与 Role cluster-admin 绑定,该 Role 授予了调用kube-apiserver 的所有 API的权限; # OU 指定该证书的 Group 为 system:masters,kubelet 使用该证书访问 kube-apiserver 时 ,由于证书被 CA 签名,所以认证通过,同时由于证书用户组为经过预授权的 system:masters,所以被授予访问所有 API 的权限 ​ cd /opt/k8s/ssl/ ​ # 创建证书 cfssl gencert -ca=/opt/ssl/k8s/k8s-ca.pem -ca-key=/opt/ssl/k8s/k8s-ca-key.pem \ -config=/opt/k8s/ssl/ca-config.json \ -profile=kubernetes /opt/k8s/ssl/k8s_apiserver_admin.json | cfssljson -bare k8s_apiserver_admin ​ ```