kubeadm upgrade
是一个对用户友好的命令,它将复杂的升级逻辑包装在一个命令后面,支持升级的规划和实际执行。
如有必要,kubeadm upgrade
也可用于降级集群。
每个升级过程可能会有所不同,因此我们分别记录了每个小的升级过程。 有关特定版本的更多升级指南,请参阅以下资源:
对于更老的版本,请参阅 Kubernetes 网站上的旧版文档。
在 Kubernetes v1.11.0 及更高版本中,您可以使用 kubeadm upgrade diff
来查看将应用于静态 Pod 清单的更改。
检查当前可供升级的版本有哪些以及验证你当前的集群是否可以升级。传入可选的 [version] 参数可以跳过联网检查。
kubeadm upgrade plan [version] [flags]
--allow-experimental-upgrades | |
显示 Kubernetes 的不稳定版本作为升级的替代方案并且允许升级到 alpha/beta/release candidate 状态的 Kubernetes 版本。 | |
--allow-release-candidate-upgrades | |
显示 Kubernetes 的 release candidate 版本作为升级的替代方案并且允许升级到 release candidate 状态的 Kubernetes 版本。 | |
--config string | |
kubeadm 配置文件的路径(警告:配置文件功能是实验性的) | |
--feature-gates string | |
键值对的结合,用于控制各种功能的开关。可选项有: Auditing=true|false (ALPHA状态 - 缺省值=false) CoreDNS=true|false (缺省值=true) DynamicKubeletConfig=true|false (BETA状态 - 缺省值=false) |
|
-h, --help | |
显示 plan 命令的帮助信息 | |
--ignore-preflight-errors stringSlice | |
检查项的集合,这些检查项如果发生错误则会被显示为警告。 示例: 'IsPrivilegedUser,Swap'。 如果值为 'all' 则将忽略所有的检查错误。 | |
--kubeconfig string 缺省值: "~/.kube/config" | |
同集群通信时使用的 KubeConfig 文件。 如果没有设置这个参数,将会通过搜索一系列标准的位置来找到一份已存在的 KubeConfig 文件。 | |
--print-config | |
指明是否打印出用于升级的配置文件。 |
--rootfs string | |
[实验性的功能] 相对“真实”宿主机根目录的路径。 |
将Kubernetes集群升级到指定版本。
将Kubernetes集群升级到指定版本。
kubeadm upgrade apply [version]
--allow-experimental-upgrades | |
显示 Kubernetes 的不稳定版本作为升级替代方案,并允许升级到 Kubernetes 的 alpha/beta 或 RC 版本。 | |
--allow-release-candidate-upgrades | |
显示 Kubernetes 的候选版本作为升级替代方案,并允许升级到 Kubernetes 的 RC 版本。 | |
--config string | |
kubeadm 配置文件的路径(警告:配置文件的使用是实验性的) | |
--cri-socket string Default: "/var/run/dockershim.sock" | |
指定要连接的 CRI 套接字。 | |
--dry-run | |
不要更改任何状态,只输出要执行的操作。 | |
--etcd-upgrade Default: true | |
执行 etcd 的升级。 | |
--feature-gates string | |
一组键值对,用于描述各种功能的功能门。选项包括: Auditing=true|false (ALPHA - default=false) CoreDNS=true|false (default=true) DynamicKubeletConfig=true|false (BETA - default=false) |
|
-f, --force | |
强制升级,但可能无法满足某些要求。这也意味着非交互模式。 | |
-h, --help | |
帮助 | |
--ignore-preflight-errors stringSlice | |
一系列检查,其错误将显示为警告。示例:'IsPrivilegedUser,Swap'。值'all'忽略所有检查的错误。 | |
--image-pull-timeout duration Default: 15m0s | |
等待控制面 pod 下载的最长时间。 | |
--kubeconfig string Default: "/Users/zarnold/.kube/config" | |
与集群通信时使用的 KubeConfig 文件。如果未设置标志,则在相关目录下搜索以查找现有KubeConfig文件。 | |
--print-config | |
指定是否应打印将在升级中使用的配置文件。 | |
-y, --yes | |
执行升级,不提示确认(非交互模式)。 |
--rootfs string | |
[EXPERIMENTAL] 宿主机根文件系统的路径。 |
显示将对现有静态 pod 清单产生的影响。这也能够通过 kubeadm upgrade apply --dry-run
命令查看。
显示将对现有静态 pod 清单产生的影响。这也能够通过 kubeadm upgrade apply --dry-run
命令查看。
kubeadm upgrade diff [version] [flags]
--api-server-manifest string 默认值:"/etc/kubernetes/manifests/kube-apiserver.yaml" | |
API 服务器清单的路径 | |
--config string | |
到 kubeadm 配置文件的路径(警告:配置文件的使用是实验性的) | |
-c, --context-lines int 默认值:3 | |
diff 中有多少行上下文 | |
--controller-manager-manifest string 默认值:"/etc/kubernetes/manifests/kube-controller-manager.yaml" | |
控制器清单的路径 | |
-h, --help | |
diff 的帮助信息 | |
--scheduler-manifest string 默认值:"/etc/kubernetes/manifests/kube-scheduler.yaml" | |
调度器清单的路径 |
--rootfs string | |
[实验] 到'真实'主机 root 文件系统的路径。 |
从集群 ConfigMap kubelet-config-1.X 下载 kubelet 配置。其中 X 是 kubelet 的次要版本。
从群集中 “kubelet-config-1.X” 的 ConfigMap 下载 kubelet 配置,其中 X 是kubelet 的次要版本。kubeadm 使用 –kubelet-version 参数来确定所需的 kubelet 版本。
kubeadm upgrade node config [flags]
# 从集群中的 ConfigMap 下载 kubelet 配置,使用特定的 kubelet 版本。
kubeadm upgrade node config --kubelet-version v1.12.0
# 模拟从集群中的 ConfigMap 下载具有特定版本的 kubelet 配置。节点上的任何本地状态没有改变吗?
kubeadm upgrade node config --kubelet-version v1.12.0 --dry-run
--dry-run | |
不改变任何状态,只输出将要执行的操作 | |
-h, --help | |
配置操作的帮助信息 | |
--kubeconfig string 默认值: "/etc/kubernetes/kubelet.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--kubelet-version string | |
升级后的 kubelet 的*期望*版本。 |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
<!-
升级部署在此节点上的控制平面实例。【重要】执行此命令之前,需要在控制平面的另一实例上执行 kubeadm upgrade apply
。
从集群中 “kubelet-config-1.X” 的 ConfigMap 下载 kubelet 配置,在集群中 X 是 kubelet 的次要版本。kubeadm 使用 –kubelet-version 参数来确定所需的 kubelet 版本。
kubeadm upgrade node experimental-control-plane [flags]
# 从集群中的 ConfigMap 下载 kubelet 配置。使用特定的 kubelet 版本。
kubeadm upgrade node config --kubelet-version v1.12.0
# 模拟从集群中的 ConfigMap 下载 kubelet 配置,使用特定的指定版本。不更改节点上的任何本地状态。
kubeadm upgrade node config --kubelet-version v1.12.0 --dry-run
--dry-run | |
不改变任何状态,只输出将要执行的动作 | |
-h, --help | |
experimental-control-plane 的帮助信息 | |
--kubeconfig string 默认值: "/etc/kubernetes/kubelet.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
kubeadm upgrade
。此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.