自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

提升你的云技能:深入了解CKA認(rèn)證之K8s升級(jí)秘籍!

云計(jì)算
kubernetes版本升級(jí)迭代非???,為了與社區(qū)版本功能保持一致,升級(jí)kubernetes集群,社區(qū)已通過kubeadm工具統(tǒng)一升級(jí)集群,升級(jí)步驟簡單易行。

一、預(yù)備知識(shí)點(diǎn)

kubernetes版本升級(jí)迭代非??欤咳齻€(gè)月更新一個(gè)版本,很多新的功能在新版本中快速迭代,為了與社區(qū)版本功能保持一致,升級(jí)kubernetes集群,社區(qū)已通過kubeadm工具統(tǒng)一升級(jí)集群,升級(jí)步驟簡單易行。升級(jí)工作的基本流程如下:

  • 升級(jí)主控制平面節(jié)點(diǎn)
  • 升級(jí)其他控制平面節(jié)點(diǎn)
  • 升級(jí)工作節(jié)點(diǎn)

版本升級(jí)通常分為兩類:

1.小版本升級(jí)

小版本升級(jí)如下1.14.1升級(jí)到1.14.2,小版本升級(jí)可以跨版本升級(jí),如1.14.1升級(jí)到1.14.3。

2.跨版本升級(jí)

跨版本升級(jí)是指大版本升級(jí),如1.14.x升級(jí)到1.15.x。

升級(jí)注意,不能跨版本升級(jí):

  • 1.19.x → 1.20.y:是可以的(其中y > x)
  • 1.19.x → 1.21.y:不可以【跨段了】(其中y > x)
  • 1.21.x→ 1.21.y:也可以(只要其中y > x)

所以,如果需要跨大版本升級(jí),必須多次逐步升級(jí)。

二、升級(jí)步驟

1.確定升級(jí)到哪個(gè)版本

使用操作系統(tǒng)的包管理器找到最新的補(bǔ)丁版本:

# 在列表中查找最新的 1.29 版本
# 它看起來應(yīng)該是 1.29.x-*,其中 x 是最新的補(bǔ)丁版本
sudo apt update
sudo apt-cache madison kubeadm

2.把升級(jí)節(jié)點(diǎn)設(shè)置為維護(hù)狀態(tài)

將節(jié)點(diǎn)標(biāo)記為不可調(diào)度并驅(qū)逐所有負(fù)載,準(zhǔn)備節(jié)點(diǎn)的維護(hù):

# 將 <node-to-drain> 替換為你要騰空的控制面節(jié)點(diǎn)名稱
kubectl drain <node-to-drain> --ignore-daemonsets

<node-to-drain>是節(jié)點(diǎn)名稱,可以通過kubectl get node查看。

執(zhí)行上述的命令后輸出結(jié)果如下圖:

設(shè)置節(jié)點(diǎn)為維護(hù)狀態(tài)

3.升級(jí)控制平面節(jié)點(diǎn)

控制面節(jié)點(diǎn)上的升級(jí)過程應(yīng)該每次處理一個(gè)節(jié)點(diǎn)。首先選擇一個(gè)要先行升級(jí)的控制面節(jié)點(diǎn)。該節(jié)點(diǎn)上必須擁有/etc/kubernetes/admin.conf文件。

(1) 升級(jí)kubeadm

# 用最新的補(bǔ)丁版本號(hào)替換 1.29.x-* 中的 x
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.29.x-*' && \
sudo apt-mark hold kubeadm

以下從1.29.0升級(jí)到1.29.2為例,執(zhí)行上述的命令輸出的結(jié)果如下圖:

安裝新版本的kubeadm

(2) 驗(yàn)證下載操作正常,并且 kubeadm 版本正確:

kubeadm version

執(zhí)行上述的命令輸出的結(jié)果如下圖:

kubeadm版本

(3) 驗(yàn)證升級(jí)計(jì)劃:

sudo kubeadm upgrade plan

執(zhí)行上述的命令輸出的結(jié)果如下:

升級(jí)計(jì)劃

(4) 選擇要升級(jí)到的目標(biāo)版本,運(yùn)行合適的命令。例如:

sudo kubeadm upgrade apply v1.29.2

當(dāng)執(zhí)行上述命令返回如下的結(jié)果,證明升級(jí)成功:

