参考

Edit This Page

kubeadm upgrade

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

kubeadm 升级指南

本文档概述了使用 kubeadm 执行升级的步骤。 有关 kubeadm 旧版本,请参阅 Kubernetes 网站的旧版文档。

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

要在 Kubernetes v1.13.0 及更高版本中使用 kube-dns 进行升级,请遵循本指南

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

kubeadm upgrade plan

概述

检查可升级到哪些版本,并验证您当前的集群是否可升级。 要跳过互联网检查,请传递可选的 [version] 参数

kubeadm upgrade plan [version] [flags]

选项

–allow-experimental-upgrades 显示不稳定版本的 Kubernetes 作为升级替代方案,并允许升级到 Kubernetes 的 Alpha/Beta/发行候选版本。

–allow-release-candidate-upgrades 显示 Kubernetes 的发行候选版本作为升级选择,并允许升级到 Kubernetes 的发行候选版本。

–config string kubeadm 配置文件的路径。

–feature-gates string 一组描述各种特征特性门控的键值对。选项有:
IPv6DualStack=true|false (ALPHA - default=false)

-h, –help 帮助

–ignore-preflight-errors stringSlice 检查清单,其错误将显示为警告。 例如:“IsPrivilegedUser,Swap”。 值 “all” 忽略所有检查的错误。

–kubeconfig string     Default: “/etc/kubernetes/admin.conf” 与集群通信时使用的 kubeconfig 文件。 如果标志为未设置,则可以在一组标准位置中搜索现有的 kubeconfig 文件。

–print-config 指定是否打印将在升级中使用的配置文件。

从父命令继承的选项

–rootfs string [EXPERIMENTAL] “真实”主机根文件系统的路径。

kubeadm upgrade apply

概要

将 Kubernetes 集群升级到指定版本

kubeadm upgrade apply [version]

选项

--allow-experimental-upgrades
显示 Kubernetes 的不稳定版本作为升级替代方案,并允许升级到 Kubernetes 的 alpha/beta 或 RC 版本。
--allow-release-candidate-upgrades
显示 Kubernetes 的候选版本作为升级替代方案,并允许升级到 Kubernetes 的 RC 版本。
--certificate-renewal     Default: true
执行升级期间更改的组件所使用的证书的更新。
--config string
kubeadm 配置文件的路径。
--dry-run
不要更改任何状态,只输出要执行的操作。
--etcd-upgrade     默认值: true
执行 etcd 的升级。
-k, --experimental-kustomize string
用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
--feature-gates string
一组键值对,用于描述各种功能。选项包括:
IPv6DualStack=true|false (ALPHA - 默认值=false)
-f, --force
强制升级,但可能无法满足某些要求。这也意味着非交互模式。
-h, --help
apply 操作的帮助命令
--ignore-preflight-errors stringSlice
错误将显示为警告的检查列表;例如:'IsPrivilegedUser,Swap'。取值为 'all' 时将忽略检查中的所有错误。
--image-pull-timeout duration     默认值:15m0s
等待控制面板 pod 下载的最长时间。
--kubeconfig string     默认值:"/etc/kubernetes/admin.conf"
与集群通信时使用的 kubeconfig 文件。如果未设置标志,则在相关目录下搜索以查找现有 kubeconfig 文件。
--print-config
指定是否应打印将在升级中使用的配置文件。
-y, --yes
执行升级,不提示确认(非交互模式)。

从父命令继承的选项

--rootfs string
[实验] 指向 '真实' 宿主机根文件系统的路径。

kubeadm upgrade diff

概述

显示哪些差异将被应用于现有的静态 pod 资源清单。参考: kubeadm upgrade apply –dry-run

kubeadm upgrade diff [version] [flags]

选项

–api-server-manifest string     默认值: “/etc/kubernetes/manifests/kube-apiserver.yaml” API服务器清单的路径

–config string API 服务器清单的路径。

-c, –context-lines int     默认值: 3 差异中有多少行上下文

–controller-manager-manifest string     默认值: “/etc/kubernetes/manifests/kube-controller-manager.yaml” 控制器清单的路径

-h, –help 帮助

–kubeconfig string     默认值: “/etc/kubernetes/admin.conf” 与集群通信时使用的 kubeconfig 文件,如果标志是未设置,则可以在一组标准位置中搜索现有的 kubeconfig 文件。

–scheduler-manifest string     默认值:”/etc/kubernetes/manifests/kube-scheduler.yaml” 调度程序清单的路径

从父命令继承的选项

–rootfs string [EXPERIMENTAL] “真实”主机根文件系统的路径。

kubeadm upgrade node

概要

升级集群中某个节点的命令

“node”命令执行以下阶段:

control-plane   如果存在的话,升级部署在该节点上的管理面实例
kubelet-config  更新该节点上的 kubelet 配置
kubeadm upgrade node [flags]

选项

--certificate-renewal
对升级期间变化的组件所使用的证书执行更新。
--dry-run
不更改任何状态,只输出将要执行的操作。
--etcd-upgrade     默认值: true
执行 etcd 的升级。
-k, --experimental-kustomize string
用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
-h, --help
node 操作的帮助命令
--kubeconfig string     默认值: "/etc/kubernetes/admin.conf"
用于与集群交互的 kubeconfig 文件。如果参数未指定,将从一系列标准位置检索存在的 kubeconfig 文件。
--kubelet-version string
升级后 *期望的* kubelet 配置版本。如未指定,将使用 kubeadm-config ConfigMap 中的 KubernetesVersion
--skip-phases stringSlice
要跳过的阶段的列表

从父命令继承的选项

--rootfs string
[实验] 指向 '真实' 宿主机根文件系统的路径。

接下来

  • 如果您使用 kubeadm v1.7.x 或更低版本初始化集群,则可以参考kubeadm 配置配置集群用于 kubeadm upgrade

反馈