i installed kubernetes via kubeadm under the 1.9 and upgraded it to 1.10.0 a while back using kubeadm upgrade
. i'm quite happy with 1.10.x and don't want to deal with potential issues with upgrading to anything newer just yet.
So i would like to upgrade to 1.10.11.
i tried
$ 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.
_____________________________________________________________________
it seems to want me to upgrade to 1.13!
how can i /just/ upgrade from my v1.10.0 setup to v1.10.11?
I am able to upgrade my kubernetes cluster from 1.10.0 to 1.10.11.
[root@ centos]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-.ec2.internal Ready master 2m v1.10.0
Here is the step by step instructions:
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
Now check the kubeadm upgrade plan
[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.
Now instead of upgrade apply to v1.13.1 you should use:
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!
Now follow the official documentation of upgrade here and you will be able to get the system up and running:
Drain the master nodes using:
kubectl drain ip-.ec2.internal --ignore-daemonsets
Upgrade the kubelet and kubeadm package using:
yum upgrade kubelet-1.10.11 kubeadm-1.10.11 --disableexcludes=kubernetes
Restart kubelet and uncordon the host:
systemctl restart kubelet
kubectl uncordon $HOST
And now you will be able to get you system up and running:
[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
来源:https://stackoverflow.com/questions/53771883/how-to-upgrade-kubernetes-from-v1-10-0-to-v1-10-11