kubeadm upgrade

kubeadm upgrade 是一个用户友好的命令,它将复杂的升级逻辑封装在一个命令中,支持升级计划和实际执行。

kubeadm 升级指南

使用 kubeadm 执行升级的步骤在此 文档 中概述。对于旧版本的 kubeadm,请参考 Kubernetes 网站的旧文档集。

您可以使用 kubeadm upgrade diff 查看将应用于静态 Pod 清单的更改。

在 Kubernetes v1.15.0 及更高版本中,kubeadm upgrade applykubeadm upgrade node 还会自动续订此节点上 kubeadm 管理的证书,包括存储在 kubeconfig 文件中的证书。要选择退出,可以传递标志 --certificate-renewal=false。有关证书续订的更多详细信息,请参阅 证书管理文档

kubeadm upgrade plan

Synopsis

检查可升级到的版本,并验证当前集群是否可升级。此命令只能在存在 kubeconfig 文件 "admin.conf" 的控制平面节点上运行。要跳过互联网检查,请传入可选的 [version] 参数。

kubeadm upgrade plan [version] [flags]

Options

--allow-experimental-upgrades

显示 Kubernetes 的不稳定版本作为升级替代选项,并允许升级到 Kubernetes 的 Alpha/Beta/Release Candidate 版本。

--allow-missing-template-keys     默认值: true

如果为 true,则在模板中缺少字段或映射键时忽略模板中的任何错误。仅适用于 golang 和 jsonpath 输出格式。

--allow-release-candidate-upgrades

显示 Kubernetes 的 Release Candidate 版本作为升级替代选项,并允许升级到 Kubernetes 的 Release Candidate 版本。

--config string

kubeadm 配置文件路径。

--etcd-upgrade     默认值: true

执行 etcd 的升级。

-h, --help

plan 的帮助信息

--ignore-preflight-errors strings

要显示为警告的检查错误列表。例如:'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

Synopsis

将您的 Kubernetes 集群升级到指定版本

“apply [version]” 命令执行以下阶段

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]

Options

--allow-experimental-upgrades

显示 Kubernetes 的不稳定版本作为升级替代选项,并允许升级到 Kubernetes 的 Alpha/Beta/Release Candidate 版本。

--allow-release-candidate-upgrades

显示 Kubernetes 的 Release Candidate 版本作为升级替代选项,并允许升级到 Kubernetes 的 Release Candidate 版本。

--certificate-renewal     默认值: true

执行升级过程中更改的组件所使用的证书的续订。

--config string

kubeadm 配置文件路径。

--dry-run

不更改任何状态,仅输出将要执行的操作。

--etcd-upgrade     默认值: true

执行 etcd 的升级。

-f, --force

强制升级,即使某些要求可能未满足。这也意味着非交互式模式。

-h, --help

apply 的帮助信息

--ignore-preflight-errors strings

要显示为警告的检查错误列表。例如:'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

Synopsis

显示将应用于现有静态 Pod 清单的差异。另请参阅:kubeadm upgrade apply --dry-run

kubeadm upgrade diff [version] [flags]

Options

--config string

kubeadm 配置文件路径。

-c, --context-lines int     默认值: 3

差异的上下文行数

-h, --help

diff 的帮助信息

--kubeconfig string     默认值:"/etc/kubernetes/admin.conf"

与集群通信时使用的 kubeconfig 文件。如果未设置该标志,则会在一系列标准位置中搜索现有的 kubeconfig 文件。

从父命令继承的选项

--rootfs string

“真实”主机根文件系统的路径。这将导致 kubeadm chroot 到提供的路径。

kubeadm upgrade node

Synopsis

集群中节点的升级命令

“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]

Options

--certificate-renewal     默认值: true

执行升级过程中更改的组件所使用的证书的续订。

--config string

kubeadm 配置文件路径。

--dry-run

不更改任何状态,仅输出将要执行的操作。

--etcd-upgrade     默认值: true

执行 etcd 的升级。

-h, --help

node 的帮助信息

--ignore-preflight-errors strings

要显示为警告的检查错误列表。例如:'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:更新生成页面的引用 (3b6f229424)