30
Introduction à Rancher: Outil d'orchestration Docker 1

Docker meetup 2012106: Introduction à Rancher

Embed Size (px)

Citation preview

Introduction à Rancher:Outil d'orchestration Docker

1

2

PRESENTATION:Rachid Zarouali

Responsable SI

Synolia: intégrateur solutions E-Commerce/CRM/BI

twitter: @xinity

3

RANCHER:Developpé par RancherLabsOutil de pilotage d'infrastructure Docker100% OpenSourceProduction ready depuis la Version 1.2Version "entreprise" bientôt disponible

4

VUE D'ENSEMBLE:Modulaire:

UI: WebApp d'administrationrancher-compose: Cattle: Orchestration interneAPI REST

Mode: Serveur<->Agent(s)Support de Mesos/Kubernetes/SwarmSupport des principaux IaaS/PaaS

Integration de docker-machine

5

6

7

FONCTIONNALITÉSHigh Availability (DB mysql externe)RBAC (envionnement uniquement)Rancher Catalog (public ou privé)Rolling UpgradeRancher Services (DNS, Metadata, ....)HealthCheckAutoScaling

8

HIIGH AVAILABILITYActif/actifNécessite :

2 node server minimumune DB Mysql externe

Attention au sizing Mysql!

50 connexion/server2Go de RAM

9

CONTRÔLE D'ACCÈSGithubActive DirectoryLDAPSHIBBOLETH (v1.2)Compte locaux (Mysql)Environnement uniquement

AdminUser

10

RANCHER CATALOGRéférentiel d'application / stack applicative

dépot git structuré

2 formes disponibles par défaut:

Certifié rancherCommunity

S'appuie sur {docker,rancher}-compose

11

RANCHER CATALOG ├── traefik │ ├── 0 │ │ ├── docker-compose.yml │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── 1 │ │ ├── docker-compose.yml │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── 2 │ │ ├── docker-compose.yml │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── 3 │ │ ├── docker-compose.yml │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── 4 │ │ ├── docker-compose.yml │ │ ├── rancher-compose.yml │ │ └── README.md │ ├── catalogIcon-Traefik.svg │ └── config.yml

12

ROLLING UPGRADE

Stack applicative uniquementUpgrade "safe"Downgrade/Rollback possibleBlue/green deployment

https://botleg.com/stories/blue-green-deployment-with-docker/

13

AUTOSCALING

Répartition dynamique des servicesStack / Catalog uniquementS'appuie sur rancher-compose/!\ ne pas utiliser à haute charge /!\Scaling manuel pour tout autre "service"

14

RANCHER SERVICES

Ensemble de services internes / externesSimplifient le déploiement / administrationDNSIPSEC (overlay network) LBHealthCheckServeur de metadata

15

INSTALLATION

Linux (Kernel 3.10+)RancherOSCoreOSVMware photon/!\ RHEL/Centos /!\

devicemapper loopback

16

INSTALLATION (BIS)manuellement

docker run -d --restart=unless-stopped -p 8080:8080 rancher/server

Receipt Ansible / Salstack GCE:

$ gcloud compute instances create rancher-server \ --image-family coreos-beta \ --image-project coreos-cloud \--machine-type n1-standard-1 \--scopes useraccounts-ro,storage-rw,logging-write,monitoring-write,service-management,service-control,compute-rw,cloud-platform

$ gcloud ssh core@rancher-server

$ docker run -d --restart=unless-stopped -p 8080:8080 rancher/server

17

FOLLOW THE RULES !!!

N°1 : sur le serveur en production, d'agent tu n'installera point!

N°2 : Une DB Mysql externe tu deploiera, la HA tu activera !

N°3 : L'authentification par défaut tu configureras !

18

MONITORING:intégré

cpu / ram / disque / network

metric graphite ( mode push )

mode push (api non documentée)

applications tierces:

cadvisorprometheus exportercollectd docker plugin

External services (sematext / DataDog ...)

19

BACKUP:

docker volume driver

EmcGlusterFS nfsamazon S3convoy (RancherLabs)

dockup (TuTum)Flocker

20

21

22

23

KUBERNETES INTEGRATION1 node minimum ( minikube like )deploiement automatiqueRancher Catalog spécifique (pauvre)s'appuie sur les Rancher ServicesKubernetes Dashboard KO :(

24

25

MESOS INTEGRATION3 nodes minimumDéploiement automatique

( un peu douloureux ! )

s'appuie sur les Rancher ServicesMesos Marathon disponibleCatalog Marathon KO (DCOS Only)

26

27

http://www.synolia.com/carrieres/offres-d-emplois/administrateur-systemes-reseaux-hf-lyon/

28

29

30