kubeadm 创建 k8s 集群证书过期
- k8s 版本
v1.14.3 - os ubuntu 16.04
-
更新证书
kubeadm alpha certs renew all -
更新
kubeadm(因为apt源的因素,本文更新到v1.17.3最低可用版本未验证)apt update apt install kubeadm -
更新配置文件中的证书
kubeadm alpha certs renew admin.conf kubeadm alpha certs renew controller-manager.conf kubeadm alpha certs renew scheduler.conf -
查看证书有效期, 确保全部更新
kubeadm alpha certs check-expiration -
生成临时
token(需要 api-server 正常运行)注意: 在完成之前步骤中,经过不少尝试配置,因此可能会存在遗漏的配置
kubeadm token create $(kubeadm token generate) -
更新所有节点
bootstrap-kubelet.conf, 删除失效的kubelet.conf, 并重启节点上的kubelet将前一步生成的
token替换bootstrap-kubelet.conf中的token多节点建议用自动化工具(编者使用 ansible)- name: update kubelet bootstrap token replace: path: /var/lib/kubelet/kubeadm-flags.env regexp: 'old.token' replace: 'new.token' - name: remove the old kubelet.conf file: path: /etc/kubernetes/kubelet.conf state: absent - name: reload service kubelet, in all cases systemd: name: kubelet state: restarted -
更新 kubectl 配置
cp /etc/kubernetes/admin.conf ~/.kube/config -
验证集群是否恢复正常