集群证书延期"/>
k8s集群证书延期
k8s集群证书延期
延期前有几个前提条件
1、kubeadm需要调整,修改证书过期时间,把时间延长到100年(如果不调整,就是默认1年)
2、ca.crt我这里是调整后的100年,在这就没在做调整
补充;kubelet延期未涉及
本次我的集群证书延期,是在这2个前提条件完全满足的情况下进行的
具体操作如下:
1、备份k8s全目录,/etc/kubernetes
cp -r /etc/kubernetes /etc/kubernetes-bak
2、备份kubelet的目录(当时备份时,由于是第一次搞,考虑到万一kubelet受到影响,崩溃了怎么办,索性一股脑的全部备份)
cp -r /var/lib/kubelet /var/lib/kubelet-bak
3、将集群现有的kubeadm的配置文件导出,最好是什么都不变,保持一致
kubectl describe cm -n kube-system kubeadm-config > ./kubeadm-config.yaml
修改kubeadm-config.yaml文件
apiServer:extraArgs:authorization-mode: Node,RBACtimeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: 172.22.xx.xx:6443 //这里需要调整
controllerManager: {}
dns:type: CoreDNS
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers /这里需要调整为自己的仓库地址
kind: ClusterConfiguration
kubernetesVersion: v1.17.0 //调整为自己的版本
networking:dnsDomain: cluster.local serviceSubnet: 10.96.0.0/16 //调整为自己的网段
scheduler: {}
4、重新生成证书
kubeadm alpha certs renew all --config=/root/kubeadm-config.yaml
5、检查证书期限是否已经延期为100年
kubeadm alpha certs check-expiration
6、需要更新配置文件
mv /etc/kubernetes/*.conf /root/
kubeadm init phase kubeconfig all --config=/root/kubeadm-config.yaml
7、然后重启 kube-apiserver,etcd,scheduler,controller 容器或者重启kubelet
注意:我没有遇到下边问题,但我还是贴出来。万一有人遇到了呢
如果重启kubelet后发现出现这样得报错 error: You must be logged in to the server (Unauthorized)。还得更改下权限(因为重新为组件分配了证书)echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile source ~/.bash_profile如果是非root用户:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
8、最后检查集群是否正常。
更多推荐
k8s集群证书延期
发布评论