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
- 378