Aller au contenu principal
Sommaire de la formation

rke2 Installation et Configuration

coolibra1402 vues

Installation et Configuration

  1. Prérequis et préparation de l'environnement

    • Configuration système et exigences.

Avant de commencer l'installation de RKE2, il est essentiel de s'assurer que l'environnement cible répond aux exigences minimales de configuration système. Les exigences varient en fonction de la taille et de la charge de travail prévue pour votre cluster mais, de manière générale, chaque nœud doit disposer :

      • D'un système d'exploitation Linux supporté, tel que Ubuntu 22.04, CentOS 8, ou une version compatible de RHEL.
      • D'au moins 2 CPUs pour les nœuds de gestion (serveurs) ou 2 CPU pour les nœuds de travail (agents).
      • D'au minimum 4 Go de RAM pour les nœuds serveurs et 4 Go pour les nœuds agents.
      • D'un espace disque suffisant, avec au moins 20 Go disponibles sur chaque nœud.
      • D'une connexion réseau stable et sécurisée.

 

    • Installation des outils nécessaires (kubectl, Helm, etc.).

RKE2 n'a pas de requirements à installer à part l'os. Tous les requirements sont intégrés dans le script officel d'instllation. Cependant, il faut:

      • Nommer de façon unique les nodes (hostname unique)
      • Installer curl sur tous les nodes

 

 

  1. Déploiement de RKE2 single master

    • Installation et configuration initiale sur le node rke2-master-01
sudo su

# server node
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="server" INSTALL_RKE2_VERSION="v1.35.2+rke2r1" sh -

systemctl enable rke2-server.service

sudo mkdir -p /etc/rancher/rke2

sudo tee /etc/rancher/rke2/config.yaml << EOF
token: JDKJDKJFDkdklfdlkdf14528654455211566332
disable:
  - rke2-ingress-nginx
EOF

systemctl start rke2-server.service

 

!!!! Pour RHEL et derivées. Reference

  • Ajouter dans ce fichier /etc/NetworkManager/conf.d/rke2-canal.conf  le contenu suivant
### /etc/NetworkManager/conf.d/rke2-canal.conf
[keyfile]
unmanaged-devices=interface-name:flannel*;interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico;interface-name:vxlan-v6.calico;interface-name:wireguard.cali;interface-name:wg-v6.cali

 

  • Redemarrer NetworkManager
systemctl reload NetworkManager

 

 

    • Verifier le service rke2
systemctl status rke2-server.service

 

 

    • Verifier les conteneurs. cela permet aussi de faire du debug en cas d'erreur
alias ctr='sudo /var/lib/rancher/rke2/bin/ctr --address /run/k3s/containerd/containerd.sock --namespace k8s.io'
alias ctl='sudo /var/lib/rancher/rke2/bin/crictl --config /var/lib/rancher/rke2/agent/etc/crictl.yaml'
alias kubectl='sudo /var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml -n kube-system'

ctl ps

ctr containers ls

kubectl get no -o wide

kubectl get po -o wide

 

 

    • Recuperer le token du master pour joindre les workers
# recuperer le token pour joindre les workers
cat /var/lib/rancher/rke2/server/node-token

 

    • Joindre les autres nœuds workers au cluster.
sudo su

# agent node
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" INSTALL_RKE2_VERSION="v1.35.2+rke2r1" sh -
systemctl enable rke2-agent.service


# creer le fichier config.yaml avec le contenu server et token
sudo mkdir -p /etc/rancher/rke2

sudo tee /etc/rancher/rke2/config.yaml << EOF
token: JDKJDKJFDkdklfdlkdf14528654455211566332
server: https://<MASTER_IP>:9345
EOF

systemctl start rke2-agent.service

systemctl status rke2-agent.service

 

    • Vérification de l'état du cluster.
kubectl get no -o wide

 

 

    • Ajouter le label worker sur les nodes worker
kubectl label nodes rke2-worker-01 rke2-worker-02 node-role.kubernetes.io/worker=worker

 

 

  • Configurer kubectl sur le master
mkdir -p $HOME/.kube
sudo cp -i /etc/rancher/rke2/rke2.yaml $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
sudo mv /var/lib/rancher/rke2/bin/kubectl /usr/local/bin/
kubectl get nodes

 

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.