kubeadm upgrade

kubeadm upgrade 是一個使用者友善的命令,將複雜的升級邏輯封裝在一個命令之後,支援規劃升級和實際執行升級。

kubeadm 升級指南

使用 kubeadm 執行升級的步驟概述於本文件中。對於舊版本的 kubeadm,請參閱 Kubernetes 網站的舊版文件集。

您可以使用 kubeadm upgrade diff 來查看將套用至靜態 Pod Manifest 的變更。

在 Kubernetes v1.15.0 及更新版本中,kubeadm upgrade applykubeadm upgrade node 也會自動更新此節點上由 kubeadm 管理的憑證,包括儲存在 kubeconfig 檔案中的憑證。若要選擇退出,可以傳遞旗標 --certificate-renewal=false。如需關於憑證更新的更多詳細資訊,請參閱憑證管理文件

kubeadm upgrade plan

檢查哪些版本可用於升級,並驗證您目前的叢集是否可升級。

概要

檢查哪些版本可用於升級,並驗證您目前的叢集是否可升級。此命令只能在控制平面節點上執行,其中存在 kubeconfig 檔案 "admin.conf"。若要跳過網際網路檢查,請傳入選用的 [version] 參數。

kubeadm upgrade plan [version] [flags]

選項

--allow-experimental-upgrades

顯示 Kubernetes 的不穩定版本作為升級替代方案,並允許升級至 Kubernetes 的 alpha/beta/候選發行版本。

--allow-missing-template-keys     預設值:true

若為 true,當範本中缺少欄位或對應金鑰時,忽略範本中的任何錯誤。僅適用於 golang 和 jsonpath 輸出格式。

--allow-release-candidate-upgrades

顯示 Kubernetes 的候選發行版本作為升級替代方案,並允許升級至 Kubernetes 的候選發行版本。

--config 字串

kubeadm 組態檔的路徑。

-h, --help

plan 的說明

--ignore-preflight-errors 字串

要顯示為警告的檢查清單。範例:'IsPrivilegedUser,Swap'。值 'all' 會忽略所有檢查的錯誤。

--kubeconfig string     預設值:"/etc/kubernetes/admin.conf"

用於與叢集溝通的 kubeconfig 檔案。如果未設定此標誌,則可以搜尋一組標準位置以尋找現有的 kubeconfig 檔案。

-o, --output string     預設值:"text"

輸出格式。選項之一:text|json|yaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file。

--print-config

指定是否應列印升級中將使用的組態檔。

--show-managed-fields

如果為 true,則在 JSON 或 YAML 格式中列印物件時,保留 managedFields。

從父指令繼承的選項

--rootfs string

指向 '真實' 主機根檔案系統的路徑。這將使 kubeadm chroot 進入提供的路徑。

kubeadm upgrade apply

將您的 Kubernetes 叢集升級到指定的版本

概要

將您的 Kubernetes 叢集升級到指定的版本

"apply [版本]" 指令會執行以下階段

preflight        Run preflight checks before upgrade
control-plane    Upgrade the control plane
upload-config    Upload the kubeadm and kubelet configurations to ConfigMaps
  /kubeadm         Upload the kubeadm ClusterConfiguration to a ConfigMap
  /kubelet         Upload the kubelet configuration to a ConfigMap
kubelet-config   Upgrade the kubelet configuration for this node
bootstrap-token  Configures bootstrap token and cluster-info RBAC rules
addon            Upgrade the default kubeadm addons
  /coredns         Upgrade the CoreDNS addon
  /kube-proxy      Upgrade the kube-proxy addon
post-upgrade     Run post upgrade tasks
kubeadm upgrade apply [version]

選項

--allow-experimental-upgrades

顯示 Kubernetes 的不穩定版本作為升級替代方案,並允許升級至 Kubernetes 的 alpha/beta/候選發行版本。

--allow-release-candidate-upgrades

顯示 Kubernetes 的候選發行版本作為升級替代方案,並允許升級至 Kubernetes 的候選發行版本。

--certificate-renewal     預設值:true

執行在升級期間變更的元件所使用憑證的續訂。

--config 字串

kubeadm 組態檔的路徑。

--dry-run

不變更任何狀態,僅輸出將執行的動作。

--etcd-upgrade     預設值:true

執行 etcd 的升級。

-f, --force

強制升級,即使某些需求可能未滿足。這也暗示非互動模式。

-h, --help

apply 的說明

--ignore-preflight-errors 字串

要顯示為警告的檢查清單。範例:'IsPrivilegedUser,Swap'。值 'all' 會忽略所有檢查的錯誤。

--kubeconfig string     預設值:"/etc/kubernetes/admin.conf"

用於與叢集溝通的 kubeconfig 檔案。如果未設定此標誌,則可以搜尋一組標準位置以尋找現有的 kubeconfig 檔案。

--patches string

指向包含名為 "target[suffix][+patchtype].extension" 檔案的目錄的路徑。例如,"kube-apiserver0+merge.yaml" 或僅 "etcd.json"。"target" 可以是 "kube-apiserver"、"kube-controller-manager"、"kube-scheduler"、"etcd"、"kubeletconfiguration"、"corednsdeployment" 之一。"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,它們符合 kubectl 支援的修補程式格式。預設的 "patchtype" 是 "strategic"。"extension" 必須是 "json" 或 "yaml"。"suffix" 是一個可選字串,可用於確定哪些修補程式首先以字母數字順序套用。

--print-config

指定是否應列印升級中將使用的組態檔。

--skip-phases strings

要跳過的階段清單

-y, --yes

執行升級,且不提示確認(非互動模式)。

從父指令繼承的選項

--rootfs string

指向 '真實' 主機根檔案系統的路徑。這將使 kubeadm chroot 進入提供的路徑。

kubeadm upgrade diff

顯示將套用於現有靜態 Pod 清單的差異。另請參閱:kubeadm upgrade apply --dry-run

概要

顯示將套用於現有靜態 Pod 清單的差異。另請參閱:kubeadm upgrade apply --dry-run

kubeadm upgrade diff [version] [flags]

選項

--config 字串

kubeadm 組態檔的路徑。

-c, --context-lines int     預設值:3

diff 中的上下文行數

-h, --help

diff 的說明

--kubeconfig string     預設值:"/etc/kubernetes/admin.conf"

用於與叢集溝通的 kubeconfig 檔案。如果未設定此標誌,則可以搜尋一組標準位置以尋找現有的 kubeconfig 檔案。

從父指令繼承的選項

--rootfs string

指向 '真實' 主機根檔案系統的路徑。這將使 kubeadm chroot 進入提供的路徑。

kubeadm upgrade node

叢集中節點的升級指令

概要

叢集中節點的升級指令

"node" 指令會執行以下階段

preflight       Run upgrade node pre-flight checks
control-plane   Upgrade the control plane instance deployed on this node, if any
kubelet-config  Upgrade the kubelet configuration for this node
addon           Upgrade the default kubeadm addons
  /coredns        Upgrade the CoreDNS addon
  /kube-proxy     Upgrade the kube-proxy addon
post-upgrade    Run post upgrade tasks
kubeadm upgrade node [flags]

選項

--certificate-renewal     預設值:true

執行在升級期間變更的元件所使用憑證的續訂。

--config 字串

kubeadm 組態檔的路徑。

--dry-run

不變更任何狀態,僅輸出將執行的動作。

--etcd-upgrade     預設值:true

執行 etcd 的升級。

-h, --help

node 的說明

--ignore-preflight-errors 字串

要顯示為警告的檢查清單。範例:'IsPrivilegedUser,Swap'。值 'all' 會忽略所有檢查的錯誤。

--kubeconfig string     預設值:"/etc/kubernetes/admin.conf"

用於與叢集溝通的 kubeconfig 檔案。如果未設定此標誌,則可以搜尋一組標準位置以尋找現有的 kubeconfig 檔案。

--patches string

指向包含名為 "target[suffix][+patchtype].extension" 檔案的目錄的路徑。例如,"kube-apiserver0+merge.yaml" 或僅 "etcd.json"。"target" 可以是 "kube-apiserver"、"kube-controller-manager"、"kube-scheduler"、"etcd"、"kubeletconfiguration"、"corednsdeployment" 之一。"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,它們符合 kubectl 支援的修補程式格式。預設的 "patchtype" 是 "strategic"。"extension" 必須是 "json" 或 "yaml"。"suffix" 是一個可選字串,可用於確定哪些修補程式首先以字母數字順序套用。

--skip-phases strings

要跳過的階段清單

從父指令繼承的選項

--rootfs string

指向 '真實' 主機根檔案系統的路徑。這將使 kubeadm chroot 進入提供的路徑。

下一步是什麼

  • kubeadm config 如果您使用 kubeadm v1.7.x 或更低版本初始化叢集,請設定您的叢集以進行 kubeadm upgrade
上次修改時間為 2024 年 8 月 17 日下午 4:50 PST:更新對產生頁面的參考 (3b6f229424)