Kubernetes

Sommaire
- Introduction
- Docker
- Application Qwark
- Déployer Keybab sur k8s ?

VM vs Conteneurs
Serveur 1










Serveur 2




Cluster
Master
Workers
kube-apiserver
Etcd
kube-scheduler
kube-controller-manager
kubelet
kube-proxy
Container Runtime
DNS
Docker





Build process VM


Build process Container




Dockerfile
A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.

Construction d'une image

Projet Qwark



Pods
Les Pods sont les plus petites unités informatiques déployables qui peuvent être créées et gérées dans Kubernetes.
Un pod [...] est un groupe d'un ou plusieurs conteneurs (comme des conteneurs Docker), ayant du stockage/réseau partagé, et une spécification sur la manière d'exécuter ces conteneurs.





v1
Master Node
Worker nodes
Services
Node Port
Cluster IP
LoadBalancer
Expose un service via un port sur tous les nodes
Expose un service de manière interne au cluster
Expose un service en via un loadbalancer TCP du cloud provider



Ciblent des pods via des sélécteurs
Services
Node Port


Services
LoadBalancer






v1
Master Node
Worker nodes



Replica sets
Un ReplicaSet (ensemble de réplicas en français) a pour but de maintenir un ensemble stable de Pods à un moment donné. Cet objet est souvent utilisé pour garantir la disponibilité d'un certain nombre identique de Pods.

Replica sets






v1
Master Node
Worker nodes



Deployments
Un Deployment (déploiement en français) fournit des mises à jour déclaratives pour Pods et ReplicaSets.

Deployments






v2
Master Node
Worker nodes


Config map
Une configmap est un objet d'API utilisé pour stocker des données non confidentielles sous un format clé - valeur.
Les pods peuvent utiliser les configmap comme variable d'environnement, argument de ligne de commande ou configuration dans un volume (fichier / dossier)

Config map


Secrets
Un secret est un objet qui contient une petite quantité de données sensibles telles qu'un mot de passe, un jeton ou une clé.

Secrets






v3
Master Node
Worker nodes

Secret config



Persistance
Storage Class
Persistant Volume
Persistant Volume Claim
Persistance
Persistance






v4
Master Node
Worker nodes

Secret config
Persistant Storage

Ingress
Un Ingress est un objet Kubernetes qui gère l'accès externe aux services dans un cluster, généralement du trafic HTTP.
Un Ingress peut fournir un équilibrage de charge, une terminaison TLS et un hébergement virtuel basé sur un nom.

Ingress






v4
Master Node
Worker nodes

Secret config
Persistant Storage


Keybab

Workloads

Workloads
custom_segments.yml
locales/
custom_segments.yml
Env
Stockage
Accessible
Workloads
custom_segments.yml
locales/
custom_segments.yml
Env
Stockage
Workloads
custom_segments.yml
locales/
custom_segments.yml
Env
Kubernetes
By foret_a
Kubernetes
- 400