Windows系统下如何获取Kubernetes kind集群的CA证书?
Windows环境kind集群获取CA证书签名用户证书方案
不需要切换到Minikube,你可以直接从kind的控制平面容器中导出CA证书和密钥,操作步骤如下:
步骤1:确认kind控制平面容器
执行命令查看当前运行的kind控制平面容器:
docker ps --filter "name=kind-control-plane"
默认单节点kind集群的控制平面容器名称为kind-control-plane,多节点集群会对应集群名称前缀。
步骤2:导出CA证书和密钥到本地
kind使用kubeadm部署集群,CA证书默认存储在控制平面节点的/etc/kubernetes/pki/路径下,执行以下命令将证书导出到Windows当前工作目录:
docker cp kind-control-plane:/etc/kubernetes/pki/ca.crt .\ca.crt docker cp kind-control-plane:/etc/kubernetes/pki/ca.key .\ca.key
步骤3:签名用户证书
使用导出的CA证书执行签名命令,和Minikube下的操作逻辑完全一致:
openssl x509 -req -in DevUser.csr -CA .\ca.crt -CAkey .\ca.key -CAcreateserial -out devuser.crt
可选便捷操作
如果不想每次导出CA文件,也可以直接调用kind控制平面容器内的openssl完成签名,省去文件导出步骤:
docker exec -i kind-control-plane openssl x509 -req -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial < DevUser.csr > devuser.crt
完成证书签名后,你就可以正常配置kubeconfig用户上下文、分配RBAC权限,完成包含多用户、Service、Deployment的本地测试环境搭建。
内容的提问来源于stack exchange,提问作者Cloud Learner
相关产品推荐
相关产品推荐

