Deploy Kubernetes clusters on any cloud using Terraform,
CoreOS, and Docker
End-to-end Kubernetes
Automation Platform
on-prem ◆ cloud ◆ linux ◆ windows
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
end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows
The struggle is real!
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!
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.
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
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.
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
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.
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
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.
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
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
end-to-end kubernetes automation platform on-prem ◆ cloud ◆ linux ◆ windows
What is flannel
Private network across all clustered instances.
Enough talking!
Demo time!
End-to-end Kubernetes
Automation Platform
on-prem ◆ cloud ◆ linux ◆ windows