做汽车精品的网站,厦门上网站设计建设,凤岗网,简介网络营销的概念目录 一、理论
1.K8S集群升级
2.环境
3.升级集群#xff08;v1.23.14#xff09;
4.验证集群#xff08;v1.23.14#xff09;
二、实验
1. 环境
2.升级集群#xff08;v1.23.14#xff09;
2.验证集群#xff08;v1.23.14#xff09; 一、理论
1.K8S集群升级 …目录 一、理论
1.K8S集群升级
2.环境
3.升级集群v1.23.14
4.验证集群v1.23.14
二、实验
1. 环境
2.升级集群v1.23.14
2.验证集群v1.23.14 一、理论
1.K8S集群升级
1概念 搭建K8S集群的方式有很多种比如二进制kubeadmRKERancher等K8S集群升级方式也各有千秋目前准备使用kubeadm方式搭建的k8s集群升级方法。 需要注意的是升级集群版本建议逐步升级比如v1.20.4–v1.21.4–v1.22.4–v1.23.4–v1.24.4不能跨度过大否则会报错。
2.环境
1主机
表1 主机
主机架构当前版本目标版本IPmaster1K8S master节点v1.22.14v1.23.14192.168.204.180master2K8S master节点v1.22.14v1.23.14192.168.204.181node1K8S node节点v1.22.14v1.23.14192.168.204.182
3.升级集群v1.23.14
升级策略为直接升级到v1.23.14
v1.22.14–v1.23.14
1确定升级版本
可以看到目前的版本是v1.22.14。
kubectl get nodes # 查看集群版本NAME STATUS ROLES AGE VERSION
master1 Ready control-plane,master 95d v1.22.14
master2 Ready control-plane,master 95d v1.22.14
node1 Ready worker 95d v1.22.14
# 执行如下命令确定升级版本
yum list --showduplicates kubeadm --disableexcludeskubernetes我的目标版本是1.23.14-0。
2升级Master
①所有 master 节点操作
# 升级kubeadm
yum install -y kubeadm-1.23.14-0 --disableexcludeskubernetes # --disableexcludeskubernetes禁掉除了这个kubernetes之外的别的仓库# 升级完成后验证版本
kubeadm version② 升级 master1 节点
# 验证升级计划。检查当前集群是否可被升级
kubeadm upgrade plan最高可以升级到 v1.21.14版本正好与我们的目标版本一致只要可允许升级的最高版本高于你的目标版本就可以升级。
注意kubeadm upgrade命令也会自动对kubeadm在节点上所管理的证书执行续约操作。如果需要略过证书续约操作可以使用
标志--certificate-renewalfalse。
确定集群升级目标版本并且查看升级计划符合条件后就可以在 master1 节点上执行升级集群的命令了
# 将 master1 升级到目标版本
kubeadm upgrade apply v1.23.14③ 升级 master2节点
master2节点操作
升级master2节点与 master1 节点相同但是使用下面的命令而不是kubeadm upgrade apply命令。
kubeadm upgrade node④升级kubectl和kubelet
两台 master 节点操作操作顺序master1——master2 分别在两台master节点上执行如下操作注意更改节点名称。
# 1.将当前节点标记为不可调度并驱逐节点上的Pod
kubectl drain 节点名称 --ignore-daemonsets --delete-emptydir-data
##说明
## --ignore-daemonsets 无视DaemonSet管理下的Pod。即--ignore-daemonsets往往需要指定的,这是
#因为deamonset会忽略unschedulable标签(使用kubectl drain时会自动给节点打上不可调度标签),
#由于deamonset控制器控制的pod被删除后可能马上又在此节点上启动起来,这样就会成为死循环。因此
#这里忽略daemonset。# 2.升级kubelet和kubectl组件
yum install -y kubelet-1.23.14-0 kubectl-1.23.14-0 --disableexcludeskubernetes ## 说明 --disableexcludeskubernetes禁掉除了这个kubernetes之外的别的仓库# 3.重启kubelet
systemctl daemon-reload
systemctl restart kubelet# 4.恢复当前节点上的Pod调度使其上线
kubectl uncordon 节点名称此时查看节点版本发现两台master节点已经升级完毕。
[rootmaster1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master1 Ready control-plane,master 95d v1.23.14
master2 Ready control-plane,master 95d v1.23.14
node1 Ready worker 95d v1.22.14接下来升级node节点。
3 升级 node
工作节点上的升级过程应该一次执行一个节点或者一次执行几个节点以不影响运行工作负载所需的最小容量。 由于我的集群中只有一个worker节点所以这里只在一台机器上操作如果你的集群中有多个node节点每个节点都需要操作。
# 升级kubeadm
yum install -y kubeadm-1.23.14-0 --disableexcludeskubernetes
# 查看版本
kubeadm version# 升级 node 节点
kubeadm upgrade node# 设置节点不可调度并排空节点。只有1个worker节点时忽略此步因为可能会报错
kubectl drain node1 --ignore-daemonsets# 升级kubelet和kubectl组件
yum install -y kubelet-1.23.14-0 kubectl-1.23.14-0 --disableexcludeskubernetes# 重启kubelet
systemctl daemon-reload
systemctl restart kubelet# 恢复当前节点上的Pod调度。只有1个worker节点时忽略此步
kubectl uncordon node1 # node1 为worker节点名称4.验证集群v1.23.14
(1)验证集群状态是否正常
kubectl get nodes# 结果如下
[rootmaster1 ~]# kubectl get nodes版本均已升级到 v1.23.14。
(2) 查看节点详细信息
kubectl get nodes -o wide 二、实验
1. 环境
1主机
表1 主机
主机架构当前版本目标版本IPmaster1K8S master节点v1.22.14v1.23.14192.168.204.180master2K8S master节点v1.22.14v1.23.14192.168.204.181node1K8S node节点v1.22.14v1.23.14192.168.204.182 2.升级集群v1.23.14
1确定升级版本
可以看到目前的版本是v1.22.14。
执行如下命令确定升级版本 我的目标版本是1.23.14-0。
2升级Master
①所有 master 节点操作 升级kubeadm 升级完成后验证版本 ② 升级 master1 节点
验证升级计划。检查当前集群是否可被升级 最高可以升级到 v1.23.17 版本包含目标版本只要可允许升级的最高版本高于你的目标版本就可以升级。
注意kubeadm upgrade命令也会自动对kubeadm在节点上所管理的证书执行续约操作。如果需要略过证书续约操作可以使用
标志--certificate-renewalfalse。
确定集群升级目标版本并且查看升级计划符合条件后就可以在 master1 节点上执行升级集群的命令了 成功 ③ 升级 master2节点
master2节点操作
升级master2节点与 master1 节点相同但是使用下面的命令kubeadm upgrade node 而不是kubeadm upgrade apply命令。
升级kubeadm 升级完成后验证版本 升级master2节点 成功 ④升级kubectl和kubelet
两台 master 节点操作操作顺序master1——master2 分别在两台master节点上执行如下操作注意更改节点名称。
1master1节点
将当前节点标记为不可调度并驱逐节点上的Pod 升级kubelet和kubectl组件 重启kubelet 恢复当前节点上的Pod调度使其上线 查看节点版本发现一台master节点已经升级完毕。 2master2节点
将当前节点标记为不可调度并驱逐节点上的Pod 升级kubelet和kubectl组件
重启kubelet 恢复当前节点上的Pod调度使其上线 此时查看节点版本发现两台master节点已经升级完毕。
接下来升级node节点。
3 升级 node
工作节点上的升级过程应该一次执行一个节点或者一次执行几个节点以不影响运行工作负载所需的最小容量。 由于我的集群中只有一个worker节点所以这里只在一台机器上操作如果你的集群中有多个worker节点每个节点都需要操作。
① 升级kubeadm ② 查看版本 ③升级 node 1节点 ④ 设置节点不可调度并排空节点。只有1个worker节点时忽略此步因为可能会报错 ⑤升级kubelet和kubectl组件 ⑥ 重启kubelet ⑦恢复当前节点上的Pod调度。只有1个node节点时忽略此步 2.验证集群v1.23.14
(1)验证集群状态是否正常
版本均已升级到 v1.23.14。
(2) 查看节点详细信息