KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust
-
Upload
kubeacademy -
Category
Technology
-
view
1.066 -
download
0
Transcript of KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust
![Page 1: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/1.jpg)
KAWS Deploying Kubernetes Clusters using AWS, CoreOS, Terraform, and Rust
@jimmycuadra
![Page 2: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/2.jpg)
KUBERNETES IS THE FUTURE
![Page 3: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/3.jpg)
$ export KUBERNETES_PROVIDER=aws $ curl -sS https://get.k8s.io | bash
![Page 4: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/4.jpg)
![Page 5: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/5.jpg)
Reproducible infrastructure
![Page 6: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/6.jpg)
![Page 7: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/7.jpg)
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" }
![Page 8: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/8.jpg)
$ terraform plan
![Page 9: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/9.jpg)
+ 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>"
![Page 10: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/10.jpg)
$ terraform apply
![Page 11: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/11.jpg)
Provisioning
![Page 12: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/12.jpg)
Workflow
![Page 13: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/13.jpg)
INTRODUCING KAWS
![Page 14: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/14.jpg)
Goals
![Page 15: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/15.jpg)
Infrastructure as code
![Page 16: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/16.jpg)
Production grade Kubernetes clusters
![Page 17: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/17.jpg)
Secure access credentials
![Page 18: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/18.jpg)
Shell scripts
![Page 19: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/19.jpg)
![Page 20: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/20.jpg)
$ kaws init my-companys-infrastructure $ cd my-companys-infrastructure $ git init
![Page 21: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/21.jpg)
$ tree . !"" clusters !"" pubkeys #"" terraform #"" main.tf
![Page 22: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/22.jpg)
$ cat terraform/main.tf
module "kaws" { source = "github.com/InQuicker/kaws//terraform?ref=v0.1.0"
... }
![Page 23: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/23.jpg)
$ kaws key export [email protected]
![Page 24: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/24.jpg)
$ tree . !"" clusters !"" pubkeys $ #"" [email protected] #"" terraform #"" main.tf
![Page 25: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/25.jpg)
$ 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
![Page 26: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/26.jpg)
$ 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
![Page 27: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/27.jpg)
$ kaws cluster apply staging
![Page 28: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/28.jpg)
kubernetes.example.com
![Page 29: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/29.jpg)
$ kaws admin create
$ kaws admin sign
$ kaws admin install
![Page 30: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/30.jpg)
OPEN SOURCED TODAY
![Page 31: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/31.jpg)
github.com/InQuicker/kaws
![Page 32: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/32.jpg)
THANK YOU@jimmycuadra
![Page 33: KAWS - Deploying Kubernetes Clusters using AWS, CoreOS, Terraform and Rust](https://reader034.fdocuments.us/reader034/viewer/2022050614/58a2da441a28ab692e8b6885/html5/thumbnails/33.jpg)
QUESTIONS?@jimmycuadra