Meetup Docker Geneva
Orchestrators
SW Docker-DevOps Team
Mai 2018
|
Docker Swarm
Par Eric Duquesnoy
Mai 2018Meetup Docker Geneva : Orchestrators 3
|
Kubernetes
Par Sebastien Goasguen
Kubernetes lead at Bitnami, Founder of Skippbox, O’Reilly Author.
Mai 2018Meetup Docker Geneva : Orchestrators 4
|
Jelastic
Par Matthieu Robin
CEO HIDORA
Mai 2018Meetup Docker Geneva : Orchestrators 5
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 6
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 7
Mais pourquoi un cluster ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 8
Mais pourquoi un cluster ?
• Exécution sur plusieurs machines
• Mode distribué
• Haute-Disponibilité
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 9
La solution : L’Orchestrateur !
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 10
La solution : L’Orchestrateur !
 Docker version postérieure à 1.12
 Directement embarqué avec le moteur
 Schéma Master / Worker
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 11
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 12
• Minimum 3 managers (Raft consensus)
• Réseau overlay
• Pas de containers mais des services
• Les réplicas ou tasks vont être déployés
• Load Balancer embedded
• Statut géré par le Boss
• Configuration de Swarm dans etcd
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 13
• Les workers travaillent !! (pull …)
• TLS automatique entre les nœuds
• Gestion des certificats
• Ouverture des ports :
 2377 => clients
 7946 (tcp et udp) => gossip protocol
 4789 (udp) => overlay
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 14
Monter un cluster ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 15
Vive Docker-machine !!
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 16
Initialiser un cluster ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 17
Initialiser un cluster ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 18
Ajouter des workers ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 19
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 20
Un vrai cluster de 3 nœuds ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 21
Yessss !!
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 22
Les 3 commandes magiques d’un cluster Swarm ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 23
Les 3 commandes magiques d’un cluster Swarm :
1. docker swarm
2. docker service
3. docker node
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 24
Sécuriser un cluster swarm ? Facile !
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 25
Sécuriser un cluster swarm ? Facile !
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 26
Comment créer un service ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 27
Comment créer un service ?
Tous les services sont
constamment
monitorés par Swarm,
il compare en
permanence l'état
désiré avec l'état
actuel.
Si il y a un écart,
Swarm entreprend les
actions correctrices
dans les plus brefs
délais !!
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 28
Différence entre les services globaux et les services répliqués ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 29
La mise à jour des services ou le fameux Rolling Update !
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 30
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 31
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 32
Comment gérer le rollback en cas de problème ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 33
Comment gérer le rollback en cas de problème ?
• Avant la 17.04 , le rollback est manuel :
• «docker service update –rollback –update delay 10s ms-svc»
• Avec la 17.04 , le rollback peut être automatique :
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 34
Comment gérer les logs avec de multiple réplicas ?
Les drivers de logs :
• Par défaut, le log driver "json-file" sera utilisé.
• gelf
• splunk
• graylog
• syslog
• Journald
• Fluend
• Awslogs
• Etwlogs
• gcplogs
• ...
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 35
Comment gérer les logs avec de multiple réplicas ?
Les drivers de logs :
• Par défaut, le log driver "json-file" sera utilisé.
• gelf
• splunk
• graylog
• syslog
• Journald
• Fluend
• Awslogs
• Etwlogs
• gcplogs
• ...
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 36
Comment gérer les certificats ?
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 37
Comment gérer les certificats :
• La rotation des certificats entre les différents nœuds est automatique dans Swarm et
s'effectue tous les 90 jours.
• Les certificats maintiennent l'encryption des communications entre les nœuds et donc leur
confidentialité.
• Le manager ou le leader dans le cas ou nous avons plusieurs managers sera considéré
comme "le root CA".
• Si vous suspectez que les certificats de un ou plusieurs de vos noeuds ont été compromis
vous pouvez les révoquer très simplement.
• Et ainsi en produire de nouveau pour sécuriser l'ensemble des noeuds.
|
Docker Swarm
Mai 2018Meetup Docker Geneva : Orchestrators 38
Comment gérer les certificats :
|
News
Mai 2018Meetup Docker Geneva : Orchestrators 39
|
Happy Birthday !!
Mai 2018Meetup Docker Geneva : Orchestrators 40
|
Dockercon 2018 SF
Mai 2018Meetup Docker Geneva : Orchestrators 41
|
Docker EE 2.0 !!!
Mai 2018Meetup Docker Geneva : Orchestrators 42
|
Play with Kubernetes
Mai 2018Meetup Docker Geneva : Orchestrators 43
|
Get the news !
Mai 2018Meetup Docker Geneva : Orchestrators 44
|
Miam !! Miam !!
Mai 2018Meetup Docker Geneva : Orchestrators 45

Docker Geneva Meetup - Swarm