-
Notifications
You must be signed in to change notification settings - Fork 14.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3999 from pipejakob/kubeadm-upgrades
Initial draft of upgrade guide for kubeadm clusters.
- Loading branch information
Showing
3 changed files
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
assignees: | ||
- pipejakob | ||
title: Upgrading kubeadm clusters from 1.6 to 1.7 | ||
redirect_from: | ||
- "/docs/admin/kubeadm-upgrade-1-7/" | ||
- "/docs/admin/kubeadm-upgrade-1-7.html" | ||
--- | ||
|
||
* TOC | ||
{:toc} | ||
|
||
This guide is for upgrading kubeadm clusters from version 1.6.x to 1.7.x. | ||
Upgrades are not supported for clusters lower than 1.6, which is when kubeadm | ||
became Beta. | ||
|
||
**WARNING**: These instructions will **overwrite** all of the resources managed | ||
by kubeadm (static pod manifest files, service accounts and RBAC rules in the | ||
`kube-system` namespace, etc.), so any customizations you may have made to these | ||
resources after cluster setup will need to be reapplied after the upgrade. The | ||
upgrade will not disturb other static pod manifest files or objects outside the | ||
`kube-system` namespace. | ||
|
||
### On the master | ||
|
||
1. Upgrade system packages. | ||
|
||
Upgrade your OS packages for kubectl, kubeadm, kubelet, and kubernetes-cni. | ||
|
||
a. On Debian, this can be accomplished with: | ||
|
||
sudo apt-get update | ||
sudo apt-get upgrade | ||
|
||
b. On CentOS/Fedora, you would instead run: | ||
|
||
sudo yum update | ||
|
||
2. Restart kubelet. | ||
|
||
sudo systemctl restart kubelet | ||
|
||
3. Delete the `kube-proxy` DaemonSet. | ||
|
||
Although most components are automatically upgraded by the next step, | ||
`kube-proxy` currently needs to be manually deleted so it can be recreated at | ||
the correct version: | ||
|
||
sudo KUBECONFIG=/etc/kubernetes/admin.conf kubectl delete daemonset kube-proxy -n kube-system | ||
|
||
4. Perform kubeadm upgrade. | ||
|
||
sudo kubeadm init --skip-preflight-checks --kubernetes-version <DESIRED_VERSION> | ||
|
||
For instance, if you want to upgrade to `1.7.0`, you would run: | ||
|
||
sudo kubeadm init --skip-preflight-checks --kubernetes-version v1.7.0 | ||
|
||
5. Upgrade CNI provider. | ||
|
||
Your CNI provider might have its own upgrade instructions to follow now. | ||
Check the [addons](/docs/concepts/cluster-administration/addons/) page to | ||
find your CNI provider and see if there are additional upgrade steps | ||
necessary. | ||
|
||
### On each node | ||
|
||
1. Upgrade system packages. | ||
|
||
Upgrade your OS packages for kubectl, kubeadm, kubelet, and kubernetes-cni. | ||
|
||
a. On Debian, this can be accomplished with: | ||
|
||
sudo apt-get update | ||
sudo apt-get upgrade | ||
|
||
b. On CentOS/Fedora, you would instead run: | ||
|
||
sudo yum update | ||
|
||
2. Restart kubelet. | ||
|
||
sudo systemctl restart kubelet |