Install Maintenance Packages

Installing the essential Maintenance Packages #

KubeOps provides you packages for the supported Kubernetes tools. These maintenance packages help you update the kubernetes tools to the desired versions on your clusters along with its dependencies.

It is necessary to install the required maintenance packages to create your first Kubernetes cluster. The packages are available on kubeops hub.

So let’s get started!

Note : Be sure you have the supported SINA version for the KubeOps Version installed or you can not pull any maintenance packages!

Commands to install a package #

Following are the most common commands to be used on Admin Node to get and install any maintenance package.

  1. Use the command get maintenance to list all available maintenance packages.

     lima get maintenance
    

    This will display a list of all the available maintenance packages.
    Example :

    SOFTWARE VERSION STATUS SOFTWAREPACKAGE TYPE
    Kubernetes 1.24.8 available lima/kubernetes:1.24.8 upgrade
    iptablesEL8 1.8.4 available lima/iptablesel8:1.8.4 update
    firewalldEL8 0.8.2 downloaded lima/firewalldel8:0.8.2 update

    Please observe and download correct packages based on following important column in this table.

    Name Description
    SOFTWARE It is the name of software which is required for your cluster.
    VERSION It is the software version. Select correct version based on your Kubernetes and KubeOps version.
    SOFTWAREPACKAGE It is the unique name of the maintenance package. Use this to pull the package on your machine.
    STATUS There can be any of the following status indicated.
    - available: package is remotely available
    - not found : package not found
    - downloaded : the package is locally and remotely available
    - only local : package is locally available
    - unknown: unknown package
  2. Use command pull maintenance to pull/download the package on your machine.

    lima pull maintenance <SOFTWAREPACKAGE>
    

    It is possible to pull more than 1 package with one pull invocation.
    For example:

    lima pull maintenance lima/kubernetes:1.23.5 lima/dockerEL7:18.09.1
    

List of Maintenance Packages #

Following are the essential maintenance packages to be pulled. Use the above mentioned Common Commands to install desired packages.

1.Kubernetes #

The first step is to choose a Kubernetes version and to pull its available package LIMA currently supports following Kubernetes versions:

1.21.x 1.22.x 1.23.x 1.24.x 1.25.x 1.26.x 1.27.x
1.21.0 1.22.0 1.23.0 1.24.0 1.25.3 1.26.3 1.27.1
1.21.1 1.22.1 1.23.1 1.24.1 1.25.5 1.26.4 1.27.2
1.21.2 1.22.2 1.23.2 1.24.2 1.25.8 1.26.5
1.21.3 1.22.3 1.23.3 1.24.3 1.25.9
1.21.4 1.22.4 1.23.4 1.24.7 1.25.10
1.21.5 1.22.5 1.23.5 1.24.8
1.21.6 1.22.6 1.23.6 1.24.9
1.21.7 1.22.7 1.23.7 1.24.12
1.21.8 1.22.8 1.23.8 1.24.13
1.21.9 1.22.11 1.23.10 1.24.13
1.21.10 1.23.13
1.21.11 1.23.14
1.23.15

Following are the packages available for the supported Kubernetes versions.

Kubernetes version Available packages
1.21.x kubernetes-1.21.x
1.22.x kubernetes-1.22.x
1.23.x kubernetes-1.23.x
1.24.x kubernetes-1.24.x
1.25.x kubernetes-1.25.x
1.26.x kubernetes-1.26.x
1.27.x kubernetes-1.27.x

2. Install Kubectl #

To install Kubectl you won’t need to pull any other package. The Kubernetes package pulled in above step already contains Kubectl installation file.

In the following example the downloaded package is kubernetes-1.23.5.

To install on RHEL 8:

yum install $LIMAROOT/packages/kubernetes-1.21.5/kubectl-1.23.5-0.x86_64.rpm

To install on OpenSUSE 15:

zypper install $LIMAROOT/packages/kubernetes-1.21.5/kubectl-1.23.5-0.x86_64.rpm

3.Kubernetes Dependencies #

The next step is to pull the Kubernetes dependencies:

OS Available packages
RHEL 8 /openSUSE 15 kubeDependencies-EL8-1.0.4

4.CRIs #

Choose your CRI and pull the available packages:

OS CRI Available packages
openSUSE 15 docker dockerLP151-19.03.5
containerd containerdLP151-1.6.6
CRI-O crioLP151-1.22.0
podmanLP151-3.4.7
RHEL 8 docker dockerEL8-20.10.2
containerd containerdEL8-1.4.3
CRI-O crioEL8-x.xx.x
crioEL8-dependencies-1.0.1
podmanEL8-18.09.1

Note : CRI-O packages are depending on the chosen Kubernetes version. Choose the CRI-O package which matches with the chosen Kubernetes version.

  • E.g kubernetes-1.23.5 requires crioEL7-1.23.5
  • E.g kubernetes-1.24.8 requires crioEL7-1.24.8

5.Firewall #

Choose your firewall and pull the available packages:

OS Firewall Available packages
openSUSE 15 iptables iptablesEL7-1.4.21
firewalld firewalldEL7-0.6.3
RHEL 8 iptables iptablesEL8-1.8.4
firewalld firewalldEL8-0.9.3

Example #

Assuming a setup should exist with OS RHEL 8, CRI-O and Kubernetes 1.22.2 with the requested version, the following maintenance packages need to be installed:

  • kubernetes-1.22.2
  • kubeDependencies-EL8-1.0.2
  • crioEL8-1.22.2
  • crioEL8-dependencies-1.0.1
  • podmanEL8-18.09.1