Terraform + Mesos

download Terraform + Mesos

of 29

  • date post

    16-Jul-2015
  • Category

    Software

  • view

    260
  • download

    0

Embed Size (px)

Transcript of Terraform + Mesos

Terraform + MesosHow to run a Mesos cluster using Terraform

What is TerraformingProcess of modifying planets atmosphere, topography and ecology to make it habitable by life.

What is TerraformingProcess of modifying infrastructure to make it habitable by software.

What is TerraformOpen Source ToolInfrastructure as CodeNew Layer of Abstraction

Terraform ConceptsCommand Line Tool

$ terraform get$ terraform plan -out master.plan$ terraform apply master.plan$ terraform destroyTerraform ConceptsConfiguration Files

resource "google_compute_instance" "mybox" { name = "mybox" machine_type = "n1-standard-2" zone = "europe-west1-d"...}

Terraform ConceptsExecution Planresource "google_compute_instance" "mybox" { name = "mybox" machine_type = "n1-standard-2" zone = "europe-west1-d"...}+ module.mesos.google_compute_instance.mesos-master.0 can_ip_forward: "" => "0" disk.#: "" => "1" disk.0.auto_delete: "" => "1" disk.0.image: "" => "ubuntu-os-cloud/ubuntu-1404-trusty-v20150128" disk.0.type: "" => "pd-ssd" machine_type: "" => "n1-standard-2" metadata.#: "" => "1" metadata.0.#: "" => "4" metadata.0.clustername: "" => "presentation1" metadata.0.domain: "" => "example.com" metadata.0.mastercount: "" => "3" metadata.0.myid: "" => "0" metadata_fingerprint: "" => "" name: "" => "presentation1-mesos-master-0" ...

Terraform ConceptsProviders

Terraform ConceptsModules

Encapsulation of TF FunctionalityCode Reusability

Terraform WorkflowConfigure Cloud ProviderDefine InfrastructureGenerate PlanApply PlanUpdate Infrastructure DefinitionTerraform Exampleprovider.tf (Google)server.tf (3x Debian Instance)network.tffirewall.tf

00m35sMesosPurposeStructureWorkflow

Traditional Data CenterResource usage

Traditional Data Centre

Mesos

MasterSlaveSlaveSlave

Mesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlaveMesos

Master

SlaveSlaveSlave

Master

SlaveSlaveSlaveMesos - final setupTerraform a Mesos clusterProviderNetworkFirewallMaster nodesSlave nodesDemo timeWhats next?Open issues in GitHubFeature requestsBlog posts http://container-solutions.com/blog/Beer!