1. Instalación del nodo master
Documento para instalar un cluster kubernetes con tres nodos, un master y dos workers.
Pasos a seguir una vez instalado y actualizado el sistema operativo.
Repositorios
Instalar el repo de docker en su última versión
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Instalar el repo de kubernetes en su versión 1.36
vi /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.37/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
Paquetería
Para instalar los paquetes necesarios para el funcionamiento de Kubernetes, ejecutar el siguiente comando:
dnf update -y
dnf install epel-release wget vim-enhanced socat bind \
containerd.io kubelet kubeadm kubectl \
docker-ce --disableexcludes=kubernetes -y
Deshabilitar swap
Es necesario deshabilitar el swap para que kubelet funcione correctamente.
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
Deshabilitar SELinux y firewall
Es necesario deshabilitar SELinux y el firewall para que Kubernetes funcione correctamente.
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
systemctl stop firewalld
systemctl disable firewalld
Customizar containerd
Para que containerd funcione correctamente con Kubernetes, es necesario habilitar el uso de cgroups con systemd y cargar los módulos overlay y br_netfilter.
vi /etc/modules-load.d/containerd.conf
overlay
br_netfilter
Para generar el archivo de configuración de containerd, ejecutar el siguiente comando:
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
Configurar sysctl
Para que Kubernetes funcione correctamente, es necesario habilitar el reenvío de paquetes.
vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1 ??
net.ipv4.ip_forward = 1
Recargar configuración
Para que los cambios realizados en la configuración del sistema tengan efecto, es necesario recargar la configuración del sistema.
modprobe overlay
modprobe br_netfilter
sysctl --system
Habilitar e iniciar servicios
systemctl enable --now containerd
systemctl enable --now kubelet
systemctl enable --now docker