Docker et Kubernetes

Introduction à Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Outils d'orchestration de conteneurs

outils d'orchestration de conteneurs

  • Les piles logicielles modernes comptent souvent des milliers de conteneurs
  • La gestion de tous ces conteneurs s'appelle l'orchestration de conteneurs ; plusieurs outils d'orchestration existent
  • Kubernetes détient une part de marché estimée à plus de 95 %
Introduction à Kubernetes

Kubernetes pour l'orchestration

  • Kubernetes résout les défis typiques de l'orchestration de conteneurs, p. ex. :
    • ordonnancement et réseautage (où déployer un conteneur et comment les connecter)
    • comment attacher du stockage à un conteneur
  • Pour ce faire, Kubernetes interagit avec des moteurs de conteneurs.

Kubernetes et Docker

Introduction à Kubernetes

Relation entre Docker et Kubernetes

  • Souvent, Docker est le moteur de conteneurs privilégié
  • Kubernetes interagit avec Docker comme moteur pour planifier et maintenir les conteneurs
  • Docker sert généralement à deux tâches :
    • créer et mettre à jour des images Docker
    • démarrer des conteneurs à partir de ces images
  • Kubernetes ne crée jamais d'images Docker ; vous utilisez Docker pour cela
Introduction à Kubernetes

Manifeste Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25.4
        ports:
        - containerPort: 80
  • Les objets Kubernetes (p. ex., conteneurs) sont décrits dans des manifeste Kubernetes
  • Les manifestes sont des fichiers YAML qui décrivent quels objets vous voulez, comment les configurer, où les planifier, et bien plus
  • Les manifestes sont déclaratifs : vous décrivez ce que vous voulez, ou l'état à atteindre
  • Ils ne sont pas impératifs : vous ne décrivez pas comment y arriver
Introduction à Kubernetes

kubectl

kubectl et Kubernetes

  • kubectl est un outil en ligne de commande pour interagir avec Kubernetes
  • kubectl offre de nombreuses commandes et options
  • kubectl lit vos manifestes, les envoie à Kubernetes via son API, et Kubernetes calcule quoi faire pour atteindre l'état souhaité
  • Se prononce « cube cuddle » ;-)
Introduction à Kubernetes

Passons à la pratique !

Introduction à Kubernetes

Preparing Video For Download...