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)
- Pour KIND:
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.yamlCommentaires
Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour le moment.