Prise de note tutoriel viéo Kubernetes

Tags :
  • MON
  • 2023-2024
  • temps 2
  • kubernetes
  • devops
Auteurs :
  • Arthur Louradou

Source

Kubernetes Crash Course for Absolute Beginners [NEW]

Master Node

Ce qui tourne sur le master Node :

Un point important est d’avoir plusieurs master nodes pour qu’en cas de panne du premier master on ait une redondance à l’accès aux worker nodes.

Node et Pod

Un Node ou nœud est une machine (virtuelle ou physique).

Un Pod est une unité dans Kub, et est une abstraction du container Docker.

Souvent, un pod a une seule application conteneurisée à l’intérieur. Chaque Pod a une adresse IP locale à l’intérieur. Ils sont éphémères et peuvent changer d’IP lorsqu’ils redémarrent. C’est pourquoi on met en place des services, attachés à un Pod et qui eux ne changent pas.

Un service a bien une adresse IP définie. Il est possible d’avoir des services externes et internes. Pour les services externes, il est possible d’ajouter une sorte de résolveur DNS appelé ingress.

Mise en place de ConfigMap et de secrets

Permet la configuration par exemple des adresses de bases de données et autres services qui doivent être appelés dans l’appli.

Pour les données secretes comme les noms d’utilisateur et mots de passe, il y a aussi un module pour ça et on peut sécuriser les secrets en les chiffrant avec des outils externes.

Faire persister une base de données alors qu’elle est lancée sur plusieurs Pods

Comme avec Docker, il est possible de rattacher un volume à nos services. Le stockage peut être interne ou distant (dans le Cloud par exemple).

Deployment et Statefulset

Un déploiement est un clone du serveur qui permet de switcher quelle nœud est appelé si une application tombe.

Il est possible de répliquer une base de données mais on doit s’assurer de la consistance des données à l’intérieur. Pour cela, on a besoin d’un autre élément qui gère l’état et la consistance. Ce n’est pas une tâche facile et elle peut être coûteuse.

Configuration

Nous avons vu qu’il y avait 3 possibilités pour interagir avec Kub : UI, API ou ligne de commande (kuectl). Cela signifie que l’on va lui glisser des fichiers de configuration sous format yaml ou json pour lui indiquer les déclarations de Deployments et des Services