盗版小说网站怎么做的,如何联系网站站长,wordpress开放用户注册,做网站一定要用cms目录
一、理论
1.K8S集群升级
2.环境
3.升级策略
4.master1节点迁移容器运行时(docker → containerd)
5.master2节点迁移容器运行时(docker → containerd)
6.node1节点容器运行时迁移(docker → containerd)
7.升级集群计划#xff08;v1.23.14 → v1.24.1#…目录
一、理论
1.K8S集群升级
2.环境
3.升级策略
4.master1节点迁移容器运行时(docker → containerd)
5.master2节点迁移容器运行时(docker → containerd)
6.node1节点容器运行时迁移(docker → containerd)
7.升级集群计划v1.23.14 → v1.24.1
8.升级master1节点版本v1.24.1
9.升级master2节点版本v1.24.1
10.升级node1节点版本v1.24.1
11.验证集群v1.24.1
二、实验
1. 环境
2.master1节点迁移容器运行时(docker → containerd)
3.master2节点迁移容器运行时(docker → containerd)
4.node1节点迁移容器运行时(docker → containerd)
5.升级集群计划v1.23.14 → v1.24.1
6.升级master1节点版本v1.24.1
7.升级 master2节点版本v1.24.1
8.升级 node1节点版本v1.24.1
9.验证集群v1.24.1 一、理论
1.K8S集群升级
1概念 搭建K8S集群的方式有很多种比如二进制kubeadmRKERancher等K8S集群升级方式也各有千秋目前准备使用kubeadm方式搭建的k8s集群升级方法。 需要注意的是升级集群版本建议逐步升级比如v1.21.1–v1.22.1–v1.23.1–v1.24.1不能跨度过大否则会报错。
2.环境
1主机容器运行时
表1 主机容器运行时
主机架构当前容器运行时目标容器运行时IPmaster1K8S master节点docker 20.10.6containerd 1.6.24192.168.204.180master2K8S master节点docker 20.10.6containerd 1.6.24192.168.204.181node1K8S node节点docker 20.10.6containerd 1.6.24192.168.204.182 2主机 集群版本
表2 主机集群版本
主机架构当前版本目标版本IPmaster1K8S master节点v1.23.14v1.24.1192.168.204.180master2K8S master节点v1.23.14v1.24.1192.168.204.181node1K8S node节点v1.23.14v1.24.1192.168.204.182
3.升级策略
1升级策略1
先迁移容器运行时为containerd
docker → containerd
2升级策略2
然后升级集群版本到v1.24.1
v1.23.14 → v1.24.1 4.master1节点迁移容器运行时(docker → containerd)
1确定迁移容器运行时
可以看到目前的容器运行时是docker 20.10.6。
kubectl get nodes -owide #查看容器运行时
2迁移master1
kubectl drain master1 --delete-emptydir-data --force --ignore-daemonsets #对k8s控制节点xianchaomaster1进行drain
3关闭并卸载Docker
systemctl disable docker --now #先启动dockeryum remove docker-ce docker-ce-cli -y #卸载
4安装并配置containerd
yum install containerd.io cri-tools -y # 安装crictl config runtime-endpoint unix:///var/run/containerd/containerd.sockcontainerd config default /etc/containerd/config.toml #生成配置文件vim /etc/containerd/config.toml #使用vim编辑器打开分别搜素mirrors、sandbox、SystemdCgroup并修改
5重启containerd服务
systemctl enable containerd ; systemctl restart containerd # 重启systemctl status containerd # 查看服务状态
6配置并启动kubelet
vim /etc/sysconfig/kubelet #设置kubelet启动参数systemctl restart kubelet #重启kubelet服务
(7)对master节点进行uncordon
kubectl uncordon master1 #解除维护
8验证
kubectl get nodes -owide #验证是否把容器运行时由docker迁移到containerd
5.master2节点迁移容器运行时(docker → containerd)
1确定迁移容器运行时
可以看到目前的容器运行时是docker 20.10.6。
kubectl get nodes -owide #查看容器运行时
2迁移master2
kubectl drain master2 --delete-emptydir-data --force --ignore-daemonsets #对k8s控制节点xianchaomaster1进行drain
3关闭并卸载Docker
systemctl disable docker --now #先启动dockeryum remove docker-ce docker-ce-cli -y #卸载
4安装并配置containerd
yum install containerd.io cri-tools -y # 安装crictl config runtime-endpoint unix:///var/run/containerd/containerd.sockcontainerd config default /etc/containerd/config.toml #生成配置文件vim /etc/containerd/config.toml #使用vim编辑器打开分别搜素mirrors、sandbox、SystemdCgroup并修改
5重启containerd服务
systemctl enable containerd ; systemctl restart containerd # 重启systemctl status containerd # 查看服务状态
6配置并启动kubelet
vim /etc/sysconfig/kubelet #设置kubelet启动参数systemctl restart kubelet #重启kubelet服务
(7)对master2节点进行uncordon
kubectl uncordon master2 #解除维护
8验证
kubectl get nodes -owide #验证是否把容器运行时由docker迁移到containerd 6.node1节点容器运行时迁移(docker → containerd)
(1) 迁移node1节点
kubectl drain node1 --delete-emptydir-data --force --ignore-daemonsets #对k8s工作节点xianchaonode1进行drain
(2)关闭并卸载Docker
systemctl disable docker --now # 关闭yum remove docker-ce docker-ce-cli -y # 卸载
3安装并配置containerd
yum install containerd.io cri-tools -y #安装crictl config runtime-endpoint unix:///var/run/containerd/containerd.sock # 配置containerd config default /etc/containerd/config.toml #生成配置文件vim /etc/containerd/config.toml #使用vim编辑器打开,分别搜素mirrors、sandbox、SystemdCgroup并修改
4重启containerd服务 systemctl enable containerd ; systemctl restart containerd # 重启
5配置并启动kubelet
vim /etc/sysconfig/kubelet #设置kubelet启动参数systemctl restart kubelet #重启kubelet服务kubectl get nodes -owide #查看pod
6对node1节点进行uncordon kubectl uncordon node1 #解除维护
7验证
kubectl get nodes -owide #验证是否把容器运行时由docker迁移到containerd
8查看
kubectl get pods -n kube-system #查看集群 7.升级集群计划v1.23.14 → v1.24.1
1查看集群 kubectl get nodes -owide # 查看集群版本2修改master1节点kubelet参数
kubectl edit nodes master1 #修改systemctl restart kubelet #重启 3修改master2节点kubelet参数
kubectl edit nodes master2 #修改systemctl restart kubelet #重启 4修改node1节点kubelet参数
kubectl edit nodes node1 #修改systemctl restart kubelet #重启
(5)确定升级版本
# 执行如下命令确定升级版本
yum list --showduplicates kubeadm --disableexcludeskubernetes我的目标版本是1.24.1-0。 8.升级master1节点版本v1.24.1
1在k8s控制节点master1安装kubeadm1.24.1
yum install -y kubeadm-1.24.1-0 --disableexcludeskubernetes
2腾空控制节点master1
kubectl drain master1 --delete-emptydir-data --force --ignore-daemonsets
3升级控制节点master1各个组件
kubeadm upgrade apply v1.24.1
4升级kubectl和kubelet到1.24.1
yum install -y kubelet-1.24.1-0 kubectl-1.24.1-0 --disableexcludeskubernetes
5修改kubelet参数
vim /var/lib/kubelet/kubeadm-flags.env
6重启kubelet
systemctl daemon-reload; systemctl restart kubelet
7解除master1的节点维护 kubectl uncordon master1
8查看节点状态
kubectl get nodes
9.升级master2节点版本v1.24.1 1在k8s控制节点master1安装kubeadm1.24.1
yum install -y kubeadm-1.24.1-0 --disableexcludeskubernetes
2腾空控制节点master1
kubectl drain master2 --delete-emptydir-data --force --ignore-daemonsets
3升级控制节点master1各个组件
kubeadm upgrade apply v1.24.1
4升级kubectl和kubelet到1.24.1
yum install -y kubelet-1.24.1-0 kubectl-1.24.1-0 --disableexcludeskubernetes
5修改kubelet参数
vim /var/lib/kubelet/kubeadm-flags.env
6重启kubelet
systemctl daemon-reload; systemctl restart kubelet
7解除master1的节点维护 kubectl uncordon master2
8查看节点状态
kubectl get nodes
10.升级node1节点版本v1.24.1 1在k8s工作节点node1安装kubeadm1.24.1
yum install -y kubeadm-1.24.1-0 --disableexcludeskubernetes
2腾空控制节点master1
kubectl drain node1 --delete-emptydir-data --force --ignore-daemonsets
3升级node1上的kubelet kubeadm upgrade node
4修改kubelet参数
vim /var/lib/kubelet/kubeadm-flags.env
5升级kubelet和kubectl
yum install -y kubelet-1.24.1-0 kubectl-1.24.1-0 --disableexcludeskubernetes
6重启kubelet
systemctl daemon-reload; systemctl restart kubelet
7解除node11的节点维护 kubectl uncordon node1 11.验证集群v1.24.1
(1)验证集群状态是否正常
kubectl get nodes# 结果如下
[rootmaster1 ~]# kubectl get nodes版本均已升级到 v1.24.1。
(2) 查看集群服务状态
kubectl get pods -n kube-system 二、实验
1. 环境
1主机容器运行时
表1 主机容器运行时
主机架构当前容器运行时目标容器运行时IPmaster1K8S master节点docker 20.10.6containerd 1.6.24192.168.204.180master2K8S master节点docker 20.10.6containerd 1.6.24192.168.204.181node1K8S node节点docker 20.10.6containerd 1.6.24192.168.204.182 2主机 集群版本
表2 主机集群版本
主机架构当前版本目标版本IPmaster1K8S master节点v1.23.14v1.24.14192.168.204.180master2K8S master节点v1.24.14v1.24.14192.168.204.181node1K8S node节点v1.24.14v1.24.14192.168.204.182
2.master1节点迁移容器运行时(docker → containerd) 1确定迁移容器运行时
可以看到目前的容器运行时是docker 20.10.6。
2迁移master1
3关闭并卸载Docker
先启动docker再卸载 4安装并配置containerd
① 安装 ② 生成配置文件 ③ 使用vim编辑器打开 ④第一步搜素mirrors并修改原来一行变三行
修改前 修改后 ⑤ 第二步搜索sandbox并修改。
修改前 修改后
⑥ 第三步搜索SystemdCgroup并修改。
修改前 修改后 5重启containerd服务
① 重启 ②查看服务 6配置并启动kubelet
① 设置 ②修改 ③ 重启kubelet服务 ④这时查看podmaster1为SchedulingDisabled容器运行时还未更新 (7)对master1节点进行uncordon
8验证此时master1可以调度
3.master2节点迁移容器运行时(docker → containerd)
1迁移master2
2关闭并卸载Docker
先启动 卸载 4安装并配置containerd
① 安装 ② ⑩配置 ③ 生成配置文件 ④ 使用vim编辑器打开 ⑤第一步搜素mirrors并修改原来一行变三行 ⑥第二步搜索sandbox并修改。 ⑦ 第三步搜索SystemdCgroup并修改。 5重启containerd服务
① 重启 ② 查看服务 6配置并启动kubelet
①设置 ② 修改 ③ 重启 ④ 这时查看podmaster2为SchedulingDisabled容器运行时已更新 (7)对master2节点进行uncordon
8验证此时master2可以调度 4.node1节点迁移容器运行时(docker → containerd)
(1) 迁移node1节点
(2)关闭并卸载Docker
关闭并卸载 3安装并配置containerd
① 安装 ② 配置 ③生成配置文件 ④ 使用vim编辑器打开 ⑤ 第一步搜素mirrors并修改原来一行变三行。 ⑥第二步搜索sandbox并修改。 ⑦ 第三步搜索SystemdCgroup并修改。 4重启containerd服务
① 重启
② 查看服务 5配置并启动kubelet
① 设置 ② 这时查看podnode1为SchedulingDisabled容器运行时已更新 6对node节点进行uncordon
7验证 此时node1可以调度
8查看 5.升级集群计划v1.23.14 → v1.24.1
1确定升级版本
可以看到目前的版本是v1.23.14。
2修改节点kubelet参数在runtime由docker迁移到containerd之后做
①修改master1节点 修改前 修改后 ②重启 ③修改master2节点 修改前 修改后 ④重启 ⑤修改node1节点 修改前 修改后 ④重启 (3)确定升级计划
执行如下命令确定升级版本 我的目标版本是1.24.1-0。 6.升级master1节点版本v1.24.1
1在k8s控制节点master1安装kubeadm1.24.1 2腾空控制节点master1 3升级控制节点master1各个组件 成功 4升级kubectl和kubelet到1.24.1 5修改kubelet参数 修改前 修改后 6重启kubelet 7解除master1的节点维护 8查看节点状态(master1已升级为v1.24.1) 7.升级 master2节点版本v1.24.1
1在k8s控制节点master2安装kubeadm1.24.1 2腾空控制节点master2 3升级master2节点 成功 4升级kubectl和kubelet到1.24.1 5修改kubelet参数 修改前 修改后 6重启kubelet 7查看节点状态(master1和master2都已升级为v1.24.1) 8.升级 node1节点版本v1.24.1
(1)在node1节点上安装kubeadm 1.24.1 2腾空节点node1驱逐node1的pod 3升级node1上的kubelet 4修改kubelet变量 修改前 修改后 5升级kubelet和kubectl 6解除对node1的保护 9.验证集群v1.24.1
(1)验证集群状态是否正常
版本均已升级到 v1.24.1。
(2) 查看集群服务状态