All Projects → kensuio → Dcos Up

kensuio / Dcos Up

Licence: apache-2.0
Launch DC/OS on AWS with Terraform and Consul

Labels

Projects that are alternatives of or similar to Dcos Up

Cloud crack
Crack passwords using Terraform and AWS
Stars: ✭ 29 (-23.68%)
Mutual labels:  hcl
Vector Test Harness
End-to-end test harness for the Vector observability data router
Stars: ✭ 32 (-15.79%)
Mutual labels:  hcl
Terraform Aws Ecs Fargate
Terraform module which creates ECS Fargate resources on AWS.
Stars: ✭ 35 (-7.89%)
Mutual labels:  hcl
Packet Terraform
Terraform scripts for packet.net
Stars: ✭ 29 (-23.68%)
Mutual labels:  hcl
Terraform Sqs Lambda Trigger Example
Example on how to create a AWS Lambda triggered by SQS in Terraform
Stars: ✭ 31 (-18.42%)
Mutual labels:  hcl
Rancher Tf Mc
Stars: ✭ 33 (-13.16%)
Mutual labels:  hcl
Awesome Terraform
A summarize of terraform usage and example
Stars: ✭ 29 (-23.68%)
Mutual labels:  hcl
Terraform Examples
Terraform Examples
Stars: ✭ 37 (-2.63%)
Mutual labels:  hcl
Aws Infrastructure
Boilerplate for a standard AWS infrastructure
Stars: ✭ 31 (-18.42%)
Mutual labels:  hcl
Terraform Reference
Terraform reference / skel Control Repo for building for building multi-tier services
Stars: ✭ 33 (-13.16%)
Mutual labels:  hcl
Terraform Course
Course files for my Udemy course about Terraform
Stars: ✭ 951 (+2402.63%)
Mutual labels:  hcl
Wordpress Ecs
Terraform and packer file to deploy Wordpress on Amazon ECS
Stars: ✭ 30 (-21.05%)
Mutual labels:  hcl
Terraform Google Log Export
This module allows you to create log exports at the project, folder, or organization level.
Stars: ✭ 33 (-13.16%)
Mutual labels:  hcl
Kubernetes Terraform Scaleway
Terraform formula for creating a Kubernetes cluster running on Scaleway
Stars: ✭ 29 (-23.68%)
Mutual labels:  hcl
Terraform Azurerm Network Security Group
Terraform module to create a network security group and assign it to the specified subnet
Stars: ✭ 36 (-5.26%)
Mutual labels:  hcl
Hcloud Okd4
Deploy OKD4 (OpenShift) on Hetzner Cloud
Stars: ✭ 29 (-23.68%)
Mutual labels:  hcl
Ebs bckup
Stars: ✭ 32 (-15.79%)
Mutual labels:  hcl
Karch
A Terraform module to create and maintain Kubernetes clusters on AWS easily, relying entirely on kops
Stars: ✭ 38 (+0%)
Mutual labels:  hcl
Terraform Aws Redshift
Terraform module which creates Redshift resources on AWS
Stars: ✭ 36 (-5.26%)
Mutual labels:  hcl
K8s Digitalocean Terraform
Deploy latest Kubernetes cluster on DigitalOcean using Terraform
Stars: ✭ 33 (-13.16%)
Mutual labels:  hcl

DCOS terraform infrastructure

Sets up DCOS infrastructure on AWS.

Install terraform

Download terraform for your operating system from Terraform Download page.

For OSX, it will be:

OS_DIST=darwin

For Linux

OS_DIST=linux

Now, assuming you're on a amd64 arch, you can install by running the following:

    cd $HOME
    TF_VERSION=0.6.14
    wget https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_${OS_DIST}_amd64.zip
    unzip terraform_${TF_VERSION}_${OS_DIST}_amd64.zip
    ln -s $HOME/terraform_${TF_VERSION}_${OS_DIST}_amd64 /usr/local/terraform
    export PATH=/usr/local/terraform:$PATH

Get this project

mkdir -p $HOME/dcos-terraform
cd $HOME/dcos-terraform
git clone https://github.com/data-fellas/dcos-up.git .

Create terraform credentials file

mkdir -p $HOME/.aws
cat > $HOME/.aws/terraform <<EOF
#!/bin/bash
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...
export AWS_DEFAULT_REGION="us-east-1"
EOF

See the plan

cd $HOME/dcos-terraform
source $HOME/.aws/terraform
terraform plan

Create infrastructure

cd $HOME/dcos-terraform
source $HOME/.aws/terraform
terraform apply

This will create all AWS resources and start the process of setting up DCOS masters, agents and the bootstrap node.

Infrastructure name

The template defines infrastructure name using the infra_name variable. The default name is test_infra, to change the name, for any Terraform operation:

cd $HOME/dcos-terraform
source $HOME/.aws/terraform
export TF_VAR_infra_name=myinfra
terraform apply
...

How does this work

The terraform apply command makes sure that all machines come up on the cloud provider and that all of them are set up for DCOS + have consul installed. From here, consul takes over. The consul-watch-nodes.py watcher awaits for all master and agent nodes. Once these are up, the watcher triggers the bootstrap node bootstrap process: https://docs.mesosphere.com/concepts/installing/installing-enterprise-edition/manual-installation/. When the bootstrap process finishes, the bootstrap node has the bootstrap docker container running. This container is what master and agents use to download dcos_install.sh program. The final step on the bootstrap node is registering bootstrap container service.
This service is then detected by the consul-service-watch.py, this watch triggers setup-dcos-node.sh run on master and agent nodes.
Once setup-dcos-node.sh finishes on all nodes, DCOS installation is complete.

Operating system

This setup uses CentOS 7. AMI IDs:

  • US East (N. Virginia): ami-6d1c2007
  • US West (Oregon): ami-d2c924b2
  • US West (N. California): ami-af4333cf
  • EU (Frankfurt): ami-9bf712f4
  • EU (Ireland): ami-7abd0209
  • Asia Pacific (Singapore): ami-f068a193
  • Asia Pacific (Sydney): ami-fedafc9d
  • Asia Pacific (Tokyo): ami-eec1c380
  • Asia Pacific (Seoul): ami-c74789a9
  • South America (Sao Paulo): ami-26b93b4a

License

Copyright 2016 Data Fellas SPRL

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].