83 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# :rocket: ANSIBLE K3S SUR RASPBERRY PI
Préparer et étendre un cluster Kubernetes **k3s** sur des Raspberry Pi avec une seule commande.
Le tutoriel complet est disponible [ici](https://dev.to/hatati/cook-up-a-k3s-cluster-on-raspberry-pies-with-ansible-4bb4).
## Fichier dinventaire
Ajouter les hôtes Raspberry Pi dans le fichier `inventory.yaml`.
```yaml
# Exemple d'inventaire.yaml
all:
hosts:
raspberrypi-master:
ansible_host: 192.168.1.10
raspberrypi-worker1:
ansible_host: 192.168.1.11
## Create the k3s cluster
```
> ⚠️ Assurez-vous que vos Raspberry Pi sont accessibles via SSH et quAnsible peut se connecter avec les bonnes clés.
## ⚙️ Créer le cluster k3s
Créez le cluster k3s en exécutant le playbook dinstallation :
```bash
ansible-playbook -i inventory.yaml install-k3s-playbook.yaml
```
> Le fichier k3sconfig se trouve désormais dans le répertoire courant.
## Modifier lIP du serveur
Ouvrez le fichier k3sconfig et modifiez lIP du serveur :
```yaml
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: ...
server: https://nerminmaster:6443 # <----- MODIFIER ICI
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
client-certificate-data: ...
client-key-data: ...
```
💡 Astuce : Remplacer nerminmaster par lIP ou le nom de Raspberry Pi `manager`.
## Vérifier que le cluster fonctionne
```bash
kubectl get nodes --kubeconfig k3sconfig
NAME STATUS ROLES AGE VERSION
master Ready control-plane,etcd,master 8m42s v1.24.10+k3s1
worker1 Ready <none> 8m7s v1.24.10+k3s1
```
> Chaque nœud doit être en Ready pour que le cluster soit opérationnel.
## Nettoyer le cluster
Pour supprimer k3s de tous les nœuds, exécutez le playbook de désinstallation :
```bash
ansible-playbook -i inventory.yaml uninstall-k3s-playbook.yaml
```
> ⚠️ Cette commande supprimera toutes les données Kubernetes de vos Raspberry Pi.