Installer K3s (Kubernetes léger) Déployez un cluster Kubernetes léger K3s sur votre VPS HolyCloud pour orchestrer des conteneurs avec peu de ressources. ~15 min de lecture Avancé #kubernetes #k3s #conteneurs #docker Installer K3s (Kubernetes léger) K3s est une distribution Kubernetes allégée (CNCF), idéale sur un VPS Linux HolyCloud avec 2 à 4 Go de RAM. Elle embarque containerd, un ingress Traefik optionnel et un binaire unique, sans la lourdeur d'un cluster « full » kubeadm. Prérequis VPS HolyCloud Ubuntu 22.04/24.04 ou Debian 12, minimum 2 Go RAM (4 Go recommandé en production) Accès root ou sudo Ports 6443 (API), 10250 (kubelet) et plage 30000-32767 (NodePort) ouverts si vous exposez des services Nom d'hôte résolvable (hostname -f ne doit pas renvoyer localhost seul) Conseil : créez un snapshot HolyCloud avant d'installer un orchestrateur. K3s modifie iptables/nftables et installe des services systemd. Étape 1 : préparation système Mettez à jour le système et désactivez le swap (requis par Kubernetes) : sudo apt update && sudo apt upgrade -y sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab Vérifiez les modules kernel : sudo modprobe overlay sudo modprobe br_netfilter cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf overlay br_netfilter EOF Paramètres réseau : cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF sudo sysctl --system Étape 2 : installation K3s (serveur) Sur le nœud principal de votre VPS HolyCloud : curl -sfL https://get.k3s.io | sudo sh -s - server \ --write-kubeconfig-mode 644 \ --tls-san $(curl -s ifconfig.me) \ --tls-san $(hostname -f) Attendez le démarrage : sudo systemctl status k3s --no-pager sudo k3s kubectl get nodes Le fichier kubeconfig pour un utilisateur non root : mkdir -p ~/.kube sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config sudo chown $USER:$USER ~/.kube/config export KUBECONFIG=~/.kube/config kubectl get pods -A Étape 3 : joindre un nœud agent (optionnel) Sur un second VPS HolyCloud, récupérez le token sur le serveur : sudo cat /var/lib/rancher/k3s/server/node-token Sur l'agent (remplacez IP_SERVEUR et TOKEN) : curl -sfL https://get.k3s.io | sudo K3S_URL=https://IP_SERVEUR:6443 \ K3S_TOKEN=TOKEN sh -s - agent Vérifiez depuis le serveur : kubectl get nodes -o wide Étape 4 : déployer une application test kubectl create deployment nginx-demo --image=nginx:alpine --replicas=2 kubectl expose deployment nginx-demo --port=80 --type=NodePort kubectl get svc nginx-demo Notez le port NodePort (ex. 31234) et testez depuis votre machine : curl -I http://IP_PUBLIQUE_VPS_HOLYCLOUD:31234 Ouvrez ce port dans UFW et le pare-feu de l'espace client HolyCloud si nécessaire. Étape 5 : ingress HTTPS (Traefik inclus) K3s installe Traefik par défaut. Exemple d'Ingress pour un domaine pointant vers le VPS : cat <<'EOF' | kubectl apply -f - apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: demo-ingress annotations: cert-manager.io/cluster-issuer: letsencrypt-prod spec: tls: - hosts: [www.example.com] secretName: demo-tls rules: - host: www.example.com http: paths: - path: / pathType: Prefix backend: service: name: nginx-demo port: number: 80 EOF Pour la production, installez cert-manager ou terminez TLS devant le cluster avec Nginx sur le même VPS. Maintenance et désinstallation Mettre à jour K3s : curl -sfL https://get.k3s.io | sudo sh -s - server Désinstaller complètement : sudo /usr/local/bin/k3s-uninstall.sh # Sur un agent : # sudo /usr/local/bin/k3s-agent-uninstall.sh Vérification kubectl cluster-info kubectl get nodes kubectl get pods -A sudo journalctl -u k3s -n 50 --no-pager Besoin d'aide HolyCloud Pod en Pending : RAM insuffisante — augmentez l'offre VPS ou réduisez les replicas API inaccessible : port 6443, --tls-san avec l'IP publique du VPS Conflit avec Docker : K3s utilise containerd ; évitez deux runtimes sur le même nœud sans configuration avancée Support HolyCloud : sortie kubectl get nodes, free -h, sudo systemctl status k3s Suite de la lecture Article précédent Installer Docker et Docker Compose Lire Article suivant Installer MariaDB Lire