|NO.Z.00100|——————————|^^ 升级 ^^|——|KuberNetes&二进制升级.V11|——|kubernetes_Master|kubelet.v1.17.0——>v1.19.5|
一、kubernetes升级kubelet.v1.17.0——>v1.19.5
### --- 下线kubernetes.node节点:k8s-master01
~~~ # 下线node节点k8s-master01:把k8s-master01设置成不可调度状态
~~~ 注:--delete-local-data:将本地数据删除掉
~~~ 注:--ignore-daemonsets:将daemonsets忽略掉; 在创建daemonsets容器的时候会给pod打一个标签,ischeduling的一个标签
~~~ 注:drain:也是给node节点的ischeduling标签,master02有这个标签,而--ignore-daemonsets容忍了这个标签,它会一直在上面运行,变成死循环,所以把daemonset忽略掉
~~~ 注:绑定节点,不用去漂移,直接重启即可。
[root@k8s-master01 ~]# kubectl drain k8s-master01 --delete-local-data --force --ignore-daemonsets
node/k8s-master01 cordoned
### --- 查看节点的状态
~~~ 注:k8s-master02处于不可调度状态
[root@k8s-master01 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready,SchedulingDisabled <none> 54d v1.17.0
k8s-master02 Ready <none> 54d v1.17.0
k8s-master03 Ready <none> 54d v1.17.0
k8s-node01 Ready <none> 54d v1.17.0
k8s-node02 Ready <none> 54d v1.17.0
### --- 查看k8s-master02上是否运行容器
~~~ 注:k8s-master01节点的pod全部驱逐
[root@k8s-master01 ~]# kubectl get po --all-namespaces -owide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default busybox 1/1 Running 33 54d 172.18.195.39 k8s-master03 <none> <none>
default demo-nginx-6bdcdcc585-f574t 2/2 Running 0 2m38s 172.18.195.43 k8s-master03 <none> <none>
default demo-nginx-6bdcdcc585-z9h5r 2/2 Running 2 3d 172.25.92.115 k8s-master02 <none> <none>
default nginx-78658dcf78-87gqv 2/2 Running 12 3d 172.18.195.40 k8s-master03 <none> <none>
default nginx-78658dcf78-v98kz 2/2 Running 26 3d2h 172.25.92.116 k8s-master02 <none> <none>
二、kubernetes.node节点升级kubelet:k8s-master01
### --- 查看kubelet版本
[root@k8s-master01 ~]# /usr/local/bin/kubelet --version
Kubernetes v1.17.0
### --- 停止运行kubelet服务
[root@k8s-master01 ~]# systemctl stop kubelet
### --- 备份kubelet服务
[root@k8s-master01 ~]# which kubelet
/usr/local/bin/kubelet
[root@k8s-master01 ~]# mkdir /usr/local/bin/kubelet.bak
[root@k8s-master01 ~]# cp /usr/local/bin/kubelet /usr/local/bin/kubelet.bak/
### --- 升级kubelet服务
[root@k8s-master01 ~]# cp -rp upgrade/master/kubernetes/server/bin/kubelet /usr/local/bin/
cp: overwrite ‘/usr/local/bin/kubelet’? y
### --- 查看kubelet版本
[root@k8s-node01 ~]# /usr/local/bin/kube-proxy --version
Kubernetes v1.19.5
### --- 启动kubelet服务
[root@k8s-master01 ~]# systemctl daemon-reload
[root@k8s-master01 ~]# systemctl restart kubelet
三、将kubernetes.node节点k8s-master01加入到集群中
### --- 上线node节点k8s-master01加入到集群中
[root@k8s-master01 ~]# kubectl uncordon k8s-master01
node/k8s-master01 uncordoned
### --- 查看kubernetes集群kubelet版本
~~~ 注:k8s-master01版本的kubelet版本为v1.19.5,其它节点版本号没有发生变化
[root@k8s-master01 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready <none> 54d v1.19.5
k8s-master02 Ready <none> 54d v1.17.0
k8s-master03 Ready <none> 54d v1.17.0
k8s-node01 Ready <none> 54d v1.17.0
k8s-node02 Ready <none> 54d v1.17.0
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?