Installation avec kubeadm
Pré-requis
Sur le Master: Ouvrir les ports réseau requis
sudo firewall-cmd --add-port={6443,2379-2380,10250,10251,10252,5473,179,5473}/tcp --permanentsudo firewall-cmd --add-port={4789,8285,8472}/udp --permanentsudo firewall-cmd --reloadSur les Workers: Ouvrir les ports réseau requis
sudo firewall-cmd --add-port={10250,30000-32767,5473,179,5473}/tcp --permanentsudo firewall-cmd --add-port={4789,8285,8472}/udp --permanentsudo firewall-cmd --reloadSur tous les noeuds: Ouvrir les ports réseau pour Calico
sudo firewall-cmd --permanent --add-port={179,5473,443}/tcpsudo firewall-cmd --reloadSur tous les noeuds: Autoriser le trafic en mode bridge (exécuter en tant que root)
sudo tee /etc/sysctl.d/kubernetes.conf<<EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1EOF
sudo sysctl --systemConfigure persistent loading of modules
sudo tee /etc/modules-load.d/containerd.conf <<EOFoverlaybr_netfilterEOF
sudo modprobe overlaysudo modprobe br_netfilterSet SELinux in permissive mode (effectively disabling it)
sudo setenforce 0sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/configSur tous les noeuds: Disable swap
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstabsudo swapoff -aThis overwrites any existing configuration in /etc/yum.repos.d/kubernetes.repo
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/enabled=1gpgcheck=1gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.keyexclude=kubelet kubeadm kubectl cri-tools kubernetes-cniEOFInstall kubeadm
sudo dnf makecache; sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetesEnable kubeket
sudo systemctl enable --now kubeletContainerd
sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum update -y && sudo yum install -y containerd.iosudo mkdir -p /etc/containerdcontainerd config default | sudo tee /etc/containerd/config.tomlsudo sed -i -e "s/SystemdCgroup = false/SystemdCgroup = true/g" /etc/containerd/config.tomlsudo systemctl restart containerdsudo systemctl enable containerdInstallation du Master
Sur le Master: initialiser le cluster Kubernetes
sudo kubeadm config images pullsudo kubeadm init --control-plane-endpoint=192.168.1.11 --apiserver-advertise-address=192.168.1.11 --pod-network-cidr=192.168.0.0/24 --cri-socket=/run/containerd/containerd.sockmkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configInstallation de Calico
Sur le Client en tant que user, appliquer la spécification de Calico et modifier le cidr=192.168.0.0/24
curl -O https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yamlsed 's/16/24/' calico.yaml > calico24.yamlkubectl apply -f calico24.yamlUne fois que le Master est READY, exécuter sur les Workers la commande join affichée par la commande kubeadm init
kubeadm join