deploy kubernetes clusters on any cloud using terraform, coreos, and docker · on-prem cloud linux...

22
Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker

Upload: others

Post on 22-May-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

Deploy Kubernetes clusters on any cloud using Terraform,

CoreOS, and Docker

Page 2: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

End-to-end Kubernetes Automation Platform

on-prem ◆ cloud ◆ linux ◆ windows

Page 3: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

Spartak Buniatyan

• Founder of KubeGrid.com

• Medtronic -- Director Of Mobile Apps Engineering

• AT&T/DIRECTV -- Sr. Manager, Mobile Engineering

• Other projects: Closer live streaming camera, Pixity Photo Sharing App,

Backup-Pal Instant contacts backup solution

• USC School of Engineering (Viterbi) – Advanced Mobile Apps Dev Lecturer

20+ years of industry experience

Page 4: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

The struggle is real!

Page 5: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

How can we be smart about our infrastructure?

Page 6: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

Session Goals

•Overview • Terraform • Container Linux (CoreOS) • Docker • Kubernetes • Kubeadm • Flannel • etcd

•Hands on-demo!

Page 7: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

Benefits of unmodified Kubernetes

• Vibrant Kubernetes Community

• Access to latest Kubernetes releases

• Reduce risk from known exploits and vulnerabilities

• Utilize other opensource projects

• No lock-ins to a specific vendor or cloud provider

Page 8: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

What is Terraform

Terraform is a tool to Build, Change,

and Version Control your infrastructure.

Page 9: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

What is Container Linux (CoreOS)

CoreOS maintains a lightweight host system and

uses containers for all its applications.

Page 10: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

What is Docker

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on

laptops, data center VMs, or the cloud.

Page 11: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

What is Kubernetes

Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that

facilitates both declarative configuration and automation.

Page 12: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

What is kubeadm

Kubeadm is a tool built to provide kubeadm init and kubeadm join as best-practice “fast paths” for

creating Kubernetes clusters.

Page 13: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

What is etcd

Distributed key/value store for easy communication

between instances for high availability

Page 14: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

What is flannel

Private network across all clustered instances.

Page 15: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

Enough talking!

Demo time!

Page 16: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

Want copy of demo code?

Email: [email protected]

m

Page 17: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

End-to-end Kubernetes Automation Platform

on-prem ◆ cloud ◆ linux ◆ windows

Page 18: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

END OF SLIDES

Page 19: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

Terraform Benefits

• Cloud provider agnostic

• Creation and consistency

• Declarative control of cloud resources

• Apply incremental changes

• Preview changes

• Replicate and scale easily

• Use source control

• Form of Documentation

Page 20: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

CoreOS Benefits

• OS is Security focused

• Auto-update OS with A/B partition

• Support cluster architecture

• Integrates well with Kubernetes

• Up and running quickly rather than waste time installing all the required software and managing conflicts

Page 21: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

Docker Benefits

• Isolation

• Security

• Compatibility and Maintainability

• Continuous Deployment and Testing

• Simplicity and Faster Configurations

• Replicate and scale easily

Page 22: Deploy Kubernetes clusters on any cloud using Terraform, CoreOS, and Docker · on-prem cloud linux windows What is Docker Docker is an open platform for developers and sysadmins to

end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows

Kubernetes Benefits

• Designed for deployment & High Availability

• Automation and simplifying of your daily container workflow

• Automates deploying, scaling and managing containerized applications

• Automatically handle networking, storage, logs, alerting, etc. for all your containers

• Reduction of resource costs

• Outstanding community and industry support

• Replicate and scale easily