Guide Complet pour Installer et Configurer un Cluster Kubernetes avec kubeadm

Introduction

Kubernetes est devenu la norme pour l’orchestration des conteneurs dans le monde du développement logiciel. Cet article fournit un guide détaillé pour installer et configurer un cluster Kubernetes en utilisant kubeadm, un outil officiel de Kubernetes.

Pré-requis

  • Trois machines (ou VMs) avec une distribution Linux (Ubuntu 20.04 LTS recommandée).
  • Accès root sur toutes les machines.
  • Connexion réseau entre les machines.

Étapes de l’installation

  1. Préparation des Machines

    • Mettre à jour les paquets

       
      sudo apt update && sudo apt upgrade -y

       

    • Désactiver le swap

      bash
      sudo swapoff -a
      sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

       

    • Configurer le kernel

      bash
      cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
      br_netfilter
      EOF

       

      bash
      cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
      net.bridge.bridge-nf-call-ip6tables = 1
      net.bridge.bridge-nf-call-iptables = 1
      EOF

      sudo sysctl --system

       

  2. Installation de Docker

    • Installer les dépendances

      bash
      sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

       

    • Ajouter le GPG key et repository Docker

      bash
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
      sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

       

    • Installer Docker

      bash
      sudo apt update
      sudo apt install -y docker-ce docker-ce-cli containerd.io

       

    • Configurer Docker pour Kubernetes

      bash
      cat <<EOF | sudo tee /etc/docker/daemon.json
      {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
      "max-size": "100m"
      },
      "storage-driver": "overlay2"
      }
      EOF

      sudo systemctl enable docker
      sudo systemctl daemon-reload
      sudo systemctl restart docker

       

  3. Installation de kubeadm, kubelet et kubectl

    • Ajouter le GPG key et repository Kubernetes

      curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

       

    • Installer les paquets Kubernetes

      sudo apt update
      sudo apt install -y kubelet kubeadm kubectl
      sudo apt-mark hold kubelet kubeadm kubectl
       
  4. Initialisation du Cluster

    • Sur le master node

      sudo kubeadm init --pod-network-cidr=10.244.0.0/16
       
    • Configurer kubectl pour l’utilisateur non-root

       
      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
       
    • Déployer un plugin de réseau

       
      kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
       
  5. Ajout de nœuds au Cluster

    • Sur chaque nœud worker

       

       
      sudo kubeadm join <master-node-ip>:<master-node-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

Conclusion

Vous avez maintenant un cluster Kubernetes fonctionnel installé et configuré avec kubeadm. Vous pouvez déployer vos applications conteneurisées et profiter des avantages de Kubernetes pour l’orchestration.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut