v1.14.3
更新证书
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
验证集群是否恢复正常
1
kennylam777 2020-07-10 22:10:38 +08:00
都用上了 Ansible, 不如考慮 kubespray?
|
2
0312birdzhang 2020-07-10 23:37:49 +08:00 via iPhone
记得 kubeadm 可以更新集群的证书啊
|