Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nomad, l'orchestration made in Hashicorp

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Nomad, l'orchestration made in Hashicorp

Présentation faite sur Nomad, l'orchestration made in Hashicorp, au Meetup HashiCorp User Group France du 6 juin 2017.

Avatar for Bastien Cadiot

Bastien Cadiot

June 06, 2017
Tweet

Other Decks in Technology

Transcript

  1. Architecte virtualisation Lead DevOps Cloud Builder … Je suis... Bastien

    Cadiot (@bcadiot) Nomad, l’orchestration made in Hashicorp www.wescale.fr | @YesWeScale HashiCorp User : Terraform, Consul, Vagrant Et … utilisateur de Nomad depuis la version 0.1.0
  2. Nos clients Nos clients Nomad, l’orchestration made in Hashicorp Une

    installation compliquée est rarement un bon signe pour l’avenir
  3. • Rationaliser • Simplifier Pourquoi orchestrer ? Rappel des évidences

    Nomad, l’orchestration made in Hashicorp • Ordonnancer • Prioriser • Standardiser • Densifier • Piloter • Sécuriser
  4. Trendy - Kubernetes Stable - Mesos Easy - Swarm Quels

    sont les choix ? Nomad, l’orchestration made in Hashicorp
  5. Distribué Flexible Simple • Multi-datacenter • Multi-cloud • Hautement disponible

    • Any Runner • Service et batch • Isolation • Service unique • Configuration simple • Librairies stables Pourquoi Nomad ? Nomad, l’orchestration made in Hashicorp
  6. Etape 1 : Création d’un cluster Nomad • Instanciation de

    3 VM serveurs • Installation de Consul et Nomad Server • Instanciation de 3 VM clients • Installation de Consul Client, Nomad Client, et Docker Init & Run Besoin : Déployer une application sur une infra de conteneurs Nomad, l’orchestration made in Hashicorp Etape 2 : Création d’une appli Nomad • Création du fichier job • Enregistrement du job sur le cluster Nomad • Vérification du lancement de l’application
  7. { "bootstrap_expect": 3, "server": true, "datacenter": "gce-west1", "data_dir": "/var/consul", "log_level":

    "INFO", "enable_syslog": true, "bind_addr": "10.1.2.3", "client_addr": "0.0.0.0", "advertise_addr": "8.7.6.5" } Etape 1 - Initialisation Fichiers de configurations (Serveurs) Nomad, l’orchestration made in Hashicorp region = "europe" datacenter = "gce-west1" data_dir = "/var/nomad" bind_addr = "0.0.0.0" advertise { rpc = "8.7.6.5" http = "8.7.6.5" serf = "8.7.6.5" } server { enabled = true bootstrap_expect = 3 } consul { address = "127.0.0.1:8500" }
  8. Etape 2 - Running Fichier de configuration (Job) Nomad, l’orchestration

    made in Hashicorp job "pcd2017" { region = "europe" datacenters = ["gce-west1"] type = "service" group "webs" { … } group "database" { … } } group "webs" { count = 2 task "frontend" { driver = "docker" config { image = "bcadiot/app-pcd2017:1.0" } service { port = "http" } resources { cpu = 200 memory = 64 network { mbits = 100 port "http" { static = 80 } } } } }
  9. Etape 3 : Création d’un datacenter France • Création d’un

    datacenter chez un cloud provider Français (OVH) • Instanciation de 3 VM serveurs • Installation de Consul Server • Jonction avec les serveurs Europe • Instanciation de 1 VM client • Installation de Consul Client, Nomad Extend & Update Besoin : Mise à jour pour un besoin client Nomad, l’orchestration made in Hashicorp Etape 4 : Mise à jour d’une appli Nomad • Modification du fichier job pour ajouter les contraintes • Mise à jour du job sur le cluster Nomad • Vérification de l’application
  10. Etape 3 - Extending Fichier de configuration (Nomad Client) Nomad,

    l’orchestration made in Hashicorp region = "europe" datacenter = "france" data_dir = "/var/nomad" bind_addr = "0.0.0.0" advertise { rpc = "5.6.7.8" http = "5.6.7.8" serf = "5.6.7.8" } client { enabled = true node_class = "data" }
  11. Etape 4 - Updating Fichier de configuration (Job) Nomad, l’orchestration

    made in Hashicorp job "pcd2017" { ... datacenters = ["gce-west1", "france"] ... group "webs" { … } group "database" { … } } group "database" { count = 1 … constraint { attribute = "${node.class}" value = "data" } constraint { attribute = "${node.datacenter}" value = "france" } ... }
  12. Etape 5 : Création d’une région Nomad situé aux USA

    et liaison des deux régions • Création d’un VPC chez un cloud provider Américain (AWS) • Instanciation de 3 VM serveurs • Installation de Consul Server, et Nomad Server • Jonction de la nouvelle région avec la région Europe • Instanciation de 3 VM clients • Installation de Consul Client, Nomad Client, et Docker Scaling Besoin : Accompagner la montée en puissance Nomad, l’orchestration made in Hashicorp
  13. { "bootstrap_expect": 3, "server": true, "datacenter": "aws-west2", "data_dir": "/var/consul", "log_level":

    "INFO", "enable_syslog": true, "bind_addr": "35.99.88.77", "client_addr": "0.0.0.0", "advertise_addr": "35.99.88.77" } Etape 5 - Scaling Fichiers de configurations (Serveurs) Nomad, l’orchestration made in Hashicorp region = "us" datacenter = "aws-west2" data_dir = "/var/nomad" bind_addr = "0.0.0.0" advertise { rpc = "35.99.88.77" http = "35.99.88.77" serf = "35.99.88.77" } server { enabled = true bootstrap_expect = 3 } consul { address = "127.0.0.1:8500" }
  14. Nos clients Nos clients Nomad, l’orchestration made in Hashicorp Paris

    Container Day http://paris-container-day.fr/ Twitter : @bcadiot Questions ? Merci !