






























作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
1.查看k8s集群版本
[root@master231 ~]# kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master231 Ready,SchedulingDisabled master 16h v1.33.1 10.0.0.231 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
master232 Ready,SchedulingDisabled master 16h v1.33.1 10.0.0.232 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
master233 Ready,SchedulingDisabled master 16h v1.33.1 10.0.0.233 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
worker66 Ready node 16h v1.33.1 10.0.0.66 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
worker77 Ready node 16h v1.33.1 10.0.0.77 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
[root@master231 ~]#
2.查看etcd状态
[root@master231 ~]# ETCDCTL_API=3 etcdctl --endpoints= https://10.0.0.231:2379,https://10.0.0.232:2379 ,https://10.0.0.233:2379 --cacert=/etc/kubernetes/ssl/ca.pem --cert=/etc/kubernetes/ssl/kubernetes.pem --key=/etc/kubernetes/ssl/kubernetes-key.pem endpoint health
https://10.0.0.232:2379 is healthy: successfully committed proposal: took = 16.450488ms
https://10.0.0.231:2379 is healthy: successfully committed proposal: took = 13.752167ms
https://10.0.0.233:2379 is healthy: successfully committed proposal: took = 15.409178ms
[root@master231 ~]#
[root@master231 ~]# ETCDCTL_API=3 etcdctl --endpoints= https://10.0.0.231:2379,https://10.0.0.232:2379 ,https://10.0.0.233:2379 --cacert=/etc/kubernetes/ssl/ca.pem --cert=/etc/kubernetes/ssl/kubernetes.pem --key=/etc/kubernetes/ssl/kubernetes-key.pem endpoint health -w table
+-------------------------+--------+-------------+-------+
| ENDPOINT | HEALTH | TOOK | ERROR |
+-------------------------+--------+-------------+-------+
| https://10.0.0.231:2379 | true | 24.369841ms | |
| https://10.0.0.233:2379 | true | 24.700832ms | |
| https://10.0.0.232:2379 | true | 27.282291ms | |
+-------------------------+--------+-------------+-------+
[root@master231 ~]#
[root@master231 ~]#
温馨提示:
同 Minor (1.33) 补丁版本跨 z 升级,kubeasz 支持滚动零停机升级。
升级顺序:Master 控制平面→ETCD→Worker 节点,自动驱逐 Pod 滚动重建业务
1.创建测试服务
[root@master231 ~]# cat > deploy-apps.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: yinzhengjie-app01
spec:
replicas: 3
selector:
matchLabels:
apps: v1
template:
metadata:
labels:
apps: v1
spec:
containers:
- name: c1
image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
EOF
[root@master231 ~]# kubectl apply -f deploy-apps.yaml
deployment.apps/yinzhengjie-app01 created
[root@master231 ~]#
2.查看pod
[root@master231 ~]# kubectl get pods -o wide -A
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default yinzhengjie-app01-9c78ddbdc-47qfl 1/1 Running 0 34s 192.168.65.130 worker66 <none> <none>
default yinzhengjie-app01-9c78ddbdc-9c57t 1/1 Running 0 34s 192.168.65.131 worker66 <none> <none>
default yinzhengjie-app01-9c78ddbdc-g9cn5 1/1 Running 0 34s 192.168.165.5 worker77 <none> <none>
kube-system calico-kube-controllers-654fb9bf6f-x7fvs 1/1 Running 36 (92m ago) 17h 192.168.65.129 worker66 <none> <none>
kube-system calico-node-2srnp 1/1 Running 1 (92m ago) 17h 10.0.0.233 master233 <none> <none>
kube-system calico-node-b7rp8 1/1 Running 1 (92m ago) 17h 10.0.0.232 master232 <none> <none>
kube-system calico-node-pdhvj 1/1 Running 1 (92m ago) 17h 10.0.0.231 master231 <none> <none>
kube-system calico-node-z27ph 1/1 Running 1 (92m ago) 17h 10.0.0.77 worker77 <none> <none>
kube-system calico-node-ztd47 1/1 Running 1 (92m ago) 17h 10.0.0.66 worker66 <none> <none>
kube-system coredns-5c4d969fb-d8zmd 1/1 Running 1 (92m ago) 17h 192.168.165.3 worker77 <none> <none>
kube-system metrics-server-74f6d6fdd5-c5clz 1/1 Running 1 (92m ago) 17h 192.168.165.4 worker77 <none> <none>
kube-system node-local-dns-6mw5c 1/1 Running 1 (92m ago) 17h 10.0.0.232 master232 <none> <none>
kube-system node-local-dns-7t6vh 1/1 Running 1 (92m ago) 17h 10.0.0.77 worker77 <none> <none>
kube-system node-local-dns-8z679 1/1 Running 1 (92m ago) 17h 10.0.0.231 master231 <none> <none>
kube-system node-local-dns-9pvf6 1/1 Running 1 (92m ago) 17h 10.0.0.233 master233 <none> <none>
kube-system node-local-dns-hbsvr 1/1 Running 1 (92m ago) 17h 10.0.0.66 worker66 <none> <none>
[root@master231 ~]#
[root@master231 ~]#
3.备份etcd数据
[root@ansible99 ~]# /etc/kubeasz/ezctl backup yinzhengjie-k8s
4.查看备份的数据
[root@ansible99 ~]# ll /etc/kubeasz/clusters/yinzhengjie-k8s/backup/
total 11952
drwxr-xr-x 2 root root 4096 Jun 4 03:30 ./
drwxr-xr-x 5 root root 4096 Jun 3 09:48 ../
-rw------- 1 root root 6111264 Jun 4 03:30 snapshot_202606040330.db
-rw------- 1 root root 6111264 Jun 4 03:30 snapshot.db
[root@ansible99 ~]#
1.下载软件包
[root@ansible99 ~]# wget https://dl.k8s.io/v1.33.11/kubernetes-server-linux-amd64.tar.gz
2.覆盖软件包
[root@ansible99 ~]# tar xf kubernetes-server-linux-amd64.tar.gz -C /etc/kubeasz/bin/ kubernetes/server/bin/{kube-apiserver,kube-controller-manager,kube-scheduler,kubectl,kubelet,kube-proxy} --strip-components=3
3.测试验证
[root@ansible99 ~]# /etc/kubeasz/bin/kubelet --version
Kubernetes v1.33.11
[root@ansible99 ~]#
[root@ansible99 ~]# /etc/kubeasz/bin/kubectl version
Client Version: v1.33.11
Kustomize Version: v5.6.0
Server Version: v1.33.1
[root@ansible99 ~]#
[root@ansible99 ~]# /etc/kubeasz/bin/kubectl version --client
Client Version: v1.33.11
Kustomize Version: v5.6.0
[root@ansible99 ~]#
参考链接:
https://github.com/easzlab/kubeasz/blob/master/docs/op/upgrade.md
实操案例:
1.切换当前所在集群为升级集群, 在kubeasz控制端执行dk ezctl checkout k8s-01
[root@ansible99 ~]# dk ezctl checkout yinzhengjie-k8s
2.在kubeasz控制端执行升级
[root@ansible99 ~]# dk ezctl upgrade yinzhengjie-k8s
3.测试验证升级后的版本
[root@master231 ~]# kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master231 Ready,SchedulingDisabled master 24h v1.33.11 10.0.0.231 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
master232 Ready,SchedulingDisabled master 24h v1.33.11 10.0.0.232 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
master233 Ready,SchedulingDisabled master 24h v1.33.11 10.0.0.233 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
worker66 Ready node 24h v1.33.11 10.0.0.66 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
worker77 Ready node 24h v1.33.11 10.0.0.77 <none> Ubuntu 24.04.4 LTS 6.8.0-117-generic containerd://2.1.1
[root@master231 ~]#
温馨提示:
Kubeasz这个项目的确能一键升级K8S版本,但是它的逻辑有问题,就是升级过程中,批量更新master节点,worker节点版本,并非滚动更新,生产环境中慎用。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。