<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes :: Ma documentation</title><link>http://quentinpigne.github.io/devops/kubernetes/index.html</link><description>Labels et Annotations Healthchecks: Liveness et Readiness Ressources: Limits et Requests Les volumes Ressources Contextes et Namespaces Pods Outils Helm Présentation Kubernetes (souvent abrégé K8S), dont le nom vient du grec timonier ou pilote, est un orchestrateur de conteneurs.
Google utilise en interne un orchestrateur de conteneurs (Borg) depuis plusieurs années déjà (2 milliards de conteneur lancés par semaine en 2014) En 2015, Google décide de faire un extract de Borg utilisable par la communauté et il l’a reverse à la CNCF (Cloud Native Computing Foundation) qui compte des grands noms comme Amazon, Google, Oracle, Docker… Fonctionne avec des conteneurs Docker mais pas que… (Containerd, CoreOS…) Parmi toutes ses fonctionnalités, Kubernetes permet :</description><generator>Hugo</generator><language>fr-FR</language><atom:link href="http://quentinpigne.github.io/devops/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Labels et Annotations</title><link>http://quentinpigne.github.io/devops/kubernetes/labels-annotations/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://quentinpigne.github.io/devops/kubernetes/labels-annotations/index.html</guid><description>Ces deux notions, très similaires, permettent notamment d’ajouter des métadonnées aux ressources. Elles s’appliquent à toutes les ressources de Kubernetes.
Labels Les labels sont utilisés à l’intérieur de Kubernetes. Notamment avec l’outil selector qui permet de sélectionner uniquement les pods en fonction des labels qu’ils contiennent. (sélection poussée, regexp…)
Ajout d’un label en ligne de commande: kubectl create deployment monnginx --image nginx --labels "env=prod,group=front.
Visualisation des labels: kubectl get deployment --show-labels.</description></item><item><title>Healthchecks: Liveness et Readiness</title><link>http://quentinpigne.github.io/devops/kubernetes/healthchecks/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://quentinpigne.github.io/devops/kubernetes/healthchecks/index.html</guid><description>Certaines applications ont besoin d’être restart.
Prévenir des images mal construites et non fonctionnelles.
Éviter les coupures lors des déploiements (zero-downtime)
Liveness = restart automatique
Readiness = remplacement pod défectueux (suppression du pod et création d’un nouveau)
Configuration, modes et variables La configuration des liveness et des readiness se fait exactement de la même façon. 3 modes de vérification sont possibles:
command: exec
http: httpGet
tcp: tcpSocket
initialDelaySeconds: à partir de quand commence le check.</description></item><item><title>Ressources: Limits et Requests</title><link>http://quentinpigne.github.io/devops/kubernetes/limits-requests/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://quentinpigne.github.io/devops/kubernetes/limits-requests/index.html</guid><description/></item><item><title>Les volumes</title><link>http://quentinpigne.github.io/devops/kubernetes/volumes/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://quentinpigne.github.io/devops/kubernetes/volumes/index.html</guid><description/></item><item><title>Ressources</title><link>http://quentinpigne.github.io/devops/kubernetes/resources/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://quentinpigne.github.io/devops/kubernetes/resources/index.html</guid><description>Contextes et Namespaces Pods</description></item><item><title>Outils</title><link>http://quentinpigne.github.io/devops/kubernetes/tools/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://quentinpigne.github.io/devops/kubernetes/tools/index.html</guid><description>Helm</description></item></channel></rss>