更新时间:2024-09-11 GMT+08:00
如何精细化管理集群联邦权限?
- 如果您在访问联邦资源时出现如下错误提示,说明您没有对应资源的操作权限,请您向您的管理员申请授予对应的权限,创建对应的Role/RoleBinding或者ClusterRole/ClusterRolebinding权限。
- 如果出现“no such host”问题,请按以下步骤进行排查:
查询VPCEP节点是否存在,是否被误删,使用以下命令获取 vpcep 终端节点 id:
server=`cat config | jq '.clusters[0].cluster.server'` echo ${server:15:36}
检查上述终端节点是否存在,如果存在,检查执行机是否和 VPCEP 终端节点位于同一VPC中,二者之间网络是否连通。
- 如果出现“You must be logged in to the server (Unauthorized)”问题,请按以下步骤检查:
- 校验证书是否有误:
将证书保存至临时文件中。
cd ~/.kube cat config | jq '.clusters[0].cluster."certificate-authority-data"' | tr -d '"' | base64 -d > ca.crt cat config | jq '.users[0].user."client-certificate-data"' | tr -d '"' | base64 -d > tls.crt cat config | jq '.users[0].user."client-key-data"' | tr -d '"' | base64 -d > tls.key
进行校验。openssl verify -CAfile ca.crt tls.crt
如果输出"tls.crt: OK"说明CA无误,否则需要重新下载kubeconfig。
- 输入如下命令,检查证书公钥和私钥是否匹配:
diff -eq <(openssl x509 -pubkey -noout -in tls.crt) <(openssl rsa -pubout -in tls.key)
如果输出"writing RSA key",说明证书公钥和私钥匹配,否则说明不匹配,需要重新下载kubeconfig,验证完毕后删除临时文件:rm -f ca.crt tls.crt tls.key
- 检查证书是否过期。
首先保存证书到临时文件:
cd ~/.kube cat config | jq '.users[0].user."client-certificate-data"' | tr -d '"' | base64 -d > tls.crt
查看证书有效期。openssl x509 -noout -text -in tls.crt | grep -E "Not Before|Not After"
会输出如下图所示的证书有效区间,请确认当前证书是否在有效期内,如果过期请重新下载 kubeconfig,并删除临时文件。rm -f tls.crt
- 校验证书是否有误:
父主题: 权限相关