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
验证集群是否恢复正常
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.