Kubernetes集群升级指南以及自动更新证书

k8s不要跨大版本升级,容易崩溃

(1)查看节点上运行的pod。

kubectl get pod -o wide |grep <nodename>

(2)查看集群配置文件。

kubectl -n kube-system get cm kubeadm-config -o yaml

(3)查看当前集群节点。

kubectl get node

升级kubeadm

master节点

编辑文件cd /etc/yum.repos.d vim kubernetes.repo(每个要升级的节点都要改,)

yum update -y kubeadm

查看版本kubeadm version

检查你的 Kubernetes 集群能不能升级:kubeadm upgrade plan

执行这个命令升级

腾空节点,即将节点上除守护进程之外的其他进程调度到其他节点,同时将开启调度保护:

kubectl drain k8s-master --ignore-daemonsets

升级kubelet与kubectl组件 :yum update -y kubelet(每个节点都要升级)

重启 kubelet :(每个节点都要重启)

systemctl daemon-reload

systemctl restart kubelet

kubectl get node

(SchedulingDisabled:显示这个节点已经被标记为「不可调度」,新的 Pod 不会再被分配到它上面)

升级node节点(在master节点进行):kubeadm upgrade node

解除调度保护:kubectl uncordon k8s-master

worker节点

cd /etc/yum.repos.d 》 vim kubernetes.repo (更改版本号) 》 kubectl drain k8s-node1 --ignore-daemonsets 》 yum update -y kubelet 》 yum update -y kubectl 》 systemctl daemon-reload 》 systemctl restart kubelet 》 kubectl uncordon k8s-node1

kubectl get node

确认哪些证书即将过期:kubeadm certs check-expiration

(更改时间 date -s "20270101")

证书过期

更新之后要将 cd /etc/kubernetes/ ls cat admin.conf > ~/.kube/config

这样就可以正常查看了

(同步时间 systemctl restart chronyd.service)

相关推荐
运维开发故事2 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson4 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
阿里云云原生4 天前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生4 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美4 天前
从edge-trigger到level-trigger,谈谈 Kubernetes controller 的开发范式
云原生
阿里云云原生5 天前
深度解构:当 Append-only 的 SLS 遇上 Update/Delete,是如何实现设计权衡的?
云原生
Java之美5 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
秋播5 天前
nerdctl推送rancher本地镜像到harbor
云原生