Académique Documents
Professionnel Documents
Culture Documents
Thibault SAUSSAC
What’s containers ?
2 Interne Orange
img : kubernetes.io
What’s Docker ? (vs virtual machines)
Les conteneurs Docker peuvent être considérés comme des VM sans leur propre système
d'exploitation
Ils partagent tous le système d'exploitation hôte et sont séparés à l'aide d'outils du kernel tels
que cgroups, namespaces, ..
Du point de vue de conteneur, chaque conteneur a son propre système de fichiers.
3 Interne Orange
What’s Docker ? (vs virtual machines)
Container
4 Interne Orange
Docker vs. Virtual machines
5 Interne Orange
What’s Docker ?
6 Interne Orange
img : https://fr.wikipedia.org/wiki/Docker_(logiciel)
How it works ?
-
Et la commande, « docker build » pour build l’image
7 Interne Orange
How it works ?
8 Interne Orange
How it works ?
Images vs Containers :
Image: fichier immuable contenant le code source, les bibliothèques, les dépendances, les outils et autres fichiers nécessaires
à l'exécution d'une application.
Project + dockerfile
9 Interne Orange
How it works ?
Containers Mgt
tools
Images Mgt
tools
Container Networking
tools
10 Interne Orange
img : https://www.lemondeinformatique.fr/
How it works ?
11 Interne Orange
How it works ?
Nb:
Une fois que le conteneur est arrêté, vous perdez les données à l’interieur.
En cas de besoin de persistance, 2 options : mount a host’ folder dans le conteneur,
ou ajouter un « Docker volume ».
12 Interne Orange
The registry
Retrieve images
13 Interne Orange
Search
Official image
Documentation
14 Interne Orange
Quick setup
Parametre parameters :
- name: nom du conteneur
- d: en background
(detach)
- e: variable d’env
15 Interne Orange
The registry hub.docker.com
https://hub.docker.com/_/python
16 Interne Orange
FREE:
-
Unlimited public repos
-
One private repo
TEAM: 7$/user/month
-
Collaboration & Mgt tools
17 Interne Orange
Prod : how to setup the prod application :
Environment variable
- Containers in pods :
- Shared storage
- Shared unique cluster IP
address
19 Interne Orange
img : https://www.gekko.fr/kubernetes-son-architecture/
Kubernetes
Master node, 3 processes: Entrypoint / API Assign pods to
- kube-apiserver nodes
- kube-controller-manager
- kube-scheduler
Control the system
Connect to master
Nodes, 2 processes:
- kubelet
- kube-proxy
Network services & container runtime
20 Interne Orange
Container runtime (e.g.
Docker)
Kubernetes : How to use
e.g.
kubectl get pods – list the pods
kubectl get nodes – list the nodes
kubectl create deployment mydeploy \
--image=rabbitmq:latest
22 Interne Orange
img : kubernetes.io
Kubernetes : How to use - Example
1 – list of pods on the cluster
2 – list of « replicasets »
7 – 1 pod is left
23 Interne Orange
img : kubernetes.io
Kubernetes : How to use - Example
1 – list of pods on the cluster
2 – list of « replicasets »
7 – 1 pod is left
24 Interne Orange
img : kubernetes.io
Kubernetes : How to use - Example
1 – list of pods on the cluster
2 – list of « replicasets »
7 – 1 pod is left
25 Interne Orange
img : kubernetes.io
Kubernetes : How to use - Example
1 – list of pods on the cluster
2 – list of « replicasets »
7 – 1 pod is left
26 Interne Orange
img : kubernetes.io
Kubernetes : How to use - Example
1 – list of pods on the cluster
2 – list of « replicasets »
7 – 1 pod is left
27 Interne Orange
img : kubernetes.io
Kubernetes : How to use - Example
1 – list of pods on the cluster
2 – list of « replicasets »
7 – 1 pod is left
28 Interne Orange
img : kubernetes.io
Kubernetes : Other features
- Performance monitoring
29 Interne Orange
Declarative Imperative
« Set replica=3 » « Add 2 replicas »
Advantages
Rollback scenario : Self-healing algorithm :
- Apply config v2 - Do current state match desired state ?
* Bad things happened * - Yes : re-check
- Re-apply config v1 - No : re-apply desired state
Backend app:
- Python functions Frontend app:
behind http - Nginx that serves
HTML/CSS/JS files
31 Interne Orange
Load Balancer
Replicated service
AI TEAM
33 Interne Orange
34 Interne Orange
35 Interne Orange
https://12factor.net/
Merci