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

kaws: Deploying Kubernetes Clusters using AWS, CoreOS, Terraform, and Rust

Jimmy Cuadra
November 12, 2015

kaws: Deploying Kubernetes Clusters using AWS, CoreOS, Terraform, and Rust

kaws is a tool for deploying Kubernetes that provides production-grade clusters in a predictable, repeatable way.

Jimmy Cuadra

November 12, 2015
Tweet

More Decks by Jimmy Cuadra

Other Decks in Technology

Transcript

  1. resource "aws_elb" "frontend" { name = "frontend-load-balancer" listener { instance_port

    = 8000 instance_protocol = "http" lb_port = 80 lb_protocol = "http" } instances = ["${aws_instance.app.*.id}"] } resource "aws_instance" "app" { count = 5 ami = "ami-043a5034" instance_type = "m1.small" }
  2. + aws_instance.example ami: "" => "ami-043a5034" availability_zone: "" => "<computed>"

    instance_type: "" => "m1.small" key_name: "" => "<computed>" private_dns: "" => "<computed>" private_ip: "" => "<computed>" public_dns: "" => "<computed>" public_ip: "" => "<computed>" security_groups: "" => "<computed>" subnet_id: "" => "<computed>"
  3. $ kaws cluster create staging \ --ami ami-1234 \ --domain

    example.com \ --kubernetes-version 1.0.7 \ --instance-size m3.medium \ --ssh-key deployer \ --uid [email protected] \ --zone-id Z1D633PJN98FT9
  4. $ tree . !"" clusters $ #"" staging $ !""

    apiserver-key.pem.asc $ !"" apiserver.pem $ !"" ca-key.pem.asc $ !"" ca.pem $ !"" ca.srl $ !"" node-key.pem.asc $ !"" node.pem $ !"" openssl.cnf $ !"" terraform.tfstate $ #"" terraform.tfvars !"" pubkeys $ #"" [email protected] #"" terraform #"" main.tf