|NO.Z.00101|——————————|^^ 升級 ^^|——|KuberNetes&二進位制升級.V12|-----------------------|kubernetes_Node|kubelet.v1.17.0——>v1.19.5|
阿新 • • 發佈:2022-03-29
[CloudNative:KuberNetes&二進位制升級.V12] [Applications.KuberNetes] [|DevOps|kubernetes|二進位制升級|kubernetes.v1.17.0——>v1.19.5|] [node元件|kubelet.v1.17.0——>v1.19.5|kube-proxy.v1.17.0——>v1.19.5|]
一、升級相關節點kubelet服務kubelet.v1.17.0——>v1.19.5
### --- 下線kubernetes.node節點 ~~~ 檢視叢集各節點版本狀態 ~~~ 注:升級其它的四個節點kubelet版本 [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
### --- 下線node節點k8s-master02:把k8s-master02設定成不可排程狀態
[root@k8s-master02 ~]# kubectl drain k8s-master02 --delete-local-data --force --ignore-daemonsets
二、kubernetes.node節點升級kubelet服務
### --- 檢視kubelet版本
[root@k8s-master02 ~]# /usr/local/bin/kubelet --version
Kubernetes v1.17.0
### --- 停止執行kubelet服務 [root@k8s-master02 ~]# systemctl stop kubelet
### --- 備份kubelet服務
[root@k8s-master02 ~]# which kubelet
/usr/local/bin/kubelet
[root@k8s-master02 ~]# mkdir /usr/local/bin/kubelet.bak
[root@k8s-master02 ~]# cp /usr/local/bin/kubelet /usr/local/bin/kubelet.bak/
### --- 升級kubelet服務
[root@k8s-master01 ~]# scp upgrade/master/kubernetes/server/bin/kubelet k8s-master02:/usr/local/bin/
kubelet
### --- 檢視kubelet版本
[root@k8s-node02 ~]# /usr/local/bin/kubelet --version
Kubernetes v1.19.5
### --- 啟動kubelet服務
[root@k8s-master02 ~]# systemctl daemon-reload
[root@k8s-master02 ~]# systemctl start kubelet
三、將kubernetes.node節點加入到kubernetes叢集中
### --- 上線node節點到kubernetes叢集中
~~~ 根據以上方案升級其它所有未升級的節點
[root@k8s-master01 ~]# kubectl uncordon k8s-master02
node/k8s-master01 uncordoned
### --- 檢視kubernetes叢集kubelet版本
~~~ 注:檢視kubelet的版本是否均已升級為v1.19.5版本
[root@k8s-master01 ~]# kubectl get node -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master01 Ready <none> 54d v1.19.5 192.168.1.11 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 docker://19.3.15
k8s-master02 Ready <none> 54d v1.19.5 192.168.1.12 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 docker://19.3.15
k8s-master03 Ready <none> 54d v1.19.5 192.168.1.13 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 docker://19.3.15
k8s-node01 Ready <none> 54d v1.19.5 192.168.1.14 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 docker://19.3.15
k8s-node02 Ready <none> 54d v1.19.5 192.168.1.15 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 docker://19.3.15
四、叢集可用性驗證
### --- 同一namespace下pod是否可以正常解析service
[root@k8s-master01 ~]# kubectl exec busybox -n default -- nslookup kubernetes
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: kubernetes
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local
### --- 跨namespace下pod是否正常解析service
[root@k8s-master01 ~]# kubectl exec busybox -n default -- nslookup kube-dns.kube-system
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: kube-dns.kube-system
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
===============================END===============================
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
來自為知筆記(Wiz)