Aller au contenu
ActiveCommencez gratuitement · Crédit de 100 $ CA à l'inscription, jusqu'à 300 $ CAPaiement de vérification de 1 $ CA crédité · Fin le 31 décembre 2026
Commencer gratuitement →

K3s

K3s est une distribution Kubernetes légère empaquetée dans un seul binaire. Elle est conçue pour les petits clusters, les environnements edge, le développement, les laboratoires et les charges Kubernetes simples qui n’ont pas besoin de toute la complexité opérationnelle d’une plateforme Kubernetes plus lourde.

ComposantVersion
K3s1.36.2+k3s1
Ubuntu24.04 LTS
RessourceMinimumRecommandé
vCPU24
RAM2 Go4 Go
Stockage20 Go40 Go

Dimensionnez l’instance selon les charges que vous voulez exécuter. K3s est léger, mais les conteneurs, images, journaux et volumes persistants peuvent grandir avec le temps.

Si des champs de variables de déploiement sont disponibles dans votre parcours de lancement, utilisez-les à cet endroit. Sinon, fournissez les mêmes valeurs via un user data qui écrit /etc/zmi/deploy.env, ou configurez-les après le premier démarrage.

VariableDescription
K3S_TOKENSecret partagé utilisé pour ajouter des nœuds au cluster
K3S_TLS_SANSNoms d’hôte ou IP supplémentaires, séparés par des virgules
K3S_CLUSTER_CIDRCIDR du réseau de pods. Utilise la valeur K3s par défaut si vide
K3S_SERVICE_CIDRCIDR du réseau de services. Utilise la valeur K3s par défaut si vide
K3S_NODE_NAMENom de nœud optionnel
ssh ubuntu@<your-vm-ip>

2. Attendre la configuration au premier démarrage

Section intitulée « 2. Attendre la configuration au premier démarrage »

Le premier démarrage installe et configure K3s avant de désactiver son service de configuration. Suivez la progression:

sudo journalctl -u k3s-first-boot.service -f
sudo systemctl status k3s --no-pager
sudo k3s kubectl get nodes
sudo k3s kubectl get pods -A

Le nœud doit afficher Ready, et les pods système doivent être en cours d’exécution ou terminés.

K3s inclut son propre wrapper kubectl:

sudo k3s kubectl get namespaces
sudo k3s kubectl get services -A

Le kubeconfig du cluster se trouve ici:

/etc/rancher/k3s/k3s.yaml

Pour utiliser kubectl depuis votre poste, copiez le kubeconfig depuis la VM et remplacez l’adresse du serveur par l’adresse de la VM que vous pouvez joindre.

ssh ubuntu@<your-vm-ip> 'sudo cat /etc/rancher/k3s/k3s.yaml' > ./k3s.yaml
chmod 600 ./k3s.yaml

Modifiez ensuite ./k3s.yaml et changez le serveur de https://127.0.0.1:6443 vers:

https://<your-vm-ip>:6443

Utilisez-le avec:

KUBECONFIG=./k3s.yaml kubectl get nodes

N’exposez le port 6443 qu’à des adresses IP de confiance.

# Check service status
sudo systemctl status k3s --no-pager
# Restart K3s
sudo systemctl restart k3s
# View logs
sudo journalctl -u k3s -f
# Check version
k3s --version

Chemins importants:

CheminRôle
/etc/rancher/k3s/k3s.yamlKubeconfig du cluster
/var/lib/rancher/k3sDonnées K3s et état d’exécution
PortProtocoleRôle
22TCPSSH
6443TCPAPI Kubernetes

Les ports applicatifs dépendent des charges que vous déployez. Créez des règles réseau/pare-feu ZCP uniquement pour les services que vous exposez volontairement.

Protégez /etc/rancher/k3s/k3s.yaml. Ce fichier donne un accès administrateur au cluster. N’exposez pas l’API Kubernetes publiquement à 0.0.0.0/0. Limitez l’accès à des IPs de confiance, un VPN ou un réseau privé.

Cette image K3s à nœud unique convient au développement, aux environnements de test et aux petites charges. Pour la production, prévoyez une haute disponibilité multi-nœuds, des sauvegardes externes, de la surveillance et des procédures de restauration testées.

Dernière mise à jour :