如何给apiserver证书添加san

2023-12-17  本文已影响0人  wwq2020

备份

cp -r /etc/kubernetes/pki /etc/kubernetes/pki.bak

通过如下方式获取原来的kubeadm.yaml

kubectl -n kube-system get configmap kubeadm-config -o jsonpath='{.data.ClusterConfiguration}' --kubeconfig=/etc/kubernetes/admin.conf > /tmp/kubeadm.yaml

修改kubeadm.yaml中的certSANs,添加新的san,比如127.0.0.1

...
  certSANs:
  - 127.0.0.1
...

重新生成apiserver证书

kubeadm init phase certs apiserver --config kubeadm.yaml

检查apiserver证书的san(X509v3 Subject Alternative Name下面一行)

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text

重启apiserver

docker ps|grep -E "kube-apiserver"| grep -v pause|awk '{print $1}'|xargs -I {} docker restart {}

补充

kubeadm init时候如果不指定InitConfiguration中的LocalAPIEndpoint的AdvertiseAddress,则使用/proc/net/route内第一个网络设备对应的ip
kubelet server证书在/var/lib/kubelet/pki/目录下,为kubelet-server-current.pem,软连接到实际的文件,如/var/lib/kubelet/pki/kubelet-server-2023-12-27-11-12-34.pem

上一篇下一篇

猜你喜欢

热点阅读