[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.29.2". Enjoy!
[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so.

升級(jí)kubelet和kubectl

在升級(jí)kubelet和kubectl時(shí),需求將節(jié)點(diǎn)標(biāo)記為不可調(diào)度并驅(qū)逐所有負(fù)載

# 用最新的補(bǔ)丁版本替換 1.29.x-* 中的 x
sudo apt-mark unhold kubelet kubectl && \
sudo apt-get update && sudo apt-get install -y kubelet='1.29.2-*' kubectl='1.29.2-*' && \
sudo apt-mark hold kubelet kubectl

執(zhí)行上述命令后輸出結(jié)果如下圖:

kubelet和kubectl升級(jí)成功

升級(jí)完成后,執(zhí)行如下命令重啟kubelet服務(wù)。

sudo systemctl daemon-reload
sudo systemctl restart kubelet

通過下圖的結(jié)果,可以看到控制節(jié)點(diǎn)的版本已經(jīng)從v1.29.0升級(jí)到v1.29.2。

5.解除節(jié)點(diǎn)保護(hù)

當(dāng)前節(jié)點(diǎn)還是在維護(hù)狀態(tài),不要忘記通過執(zhí)行kubectl uncordon controlplane解除節(jié)點(diǎn)的保護(hù)。到此,整個(gè)控制平面的升級(jí)已經(jīng)完成了。

三、CKA真題

設(shè)置配置環(huán)境:

[candidate@node-1] $ kubectl config use-context mk8s

Task:

  • 現(xiàn)有的 Kubernetes 集群正在運(yùn)行版本 1.29.0。僅將 master 節(jié)點(diǎn)上的所有 Kubernetes 控制平面和節(jié)點(diǎn)組件升級(jí)到版本 1.29.1。
  • 確保在升級(jí)之前 drain master 節(jié)點(diǎn),并在升級(jí)后 uncordon master 節(jié)點(diǎn)。

可以使用以下命令,通過 ssh 連接到 master 節(jié)點(diǎn):

ssh master01

可以使用以下命令,在該 master 節(jié)點(diǎn)上獲取更高權(quán)限:

sudo -i

另外,在主節(jié)點(diǎn)上升級(jí)kubelet和kubectl。請(qǐng)不要升級(jí)工作節(jié)點(diǎn),etcd,container管理器,CNI插件, DNS服務(wù)或任何其他插件。

官方文檔-k8s升級(jí)[1]

做題解答

(1) 考試時(shí)執(zhí)行,切換集群。

kubectl config use-context mk8s

(2) 查看節(jié)點(diǎn)信息

controlplane $ kubectl get node
NAME           STATUS   ROLES           AGE   VERSION
controlplane   Ready    control-plane   23d   v1.29.0
node01         Ready    <none>          23d   v1.29.0

(3) 將升級(jí)節(jié)點(diǎn)標(biāo)記為不可調(diào)度并驅(qū)逐所有負(fù)載,準(zhǔn)備升級(jí)升級(jí):

controlplane $ kubectl cordon controlplane
node/controlplane cordoned
controlplane $ kubectl drain controlplane --ignore-daemonsets
node/controlplane already cordoned
Warning: ignoring DaemonSet-managed Pods: kube-system/canal-kn5fq, kube-system/kube-proxy-f8kcp
evicting pod local-path-storage/local-path-provisioner-5d854bc5c4-tszl5
evicting pod kube-system/calico-kube-controllers-9d57d8f49-wlth4
pod/calico-kube-controllers-9d57d8f49-wlth4 evicted
pod/local-path-provisioner-5d854bc5c4-tszl5 evicted
node/controlplane drained

(4) 升級(jí)控制平面

# 在考試環(huán)境中 ssh 到 master 節(jié)點(diǎn),并切換到 root 下
# ssh master01
# sudo -i
controlplane $ apt-get update
# 找到題目要求升級(jí)到的指定版本
controlplane $ apt-cache madison kubeadm | grep 1.29.1
   kubeadm | 1.29.1-1.1 | https://pkgs.k8s.io/core:/stable:/v1.29/deb  Packages
controlplane $ apt-get install kubeadm=1.29.1-1.1
# 驗(yàn)證下載操作正常,并且 kubeadm 版本正確:
controlplane $ kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"29", GitVersion:"v1.29.1", GitCommit:"bc401b91f2782410b3fb3f9acf43a995c4de90d2", GitTreeState:"clean", BuildDate:"2024-01-17T15:49:02Z", GoVersion:"go1.21.6", Compiler:"gc", Platform:"linux/amd64"}
#驗(yàn)證升級(jí)計(jì)劃
controlplane $ kubeadm upgrade plan

#排除etcd,升級(jí)其他的
controlplane $ kubeadm upgrade apply v1.29.1 --etcd-upgrade=false
#升級(jí) kubelet 和 kubectl
controlplane $ apt-get install kubelet=1.29.1-1.1 kubectl=1.29.1-1.1
controlplane $ systemctl restart kubelet.service

# 考試環(huán)境中退出 root,退回到 student@master01
# 解除節(jié)點(diǎn)的保護(hù)
controlplane $  kubectl uncordon controlplane

# 檢查 master1 是否為 Ready
controlplane $ kubectl get node
NAME           STATUS   ROLES           AGE   VERSION
controlplane   Ready    control-plane   23d   v1.29.1
node01         Ready    <none>          23d   v1.29.0

參考資料:

[1]官方文檔-k8s升級(jí): https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/#changing-the-package-repository

責(zé)任編輯:趙寧寧 來源: 攻城獅成長日記
相關(guān)推薦

2022-08-29 08:21:00

k8sDocker

2023-09-11 15:35:25

2024-03-04 18:42:11

網(wǎng)絡(luò)策略k8s網(wǎng)絡(luò)通信

2018-02-24 13:21:02

2019-08-02 08:59:21

Token認(rèn)證服務(wù)器

2022-09-05 17:28:25

k8sNode IPClusterIP

2013-04-16 10:20:21

云存儲(chǔ)服務(wù)云存儲(chǔ)SLA服務(wù)水平協(xié)議

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2012-02-14 13:42:18

云計(jì)算

2009-02-15 16:32:19

2025-01-03 09:07:51

2024-07-22 13:43:31

Kubernetes容器

2010-01-06 17:18:54

Linux常用軟件

2020-07-20 06:35:55

BashLinux

2010-11-19 16:22:14

Oracle事務(wù)

2010-07-13 09:36:25

2010-06-23 20:31:54

2009-08-25 16:27:10

Mscomm控件

2022-08-26 13:48:40

EPUBLinux

2020-09-21 09:53:04

FlexCSS開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)