Kubernetes* Best Practices

This tutorial shows you how to manage your Kubernetes cluster while using swupd to update Clear Linux* OS.

Description

In our Kubernetes* tutorial, we explain how to set up a Kubernetes cluster on Clear Linux OS using kubeadm. Kubeadm documentation often builds on the assumption that the distribution uses a traditional package manager, such as RPM/DEB.

However, Clear Linux OS uses swupd to update the OS, which in this case updates all of the kubernetes node and client binaries simultaneously, as part of the cloud-native-basic bundle (e.g., kubectl, kubeadm, kubelet). Running sudo swupd update requires special care to ensure the OS incorporates the latest Kubernetes upgrades.

This tutorial also describes the best practices for managing cluster upgrades with kubeadm on a Clear Linux OS-based cluster.

Prerequisites

  • Complete the Kubernetes* tutorial
  • Install the bundle cloud-native-basic

Note

Other Linux* distros shown in the Kubernetes upgrade documentation use the apt-get update, apt-mark hold kubeadm, and similar commands. These commands are not valid on Clear Linux OS.

Update the control plane

  1. Read the kubernetes documentation before you begin.

  2. On your master node, run the command:

    sudo swupd update
    

    Note

    If the minor version of Kubernetes changes, Clear Linux OS shows a message-of-the- day, or motd. When the motd appears, you must postpone a kubelet restart on master and nodes until the control plane is properly updated. swupd update does not restart services automatically unless explicitly configured to do so.

  3. Now follow these instructions from the kubernetes documentation.

Update worker nodes

  1. On each worker node, run the command:

    sudo swupd update
    
  2. Now follow these instructions from the kubernetes documentation: