managing kubernetes with terraform

15

Click here to load reader

Upload: harshal-shah

Post on 16-Mar-2018

243 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Managing kubernetes with terraform

Managing Kubernetes with Terraform

Harshal ShahPune Kubernetes Meetup #12

Page 2: Managing kubernetes with terraform

Expect a bittersweet ending

Page 3: Managing kubernetes with terraform

What is Terraform?

Terraform is a tool for building, changing and versioning your infrastructure via

code.

Page 4: Managing kubernetes with terraform

Terraform v/s Puppet, Chef, Ansible

Page 5: Managing kubernetes with terraform

Terraform v/s CloudFormation, Heat etc.

Page 6: Managing kubernetes with terraform

Terraform Components

HCL

HashiCorp Configuration Language

HCL v/s JSON, YAML

HCL v/s Ruby

https://github.com/hashicorp/hcl

Page 7: Managing kubernetes with terraform

Terraform Components

Resources

Page 8: Managing kubernetes with terraform

Terraform Components

Providers

Page 9: Managing kubernetes with terraform

Terraform Components

State File

● Stores state information of

managed infrastructure

● Used to map resources with

configuration

● JSON

● Performance improvements for

large infrastructure operations

● Can be local or remote

Page 10: Managing kubernetes with terraform

Demo and Code Walkthrough

Page 11: Managing kubernetes with terraform

Painpoints

Kubernetes Beta resources not supported

Page 12: Managing kubernetes with terraform

Painpoints

Ordering between providers not supported yet

Page 13: Managing kubernetes with terraform

Painpoints

Some other gotchas:

https://heap.engineering/terraform-gotchas/

https://charity.wtf/tag/terraform/

Page 14: Managing kubernetes with terraform

Reasons to be Optimistic

Kubernetes provider is *very* new and

will mature over time.

Page 15: Managing kubernetes with terraform

Thank you!