Kubernetes (K8S) Cluster on AlmaLinux 8 with Containerd Container Runtime
This article show how to install Kubernetes (K8S) cluster on AlmaLinux 8 with Containerd Container Runtime.
AlmaLinux 8 - Free Linux OS for the community, by the community
AlmaLinux 8 is an Open Source, community-governed and forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is 1:1 binary compatible with RHEL® and pre-Stream CentOS.
Containerd - An industry-standard container runtime with an emphasis on simplicity, robustness, and portability.
containerd is available as a daemon for Linux and Windows. It manages the complete container lifecycle of its host system, from image transfer and storage to container execution and supervision to low-level storage to network attachments and beyond.
Kubespray allows you to deploy a production-ready Kubernetes cluster (using Ansible or Vagrant) and since v2.3 can work together with Kubernetes kubeadm.
Ansible is the simplest way to automate apps and IT infrastructure. Application Deployment + Configuration Management + Continuous Delivery.
CentOS 8 / Oracle Linux 8 / AlmaLinux 8 and derivatives
CentOS 8 / Oracle Linux 8 / AlmaLinux 8 ship only with iptables-nft (ie without iptables-legacy similar to RHEL8) The only tested configuration for now is using Calico CNI You need to add
calico_iptables_backend: "NFT" or
calico_iptables_backend: "Auto" to your configuration.
If you have containers that are using iptables in the host network namespace (
hostNetwork=true), you need to ensure they are using
iptables-nft. An example how k8s do the autodetection can be found in this PR update images to Debian buster, detect iptables mode by danwinship · Pull Request #82966 · kubernetes/kubernetes - https://kubespray.io/#:~:text=can%20be%20found-,in%20this%20PR
See CentOS/OracleLinux/AlmaLinux - https://kubespray.io/#/docs/centos8 to learn more.
Containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability Kubespray supports basic functionality for using containerd as the default container runtime in a cluster.
To use the containerd container runtime set the following variables:
See Containerd - https://kubespray.io/#/docs/containerd to learn more.
You have two ways to run Kubespray.