参考

Edit This Page

kubeadm upgrade

kubeadm upgrade 是一个对用户友好的命令,它将复杂的升级逻辑包装在一个命令后面,支持升级的规划和实际执行。 如有必要,kubeadm upgrade 也可用于降级集群。

kubeadm 升级指南

每个升级过程可能会有所不同,因此我们分别记录了每个小的升级过程。 有关特定版本的更多升级指南,请参阅以下资源:

对于更老的版本,请参阅 Kubernetes 网站上的旧版文档。

在 Kubernetes v1.11.0 及更高版本中,您可以使用 kubeadm upgrade diff 来查看将应用于静态 Pod 清单的更改。

kubeadm upgrade plan

简介

检查当前可供升级的版本有哪些以及验证你当前的集群是否可以升级。传入可选的 [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
[实验性的功能] 相对“真实”宿主机根目录的路径。

kubeadm upgrade apply

将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] 宿主机根文件系统的路径。

kubeadm upgrade diff

显示将对现有静态 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 文件系统的路径。

kubeadm upgrade node config

从集群 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
[实验] 到'真实'主机根文件系统的路径。

<!- [EXPERIMENTAL] The path to the ‘real’ host root filesystem. –>

kubeadm upgrade node experimental-control-plane

升级部署在此节点上的控制平面实例。【重要】执行此命令之前,需要在控制平面的另一实例上执行 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
[实验] 到'真实'主机根文件系统的路径。

接下来

反馈