Aller au contenu principal
Sommaire de la formation

Installation clusterctl, bootstrap du cluster de management et configuration de Cluster API

coolibra454 vues

 

2. Installation et Configuration de Cluster API

  • Prérequis : kubectl et clusterctl
  • Bootstrap d'un cluster de management
  • Installer l'hyperviseur proxmox sur une vm et créer un token pour le user root
  • Déploiement du provider CAPMOX (Proxmox)

Avant de commencer l'installation et la configuration de Cluster API, il faut installer kubectl et clusterctl sur le laptop en local:

  • kubectl : L'outil en ligne de commande pour interagir avec Kubernetes

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version

 

  • clusterctl : L'outil principal pour gérer Cluster API.

export CAPI_VERSION=v1.12.4
curl -L https://github.com/kubernetes-sigs/cluster-api/releases/download/$CAPI_VERSION/clusterctl-linux-amd64 -o clusterctl
chmod +x clusterctl
sudo mv clusterctl /usr/local/bin/
clusterctl version

 

  • Bootstrap d'un cluster de management 
    • Le boostrap cluster est un cluster temporaire qui va servir de créer un cluster qui sera transformé ensuite en management cluster
    • On peut le faire en créant un cluster single node avec rke2 ou avec KIND
    • Pour rke2: Créer une vm avec accès ssh et executer ces commandes pour monter un cluser single node.
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
systemctl status rke2-server.service

 

      • Recuperer le kubeconfig en local
# sur le server
cat /etc/rancher/rke2/rke2.yaml

# sur le post en local
mkdir -p $HOME/.kube
vim $HOME/.kube/bootstrap-config.yaml # et coller le cotenu. n'oubliez pas de changer l'ip 127.0.0.1 par l'ip de la vm
sudo chown $(id -u):$(id -g) $HOME/.kube/bootstrap-config.yaml
kubectl get nodes

 

    • Pour KIND:
      • Docker doit être installé sur le host (generalement votre laptop)
export KIND_VERSION=v0.30.0
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/$KIND_VERSION/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
kind version
    •  

 

      • Créer un cluster bootstrap
kind create cluster --name bootstrap-capi --kubeconfig $HOME/.kube/bootstrap-config.yaml

 

 

      • Virifier 
kind get clusters
kind delete cluster --name bootstrap-capi

 


  • Déploiement du provider CAPMOX (Proxmox)
    • Installer CAPI et le provider proxmox
clusterctl init --infrastructure proxmox --ipam in-cluster \
--control-plane kubeadm,rke2 --bootstrap kubeadm,rke2 --addon helm

 

    • Verifier l'installation
kubectl --kubeconfig ~/.kube/bootstrap-config.yaml ns
kubectl --kubeconfig ~/.kube/bootstrap-config.yaml get po -n capi-kubeadm-bootstrap-system

 

    • Pour supprimer le provider
clusterctl delete --all --include-crd  --include-namespace --kubeconfig ~/.kube/bootstrap-config.yaml

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.