Services Kubernetes
| Élément | Valeur |
|---|---|
| Rôle | Services techniques indispensables au fonctionnement du cluster K3s |
| Namespace | kube-system et local-path-storage |
| Composants | CoreDNS, Metrics Server, ServiceLB, Local Path Provisioner |
| Exposition | Interne au cluster, sauf ServiceLB qui publie Traefik sur les nœuds |
| Gestion | Paquets intégrés à K3s ; configuration du cluster avant tout changement |
| Impact d'une panne | DNS interne, métriques, exposition réseau ou volumes indisponibles selon le composant |
CoreDNS
Résout les noms de services Kubernetes (service.namespace.svc). En cas d'incident, les applications peuvent être démarrées mais ne plus communiquer entre elles par leur nom DNS.
kubectl -n kube-system get deploy,pods -l k8s-app=kube-dns
kubectl -n kube-system logs deploy/coredns --tail=100
Metrics Server
Fournit les métriques instantanées utilisées par kubectl top et les mécanismes d'autoscaling Kubernetes.
kubectl top nodes
kubectl top pods -A
kubectl -n kube-system get deploy metrics-server
ServiceLB
Publie les services de type LoadBalancer. Dans ce homelab, il participe à l'exposition de Traefik sur les adresses des trois VPS. Vérifier les pods svclb-* si un nœud ne répond plus en HTTP/HTTPS.
kubectl -n kube-system get pods -o wide | Select-String svclb
kubectl -n kube-system get svc traefik -o wide
Local Path Provisioner
Crée les volumes persistants locaux. Un volume local reste attaché au nœud qui détient ses données : la réplication d'un Deployment ne réplique pas automatiquement son stockage.
kubectl get storageclass
kubectl get pv,pvc -A
kubectl -n local-path-storage get pods
Points de vigilance
- Ne pas supprimer un PVC sans sauvegarde et validation explicite.
- Distinguer haute disponibilité des pods et haute disponibilité des données.
- Après une opération K3s, vérifier les trois nœuds, CoreDNS, Metrics Server, Traefik et tous les PVC.
- Les composants empaquetés par K3s doivent rester à une version compatible avec celle du serveur K3s.