【问题标题】:how to upgrade kubernetes from v1.10.0 to v1.10.11如何将 Kubernetes 从 v1.10.0 升级到 v1.10.11
【发布时间】:2019-05-15 06:16:51
【问题描述】:

我在 1.9 下通过 kubeadm 安装了 kubernetes,不久前使用 kubeadm upgrade 将其升级到 1.10.0。我对 1.10.x 非常满意,并且不想处理升级到任何更新版本的潜在问题。

所以我想升级到 1.10.11。

我试过了

$ kubeadm upgrade plan v1.10.11
[preflight] Running pre-flight checks.
[upgrade] Making sure the cluster is healthy:
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[upgrade/plan] computing upgrade possibilities
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.10.0
[upgrade/versions] kubeadm version: v1.10.11
[upgrade/versions] Latest stable version: v1.13.1
[upgrade/versions] Latest version in the v1.1 series: v1.1.8
[upgrade/versions] WARNING: No recommended etcd for requested kubernetes version (v1.13.1)

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT       AVAILABLE
Kubelet     5 x v1.10.0   v1.13.1
                          2 x v1.10.3   v1.13.1
                          1 x v1.10.5   v1.13.1
                          2 x v1.9.6    v1.13.1

Upgrade to the latest stable version:

COMPONENT            CURRENT   AVAILABLE
API Server           v1.10.0   v1.13.1
Controller Manager   v1.10.0   v1.13.1
Scheduler            v1.10.0   v1.13.1
Kube Proxy           v1.10.0   v1.13.1
Kube DNS             1.14.8    1.14.8
Etcd                 3.1.12    N/A

You can now apply the upgrade by executing the following command:

    kubeadm upgrade apply v1.13.1

Note: Before you can perform this upgrade, you have to update kubeadm to v1.13.1.

_____________________________________________________________________

好像要我升级到1.13!

我如何 /just/ 从我的 v1.10.0 设置升级到 v1.10.11?

【问题讨论】:

  • 只是猜测,但也许您需要升级kubeadm 以匹配您的目标版本。 Before you can perform this upgrade, you have to update kubeadm to v1.13.1. 暗示了这一点。
  • 是的,我已经做到了:rpm -qa | grep kubeadm; kubeadm-1.10.11-0.x86_64

标签: kubernetes upgrade kubeadm


【解决方案1】:

我能够将我的 kubernetes 集群从 1.10.0 升级到 1.10.11。

[root@ centos]# kubectl get nodes
NAME                         STATUS    ROLES     AGE       VERSION
ip-.ec2.internal             Ready     master    2m        v1.10.0

以下是分步说明:

export VERSION="1.10.11"
export ARCH=amd64
wget https://storage.googleapis.com/kubernetes-release/release/v1.10.11/bin/linux/amd64/kubeadm > /usr/bin/kubeadm

chmod a+rx /usr/bin/kubeadm

现在检查 kubeadm 升级计划

[root@ centos]# kubeadm upgrade plan
[preflight] Running pre-flight checks.
[upgrade] Making sure the cluster is healthy:
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[upgrade/plan] computing upgrade possibilities
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.10.11
[upgrade/versions] kubeadm version: v1.10.11
[upgrade/versions] Latest stable version: v1.13.1
[upgrade/versions] Latest version in the v1.1 series: v1.1.8
[upgrade/versions] WARNING: No recommended etcd for requested kubernetes version (v1.13.1)

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT       AVAILABLE
Kubelet     1 x v1.10.0   v1.13.1

Upgrade to the latest stable version:

COMPONENT            CURRENT    AVAILABLE
API Server           v1.10.11   v1.13.1
Controller Manager   v1.10.11   v1.13.1
Scheduler            v1.10.11   v1.13.1
Kube Proxy           v1.10.11   v1.13.1
Kube DNS             1.14.8     1.14.8
Etcd                 3.1.12     N/A

You can now apply the upgrade by executing the following command:

kubeadm upgrade apply v1.13.1

Note: Before you can perform this upgrade, you have to update kubeadm to v1.13.1.

现在你应该使用升级而不是升级到 v1.13.1:

kubeadm upgrade apply 1.10.11

[preflight] Running pre-flight checks.
[upgrade] Making sure the cluster is healthy:
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[upgrade/version] You have chosen to change the cluster version to "v1.10.11"
[upgrade/versions] Cluster version: v1.10.11
[upgrade/versions] kubeadm version: v1.10.11
[upgrade/confirm] Are you sure you want to proceed with the upgrade? [y/N]: y
.......
[bootstraptoken] Configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token
[bootstraptoken] Configured RBAC rules to allow certificate rotation for all node client certificates in the cluster
[addons] Applied essential addon: kube-dns
[addons] Applied essential addon: kube-proxy

[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.10.11". Enjoy!

现在按照官方文档升级here,你就可以启动并运行系统了:

使用以下方法排空主节点:

kubectl drain ip-.ec2.internal --ignore-daemonsets

使用以下命令升级 kubelet 和 kubeadm 包:

yum upgrade kubelet-1.10.11 kubeadm-1.10.11 --disableexcludes=kubernetes

重启kubelet并解封主机:

systemctl restart kubelet
kubectl uncordon $HOST

现在您可以启动并运行系统了:

[root@ip- centos]# kubectl get nodes
NAME                         STATUS    ROLES     AGE       VERSION
ip-.ec2.internal             Ready     master    32m       v1.10.11
[root@ip- centos]# kubectl get pods
NAME                                READY     STATUS    RESTARTS   AGE
nginx-deployment-75675f5897-pmmkc   1/1       Running   0          9m
nginx-deployment-75675f5897-wshgz   1/1       Running   0          9m

【讨论】:

  • 太棒了!我假设该计划是万能的。我想它接受计划中的一个版本会很好,但至少它有效!
  • 是的,目前它不接受升级计划中的版本。但是,这只是检查您的集群可以升级的版本。您可以在升级集群时应用该版本。
猜你喜欢
  • 2019-05-19
  • 2020-09-16
  • 2021-10-07
  • 2021-08-07
  • 2012-07-10
  • 1970-01-01
  • 2016-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多