Aller au contenu principal
Partie IIIPrésentation

Premiers pas avec Kubernetes

Jusqu'ici, un conteneur tournait parce que vous l'aviez lancé, sur une machine que vous aviez choisie. Kubernetes change la question qu'on se pose : on ne dit plus « lance ce conteneur ici », on décrit ce qu'on veut obtenir (trois copies de l'API, joignables sous tel nom, avec telle quantité de mémoire) et le cluster se charge d'y arriver, puis d'y rester quand une machine tombe ou qu'un programme plante.

Cette partie apprend à se servir de Kubernetes au quotidien, sur le cluster minikube installé au chapitre 0.2. Chaque objet y est introduit par le problème qu'il résout, manipulé, cassé, puis réparé. Le fonctionnement interne des composants (l'API server, etcd, le scheduler, le réseau des Pods) viendra à la partie V ; ici, on en voit assez pour comprendre ce qui se passe et savoir où regarder quand ça ne marche pas.

ChapitreCe que vous y apprenez
15. Pourquoi un orchestrateurde Borg à Kubernetes, l'état désiré, la réconciliation, les composants d'un cluster
16. minikube et kubectlpilotes, profils, addons, kubeconfig et contextes, explain, -o yaml
17. Le Podcycle de vie, conteneurs multiples, init containers, sidecars, redémarrages
18. Décrire plutôt qu'ordonnerYAML, apply, labels et sélecteurs, annotations, namespaces
19. ReplicaSet et Deploymentmise à l'échelle, mise à jour progressive, retour arrière
20. Les ServicesClusterIP, NodePort, LoadBalancer, headless, le DNS du cluster
21. Configurer une applicationConfigMap, Secret, variables et fichiers montés
22. La santé des Podsprobes, arrêt propre, preStop
23. Les ressourcesrequests et limits, classes QoS, éviction, quotas
24. TP : Colis sur minikubel'application complète, depuis le registre local
Défi IIIréparer un déploiement cassé de Colis

Il vous faut le cluster minikube du chapitre 0.2, kubectl, et pour le chapitre 24, le registre local du chapitre 14 avec l'image colis/api:2.0 du défi II.