日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes升級kubeadm集群

在開始之前

  • 務(wù)必仔細(xì)認(rèn)真閱讀發(fā)行說明。
  • 集群應(yīng)使用靜態(tài)的控制平面和 etcd Pod 或者外部 etcd。
  • 務(wù)必備份所有重要組件,例如存儲(chǔ)在數(shù)據(jù)庫中應(yīng)用層面的狀態(tài)。 ?kubeadm upgrade? 不會(huì)影響你的工作負(fù)載,只會(huì)涉及 Kubernetes 內(nèi)部的組件,但備份終究是好的。
  • 必須禁用交換分區(qū)。

附加信息

  • 下述說明了在升級過程中何時(shí)騰空每個(gè)節(jié)點(diǎn)。如果你正在對任何 kubelet 進(jìn)行小版本升級, 你需要先騰空待升級的節(jié)點(diǎn)(或多個(gè)節(jié)點(diǎn))。對于控制面節(jié)點(diǎn),其上可能運(yùn)行著 CoreDNS Pods 或者其它非常重要的負(fù)載。
  • 升級后,因?yàn)槿萜饕?guī)約的哈希值已更改,所有容器都會(huì)被重新啟動(dòng)。
  • 要驗(yàn)證 kubelet 服務(wù)在升級后是否成功重啟,可以執(zhí)行 ?systemctl status kubelet? 或 ?journalctl -xeu kubelet? 查看服務(wù)日志。
  • 不建議使用 ?kubeadm upgrade? 的 `--config 參數(shù)和 kubeadm 配置 API 類型 來重新配置集群,這樣會(huì)產(chǎn)生意想不到的結(jié)果。

確定要升級到哪個(gè)版本

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

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的邊壩網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

  • Ubuntu、Debian 或 HypriotOS
  • apt update
    apt-cache madison kubeadm
    # 在列表中查找最新的 1.24 版本
    # 它看起來應(yīng)該是 1.24.x-00,其中 x 是最新的補(bǔ)丁版本
  • CentOS、RHEL 或 Fedora
  • yum list --showduplicates kubeadm --disableexcludes=kubernetes
    # 在列表中查找最新的 1.24 版本
    # 它看起來應(yīng)該是 1.24.x-0,其中 x 是最新的補(bǔ)丁版本

升級控制平面節(jié)點(diǎn) 

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

執(zhí)行 "kubeadm upgrade"

升級第一個(gè)控制面節(jié)點(diǎn)

  1. 升級 kubeadm:
    • Ubuntu、Debian 或 HypriotOS
    • # 用最新的補(bǔ)丁版本號(hào)替換 1.24.x-00 中的 x
      apt-mark unhold kubeadm && \
      apt-get update && apt-get install -y kubeadm=1.24.x-00 && \
      apt-mark hold kubeadm
      -
    • CentOS、RHEL 或 Fedora
    • # 用最新的補(bǔ)丁版本號(hào)替換 1.24.x-0 中的 x
      yum install -y kubeadm-1.24.x-0 --disableexcludes=kubernetes
  2. 驗(yàn)證下載操作正常,并且 kubeadm 版本正確:
  3. kubeadm version
    
  4. 驗(yàn)證升級計(jì)劃:
  5. kubeadm upgrade plan
    

    此命令檢查你的集群是否可被升級,并取回你要升級的目標(biāo)版本。 命令也會(huì)顯示一個(gè)包含組件配置版本狀態(tài)的表格。

    Note:

    ?
    kubeadm upgrade? 也會(huì)自動(dòng)對 kubeadm 在節(jié)點(diǎn)上所管理的證書執(zhí)行續(xù)約操作。 如果需要略過證書續(xù)約操作,可以使用標(biāo)志 ?
    --certificate-renewal=false?。

    Note:

    如果 ?
    kubeadm upgrade plan? 給出任何需要手動(dòng)升級的組件配置,用戶必須 通過 ?
    --config? 命令行標(biāo)志向 ?
    kubeadm upgrade apply? 命令提供替代的配置文件。 如果不這樣做,?
    kubeadm upgrade apply? 會(huì)出錯(cuò)并退出,不再執(zhí)行升級操作。

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

    # 將 x 替換為你為此次升級所選擇的補(bǔ)丁版本號(hào)
    sudo kubeadm upgrade apply v1.24.x

    一旦該命令結(jié)束,你應(yīng)該會(huì)看到:

    [upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.24.x". Enjoy!
    
    [upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so.
  6. 手動(dòng)升級你的 CNI 驅(qū)動(dòng)插件。
  7. 你的容器網(wǎng)絡(luò)接口(CNI)驅(qū)動(dòng)應(yīng)該提供了程序自身的升級說明。

    如果 CNI 驅(qū)動(dòng)作為 DaemonSet 運(yùn)行,則在其他控制平面節(jié)點(diǎn)上不需要此步驟。

對于其它控制面節(jié)點(diǎn)

與第一個(gè)控制面節(jié)點(diǎn)相同,但是使用:

sudo kubeadm upgrade node

而不是:

sudo kubeadm upgrade apply

此外,不需要執(zhí)行 ?kubeadm upgrade plan? 和更新 CNI 驅(qū)動(dòng)插件的操作。

騰空節(jié)點(diǎn)

  • 通過將節(jié)點(diǎn)標(biāo)記為不可調(diào)度并騰空節(jié)點(diǎn)為節(jié)點(diǎn)作升級準(zhǔn)備:
  • # 將  替換為你要騰空的控制面節(jié)點(diǎn)名稱
    kubectl drain  --ignore-daemonsets

升級 kubelet 和 kubectl 

  1. 升級 kubelet 和 kubectl:
    • Ubuntu、Debian 或 HypriotOS
    • ```shell
      # 用最新的補(bǔ)丁版本替換 1.24.x-00 中的 x
      apt-mark unhold kubelet kubectl && \
      apt-get update && apt-get install -y kubelet=1.24.x-00 kubectl=1.24.x-00 && \
      apt-mark hold kubelet kubectl
      ```
    • CentOS、RHEL 或 Fedora
    • ```shell
      # 用最新的補(bǔ)丁版本號(hào)替換 1.24.x-00 中的 x
      yum install -y kubelet-1.24.x-0 kubectl-1.24.x-0 --disableexcludes=kubernetes
      ```
  2. 重啟 kubelet
  3. sudo systemctl daemon-reload
    sudo systemctl restart kubelet

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

  • 通過將節(jié)點(diǎn)標(biāo)記為可調(diào)度,讓其重新上線:
  • # 將  替換為你的節(jié)點(diǎn)名稱
    kubectl uncordon 

升級工作節(jié)點(diǎn) 

工作節(jié)點(diǎn)上的升級過程應(yīng)該一次執(zhí)行一個(gè)節(jié)點(diǎn),或者一次執(zhí)行幾個(gè)節(jié)點(diǎn), 以不影響運(yùn)行工作負(fù)載所需的最小容量。

升級 kubeadm

  • Ubuntu、Debian 或 HypriotOS
  • # 將 1.24.x-00 中的 x 替換為最新的補(bǔ)丁版本號(hào)
    apt-mark unhold kubeadm && \
    apt-get update && apt-get install -y kubeadm=1.24.x-00 && \
    apt-mark hold kubeadm
  • CentOS、RHEL 或 Fedora
  • # 用最新的補(bǔ)丁版本替換 1.24.x-00 中的 x
    yum install -y kubeadm-1.24.x-0 --disableexcludes=kubernetes

執(zhí)行 "kubeadm upgrade"

  • 對于工作節(jié)點(diǎn),下面的命令會(huì)升級本地的 kubelet 配置:
  • sudo kubeadm upgrade node
    

騰空節(jié)點(diǎn) 

  • 將節(jié)點(diǎn)標(biāo)記為不可調(diào)度并驅(qū)逐所有負(fù)載,準(zhǔn)備節(jié)點(diǎn)的維護(hù):
  • # 將  替換為你正在騰空的節(jié)點(diǎn)的名稱
    kubectl drain  --ignore-daemonsets

升級 kubelet 和 kubectl

  1. 升級 kubelet 和 kubectl:
    • Ubuntu、Debian 或 HypriotOS
    • # 將 1.24.x-00 中的 x 替換為最新的補(bǔ)丁版本
      apt-mark unhold kubelet kubectl && \
      apt-get update && apt-get install -y kubelet=1.24.x-00 kubectl=1.24.x-00 && \
      apt-mark hold kubelet kubectl
    • CentOS, RHEL or Fedora
    • # 將 1.24.x-0 x 替換為最新的補(bǔ)丁版本
      yum install -y kubelet-1.24.x-0 kubectl-1.24.x-0 --disableexcludes=kubernetes
  2. 重啟 kubelet
  3. sudo systemctl daemon-reload
    sudo systemctl restart kubelet

取消對節(jié)點(diǎn)的保護(hù)

  • 通過將節(jié)點(diǎn)標(biāo)記為可調(diào)度,讓節(jié)點(diǎn)重新上線:
  • # 將  替換為當(dāng)前節(jié)點(diǎn)的名稱
    kubectl uncordon 

驗(yàn)證集群的狀態(tài) 

在所有節(jié)點(diǎn)上升級 kubelet 后,通過從 kubectl 可以訪問集群的任何位置運(yùn)行以下命令, 驗(yàn)證所有節(jié)點(diǎn)是否再次可用:

kubectl get nodes

?STATUS ?應(yīng)顯示所有節(jié)點(diǎn)為 ?Ready ?狀態(tài),并且版本號(hào)已經(jīng)被更新。

從故障狀態(tài)恢復(fù)

如果 ?kubeadm upgrade? 失敗并且沒有回滾,例如由于執(zhí)行期間節(jié)點(diǎn)意外關(guān)閉, 你可以再次運(yùn)行 ?kubeadm upgrade?。 此命令是冪等的,并最終確保實(shí)際狀態(tài)是你聲明的期望狀態(tài)。 要從故障狀態(tài)恢復(fù),你還可以運(yùn)行 ?kubeadm upgrade --force? 而無需更改集群正在運(yùn)行的版本。

在升級期間,kubeadm 向 ?/etc/kubernetes/tmp? 目錄下的如下備份文件夾寫入數(shù)據(jù):

  • ?kubeadm-backup-etcd--?
  • ?kubeadm-backup-manifests--?

?kubeadm-backup-etcd? 包含當(dāng)前控制面節(jié)點(diǎn)本地 etcd 成員數(shù)據(jù)的備份。 如果 etcd 升級失敗并且自動(dòng)回滾也無法修復(fù),則可以將此文件夾中的內(nèi)容復(fù)制到 ?/var/lib/etcd? 進(jìn)行手工修復(fù)。如果使用的是外部的 etcd,則此備份文件夾為空。

?kubeadm-backup-manifests? 包含當(dāng)前控制面節(jié)點(diǎn)的靜態(tài) Pod 清單文件的備份版本。 如果升級失敗并且無法自動(dòng)回滾,則此文件夾中的內(nèi)容可以復(fù)制到 ?/etc/kubernetes/manifests? 目錄實(shí)現(xiàn)手工恢復(fù)。 如果由于某些原因,在升級前后某個(gè)組件的清單未發(fā)生變化,則 kubeadm 也不會(huì)為之 生成備份版本。

工作原理 

?kubeadm upgrade apply? 做了以下工作:

  • 檢查你的集群是否處于可升級狀態(tài):
    • API 服務(wù)器是可訪問的
    • 所有節(jié)點(diǎn)處于 Ready 狀態(tài)
    • 控制面是健康的
  • 強(qiáng)制執(zhí)行版本偏差策略。
  • 確??刂泼娴溺R像是可用的或可拉取到服務(wù)器上。
  • 如果組件配置要求版本升級,則生成替代配置與/或使用用戶提供的覆蓋版本配置。
  • 升級控制面組件或回滾(如果其中任何一個(gè)組件無法啟動(dòng))。
  • 應(yīng)用新的 ?CoreDNS ?和 ?kube-proxy? 清單,并強(qiáng)制創(chuàng)建所有必需的 RBAC 規(guī)則。
  • 如果舊文件在 180 天后過期,將創(chuàng)建 API 服務(wù)器的新證書和密鑰文件并備份舊文件。

?kubeadm upgrade node? 在其他控制平節(jié)點(diǎn)上執(zhí)行以下操作:

  • 從集群中獲取 kubeadm ?ClusterConfiguration?。
  • (可選操作)備份 kube-apiserver 證書。
  • 升級控制平面組件的靜態(tài) Pod 清單。
  • 為本節(jié)點(diǎn)升級 kubelet 配置

?kubeadm upgrade node? 在工作節(jié)點(diǎn)上完成以下工作:

  • 從集群取回 kubeadm ?ClusterConfiguration?。
  • 為本節(jié)點(diǎn)升級 kubelet 配置。

文章名稱:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes升級kubeadm集群
本文地址:http://www.5511xx.com/article/dhsesge.html