原因:
由于之前部署集群只配置了内网的访问入口,现想通过公网访问k8s集群,使用原有的证书不允许,报错如下:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='10.10.10.10', port=8443): Max retries exceeded with url: /api/v1/pods?watch=False (Caused by SSLError(SSLCertVerificationError("hostname '10.10.10.10' doesn't match either of 'kubernetes', 'kubernetes.default', 'kubernetes.default.svc', 'kubernetes.default.svc.cluster', 'kubernetes.default.svc.cluster.local', '127.0.0.1', '172.17.6.1', '172.17.6.1', '10.68.0.1'")))
需要重新生成k8s 证书
1.修改kubernetes-csr.json 文件
2.重新生成证书:
cfssl gencert -ca=../ca.pem -ca-key=../ca-key.pem -config=../ca-config.json -profile=kubernetes kubernetes-csr.json |cfssljson -bare kubernetes
3.备份原有证书
4.拷贝新证书到/etc/kubernetes/ssl 目录
5.重启kube-apiserver
systemctl restart kube-apiserver.service
6.查看状态
systemctl status kube-apiserver.service
7.验证
因之前部署的k8s集群只配置内网访问入口,现要通过公网访问,原证书不允许,需重新生成k8s证书。步骤包括修改kubernetes - csr.json文件、重新生成证书、备份原有证书、拷贝新证书到指定目录、重启kube - apiserver、查看状态及验证。
1512

被折叠的 条评论
为什么被折叠?



