Tasks

Tasks
Example Task Template
Extend kubectl with plugins
Manage HugePages
Schedule GPUs
Manage Memory, CPU, and API Resources
Access Clusters Using the Kubernetes API
Access Services Running on Clusters
Advertise Extended Resources for a Node
Autoscale the DNS Service in a Cluster
Change the Reclaim Policy of a PersistentVolume
Change the default StorageClass
Cluster Management
Configure Default CPU Requests and Limits for a Namespace
Configure Default Memory Requests and Limits for a Namespace
Configure Memory and CPU Quotas for a Namespace
Configure Minimum and Maximum CPU Constraints for a Namespace
Configure Minimum and Maximum Memory Constraints for a Namespace
Configure Multiple Schedulers
Configure Out Of Resource Handling
Configure Quotas for API Objects
Configure a Pod Quota for a Namespace
Control CPU Management Policies on the Node
Customizing DNS Service
Debugging DNS Resolution
Declare Network Policy
Developing Cloud Controller Manager
Encrypting Secret Data at Rest
Guaranteed Scheduling For Critical Add-On Pods
IP Masquerade Agent User Guide
Kubernetes Cloud Controller Manager
Limit Storage Consumption
Namespaces Walkthrough
Operating etcd clusters for Kubernetes
Persistent Volume Claim Protection
Reconfigure a Node's Kubelet in a Live Cluster
Reserve Compute Resources for System Daemons
Romana for NetworkPolicy
Safely Drain a Node while Respecting Application SLOs
Securing a Cluster
Set Kubelet parameters via a config file
Set up High-Availability Kubernetes Masters
Set up a High-Availablity Etcd Cluster With Kubeadm
Share a Cluster with Namespaces
Static Pods
Storage Object in Use Protection
Use Calico for NetworkPolicy
Use Cilium for NetworkPolicy
Use Kube-router for NetworkPolicy
Using CoreDNS for Service Discovery
Using Sysctls in a Kubernetes Cluster
Using a KMS provider for data encryption
Weave Net for NetworkPolicy

Edit This Page

Upgrading kubeadm clusters from 1.6 to 1.7

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.

Before you begin

You need to have a Kubernetes cluster running version 1.6.x.

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
  1. Restart kubelet.

    systemctl restart kubelet

  2. 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
  1. Perform kubeadm upgrade.

    WARNING: All parameters you passed to the first kubeadm init when you bootstrapped your cluster MUST be specified here in the upgrade-kubeadm init-command. This is a limitation we plan to address in v1.8.

    sudo kubeadm init –skip-preflight-checks –kubernetes-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
  1. Upgrade CNI provider.

Your CNI provider might have its own upgrade instructions to follow now. Check the 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
  1. Restart kubelet.

    systemctl restart kubelet

Analytics

Create an Issue Edit this Page