deploy kubernetes clusters on any cloud using terraform ...€¦ · coreos, and docker . end-to-end...

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

Upload: others

Post on 11-Jul-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

Deploy Kubernetes clusters on any cloud using Terraform,

CoreOS, and Docker

Page 2: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

End-to-end Kubernetes

Automation Platform

on-prem ◆ cloud ◆ linux ◆ windows

Page 3: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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

Spartak Buniatyan

• 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 . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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

Session Goals

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

•Hands on-demo!

Page 6: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 7: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 8: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 9: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 10: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 12: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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 13: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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

Page 14: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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

What is etcd

Distributed key/value store for easy communication

between k8s master instances for high availability

Page 15: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

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

What is flannel

Private network across all clustered instances.

Page 16: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

Enough talking!

Demo time!

Page 17: Deploy Kubernetes clusters on any cloud using Terraform ...€¦ · CoreOS, and Docker . End-to-end Kubernetes ... • USC School of Engineering (Viterbi) – Advanced Mobile Apps

End-to-end Kubernetes

Automation Platform

on-prem ◆ cloud ◆ linux ◆ windows