[CKA]考试之K8s 版本升级

 由于最新的CKA考试改版,不允许存储书签,本博客致力怎么一步步从官网把答案找到,如何修改把题做对,下面开始我们的 CKA之旅

题目为:

Task

现有的Kubernetes 集群正在运行版本1.22.0。仅将master节点上的所有 Kubernetes控制平面和节点组件升级到版本1.22.2。

确保在升级之前 drain master节点,并在升级后 uncordon master节点。

可以使用以下命令,通过ssh连接到master节点:

ssh k8s-master

可以使用以下命令,在该master节点上获取更高权限:

sudo -i

另外,在主节点上升级kubelet和kubectl。请不要升级工作节点,etcd,container 管理器,CNI插件, DNS服务或任何其他插件。

注意,如果题目要求先切换K8S环境,需执行K8S切换环境

分析做题步骤

1、打开官网(真实考试需要在官网的搜索界面搜索关键词 upgrade即可 )

升级 kubeadm 集群 | Kubernetes

2、题目中需要先确保在升级之前 drain master节点,我们需要在官网找到如下内容

[CKA]考试之K8s 版本升级_第1张图片

修改相关内容,红色部分需要修改,uncordon->cordon,由于是master需要修改,所以我们需要指定的节点是k8s-master

kubectl cordon k8s-master

继续往下拉官网,找到如下内容

 执行红框语句需要多个参数,可以先用如下命令查询

kubectl drain --help  

 查询后根据红框参数填写完整的执行语句

kubectl drain k8s-master --delete-emptydir-data --ignore-daemonsets --force

 执行后结果如下

[CKA]考试之K8s 版本升级_第2张图片

3、在考试环境中 ssh 到 master 节点,并切换到 root 下,我们进到环境中相当于进入到其中的一个node节点,由于是升级master节点上的组件,所以我们需要ssh到master并且切换到root用户,需要执行的命令如下

ssh master01

sudo -i

 4、升级控制平面节点,找到官网位置如下,按顺序执行如下语句

[CKA]考试之K8s 版本升级_第3张图片

 (1)升级 kubeadm,须修改版本为上面说的1.22.2,考试可能会修改为其他版本,根据题意自己修改,官网是一个语句直接执行,不过我们要修改版本,考试时无法打开记事本进行复制粘贴,所以我们把官网的语句拆分为3个语句执行,具体命令及执行结果如下:

apt-mark unhold kubeadm

apt-get update && apt-get install -y kubeadm=1.22.2-00

apt-mark hold kubeadm

[CKA]考试之K8s 版本升级_第4张图片

(2) 验证下载操作正常,并且 kubeadm 版本正确

kubeadm version

 (3)验证升级计划

kubeadm upgrade plan

[CKA]考试之K8s 版本升级_第5张图片

(4)选择要升级到的目标版本,由于题目说不要升级工作节点,etcd,container 管理器,CNI插件, DNS服务或任何其他插件。我们需要对命令加参数进行组件排除,执行步骤如下:

使用帮助命令查询参数

 sudo kubeadm upgrade apply --help

[CKA]考试之K8s 版本升级_第6张图片

执行升级到的目标版本,执行语句后如果需要输入y/N则需输入y

sudo kubeadm upgrade apply v1.22.2 --etcd-upgrade=false

[CKA]考试之K8s 版本升级_第7张图片

 5、升级 kubelet 和 kubectl,找到官网位置如下:

[CKA]考试之K8s 版本升级_第8张图片

修改版本后执行,由于官网是一个语句直接执行,不过我们要修改版本,考试时无法打开记事本进行复制粘贴,所以我们把官网的语句拆分为3个语句执行,具体命令及执行结果如下:

apt-mark unhold kubelet kubectl

apt-get update && apt-get install -y kubelet=1.22.2-00 kubectl=1.22.2-00

apt-mark hold kubelet kubectl

[CKA]考试之K8s 版本升级_第9张图片

  6、考试环境中退出 root和master节点,由于考试切换环境后是node节点,所以需要ssh到master节点,升级完成后需要退回之前的node节点,不要输入 exit 多了,否则会退出考试环境

#第一个exit 退出到master节点非root用户

exit

#第而个exit 退出到node节点

exit

7、解除节点的保护,官网位置如下:

[CKA]考试之K8s 版本升级_第10张图片

 修改语句如下(前面的步骤已经把k8s-master添加了保护

 kubectl uncordon k8s-master

 8、验证下最后的结果k8s-master是否正常

kubectl get nodes

[CKA]考试之K8s 版本升级_第11张图片 

 可以看到k8s-master已经正常了,并且版本是1.22.2

 

你可能感兴趣的:(CKA,kubernetes,容器,云原生,CKA)