SlideShare a Scribd company logo
Kubernetes Operations {KOPS}
About Me
● Sathya
● Ops @ Adobe I/O
● Handled Dev/Ops/DBA/Data Migration/etc etc
Task
● Deploy Kubernetes on AWS
● Easy?
Maybe not..
Toolchain choices
● DIY
● Kubernetes Operations (“production grade”)
● Kube-up.sh (removed as of 1.6)
● Kubeadm
● Kube Spray
● CoreOS Techtonic
Kubernetes Operations (“kops”)
● Kubernetes Operations
○ Current recommended/supported for AWS
○ “Production grade”
○ Can create single/HA Master node
○ Kubectl for the cluster
What can kops do?
● Create clusters
○ Create new VPC
○ Use an existing VPC
● Update clusters
○ Increase node counts
○ Increase instance size
○ Rolling* updates
○ Change root volume size
○ Change instance group to Spot instances
● Upgrade clusters
○ Import/upgrade from kube-up to kops
○ Upgrade across versions
What else can kops do?
● Output config
○ Terraform
○ Cloudformation
○ Actually launch the instances
● Dry run by default
● Create Bastion host
● Tear down the cluster
● Many more. Read the docs!
Pre-requisites
● awscli installed
○ pip install awscli
● kubectl installed
○ Mac: brew install kubectl
○ Others
● AWS Account*
○ You maybe charged some amount
● Full control over a FQDN*
● kops installed
○ Mac: brew install kops
○ Linux
*Conditions apply!
Way kops works
● Creates an IAM group
● Attach below group policies
○ AmazonEC2FullAccess
○ AmazonRoute53FullAccess
○ AmazonS3FullAccess
○ IAMFullAccess
○ AmazonVPCFullAccess
● Creates a user to this group
● Creates S3 bucket to store state
Way kops works
● Set the name of the cluster to NAME
● Set the master & node size/count
● kops create cluster
● ….
● Magic!
Points to note
● You do not* need control over domain
○ *caveat: kops needs to be v1.6.2 & above
■ Cluster name must end in .k8s.local
● Kops creates security groups for SSH open to all
○ Always review what kops does with kops edit cluster $NAME
● Kops creates masters & nodes in public subnet
● Turn on versioning in S3
Points to note
● Kops creates m3.medium for master and 2x t2.medium for nodes by default.
○ Size accordingly.
● Kops creates a new VPC, IGW, subnet but you can make it reuse existing VPC &
subnets
○ export VPC_ID=vpc-12345678
○ export NETWORK_CIDR=10.100.0.0/16
○ kops create cluster ${NAME} --vpc=${VPC_ID}
Instance Groups
● Groups of similar machines
● Master IG, Node IG
● Edit IG, changes reflect on all instances
○ kops get instancegroups
○ kops edit ig
○ kops update cluster ${NAME}
● Changes apply to new instances only!
○ Do a rolling update to update existing instances
Hammertime!
● http://u.sbhat.me/kops-setup
Docs & References
● Kops Documentation - https://github.com/kubernetes/kops/tree/master/docs
● Deploying Highly Available Kubernetes cluster with Kops -
https://renzedevries.wordpress.com/2017/02/09/deploying-a-highly-available-kuber
netes-cluster-to-aws-using-kops/
● AWS Blog - https://aws.amazon.com/blogs/compute/kubernetes-clusters-aws-kops/
● Backstory of Kubernetes - https://changelog.com/podcast/250
Q&A? Reach me
● Twitter - sathyabhat
● Email - sathya@sathyasays.com
● DevUp Slack
○ Join in https://slackipy.herokuapp.com/
○ #devops channel

More Related Content

PDF
Using ansible to core os & kubernetes clusters
PDF
OpenShift.io on Gluster
PDF
reInvent 2021 Recap and k9s review
PDF
Cloud Firestore – From JSON Deserialization to Object Document Mapping (ODM)
PDF
Flowable on Kubenetes
PDF
CoreOS @ summer meetup in Utrecht
ODP
LinuxKit Swarm Nodes
PPTX
NDC Oslo - The Hybrid Docker Swarm
Using ansible to core os & kubernetes clusters
OpenShift.io on Gluster
reInvent 2021 Recap and k9s review
Cloud Firestore – From JSON Deserialization to Object Document Mapping (ODM)
Flowable on Kubenetes
CoreOS @ summer meetup in Utrecht
LinuxKit Swarm Nodes
NDC Oslo - The Hybrid Docker Swarm

What's hot (20)

PDF
Using linuxKit to build custom rancherOS systems
PDF
Scalability and Performance of CNS 3.6
PDF
OSv at Usenix ATC 2014
PDF
Running kubernetes
PDF
Coreos google compute engine (and how to scale Wordpress in 5 minutes.)
PDF
Cncf meetup kubespray
PPTX
OSv: probably the best OS for cloud workloads you've never hear of
PDF
Cassandra 2.1 boot camp, Compaction
PDF
AtlasCamp 2015: How to deliver radical architectural change without the custo...
PDF
An Introduction to Priam
PPTX
WIndows Azure Virtual Machines - deep dive session
PDF
Cassandra Day Atlanta 2015: Recording the Web: High-Fidelity Storage and Play...
PDF
XPDS14 - OSv - A Modern Semi-POSIX LibraryOS - Glauber Costa, Cloudius Systems
PDF
CoreOS Overview
PDF
Glauber Costa on OSv as NoSQL platform
PDF
Painless ruby deployment on shelly cloud
PDF
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
PDF
PDF
Kubernetes meetup 102
PDF
Ansible
Using linuxKit to build custom rancherOS systems
Scalability and Performance of CNS 3.6
OSv at Usenix ATC 2014
Running kubernetes
Coreos google compute engine (and how to scale Wordpress in 5 minutes.)
Cncf meetup kubespray
OSv: probably the best OS for cloud workloads you've never hear of
Cassandra 2.1 boot camp, Compaction
AtlasCamp 2015: How to deliver radical architectural change without the custo...
An Introduction to Priam
WIndows Azure Virtual Machines - deep dive session
Cassandra Day Atlanta 2015: Recording the Web: High-Fidelity Storage and Play...
XPDS14 - OSv - A Modern Semi-POSIX LibraryOS - Glauber Costa, Cloudius Systems
CoreOS Overview
Glauber Costa on OSv as NoSQL platform
Painless ruby deployment on shelly cloud
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
Kubernetes meetup 102
Ansible
Ad

Similar to My Learnings on Setting up a Kubernetes Cluster on AWS using Kubernetes Operations (20)

PDF
Kubernetes Kops - Automation Night
PPTX
Setup Kubernetes Cluster On AWS Using KOPS
PDF
Kubernetes Operations (KOPS)
PDF
Aws + kubernetes = ❤︎
PPTX
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
PDF
Kubernetes on AWS gone wild
PDF
Elastic Kubernetes Services (EKS)
PDF
Aws container webinar day 1
PDF
Deploying a Kubernetes App with Amazon EKS
PDF
Building a Kubernetes App with Amazon EKS
PDF
Kubernetes @ pixel
PDF
Kubernetes - Starting with 1.2
PPTX
Introduction kubernetes 2017_12_24
PPTX
Deploying apps with Docker and Kubernetes
PDF
DevOps in AWS with Kubernetes
PPTX
Kubernetes in AWS
PDF
Kubernetes on aws
PDF
Running Production-Grade Kubernetes on AWS
PDF
Introduction to EKS (AWS User Group Slovakia)
PDF
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
Kubernetes Kops - Automation Night
Setup Kubernetes Cluster On AWS Using KOPS
Kubernetes Operations (KOPS)
Aws + kubernetes = ❤︎
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Kubernetes on AWS gone wild
Elastic Kubernetes Services (EKS)
Aws container webinar day 1
Deploying a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKS
Kubernetes @ pixel
Kubernetes - Starting with 1.2
Introduction kubernetes 2017_12_24
Deploying apps with Docker and Kubernetes
DevOps in AWS with Kubernetes
Kubernetes in AWS
Kubernetes on aws
Running Production-Grade Kubernetes on AWS
Introduction to EKS (AWS User Group Slovakia)
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
Ad

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
medical staffing services at VALiNTRY
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPT
Introduction Database Management System for Course Database
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
history of c programming in notes for students .pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Transform Your Business with a Software ERP System
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Understanding Forklifts - TECH EHS Solution
Wondershare Filmora 15 Crack With Activation Key [2025
Odoo POS Development Services by CandidRoot Solutions
medical staffing services at VALiNTRY
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Online Work Permit System for Fast Permit Processing
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
How to Migrate SBCGlobal Email to Yahoo Easily
ISO 45001 Occupational Health and Safety Management System
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Introduction Database Management System for Course Database
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
history of c programming in notes for students .pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Transform Your Business with a Software ERP System
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Understanding Forklifts - TECH EHS Solution

My Learnings on Setting up a Kubernetes Cluster on AWS using Kubernetes Operations

  • 2. About Me ● Sathya ● Ops @ Adobe I/O ● Handled Dev/Ops/DBA/Data Migration/etc etc
  • 3. Task ● Deploy Kubernetes on AWS ● Easy?
  • 5. Toolchain choices ● DIY ● Kubernetes Operations (“production grade”) ● Kube-up.sh (removed as of 1.6) ● Kubeadm ● Kube Spray ● CoreOS Techtonic
  • 6. Kubernetes Operations (“kops”) ● Kubernetes Operations ○ Current recommended/supported for AWS ○ “Production grade” ○ Can create single/HA Master node ○ Kubectl for the cluster
  • 7. What can kops do? ● Create clusters ○ Create new VPC ○ Use an existing VPC ● Update clusters ○ Increase node counts ○ Increase instance size ○ Rolling* updates ○ Change root volume size ○ Change instance group to Spot instances ● Upgrade clusters ○ Import/upgrade from kube-up to kops ○ Upgrade across versions
  • 8. What else can kops do? ● Output config ○ Terraform ○ Cloudformation ○ Actually launch the instances ● Dry run by default ● Create Bastion host ● Tear down the cluster ● Many more. Read the docs!
  • 9. Pre-requisites ● awscli installed ○ pip install awscli ● kubectl installed ○ Mac: brew install kubectl ○ Others ● AWS Account* ○ You maybe charged some amount ● Full control over a FQDN* ● kops installed ○ Mac: brew install kops ○ Linux *Conditions apply!
  • 10. Way kops works ● Creates an IAM group ● Attach below group policies ○ AmazonEC2FullAccess ○ AmazonRoute53FullAccess ○ AmazonS3FullAccess ○ IAMFullAccess ○ AmazonVPCFullAccess ● Creates a user to this group ● Creates S3 bucket to store state
  • 11. Way kops works ● Set the name of the cluster to NAME ● Set the master & node size/count ● kops create cluster ● …. ● Magic!
  • 12. Points to note ● You do not* need control over domain ○ *caveat: kops needs to be v1.6.2 & above ■ Cluster name must end in .k8s.local ● Kops creates security groups for SSH open to all ○ Always review what kops does with kops edit cluster $NAME ● Kops creates masters & nodes in public subnet ● Turn on versioning in S3
  • 13. Points to note ● Kops creates m3.medium for master and 2x t2.medium for nodes by default. ○ Size accordingly. ● Kops creates a new VPC, IGW, subnet but you can make it reuse existing VPC & subnets ○ export VPC_ID=vpc-12345678 ○ export NETWORK_CIDR=10.100.0.0/16 ○ kops create cluster ${NAME} --vpc=${VPC_ID}
  • 14. Instance Groups ● Groups of similar machines ● Master IG, Node IG ● Edit IG, changes reflect on all instances ○ kops get instancegroups ○ kops edit ig ○ kops update cluster ${NAME} ● Changes apply to new instances only! ○ Do a rolling update to update existing instances
  • 16. Docs & References ● Kops Documentation - https://github.com/kubernetes/kops/tree/master/docs ● Deploying Highly Available Kubernetes cluster with Kops - https://renzedevries.wordpress.com/2017/02/09/deploying-a-highly-available-kuber netes-cluster-to-aws-using-kops/ ● AWS Blog - https://aws.amazon.com/blogs/compute/kubernetes-clusters-aws-kops/ ● Backstory of Kubernetes - https://changelog.com/podcast/250
  • 17. Q&A? Reach me ● Twitter - sathyabhat ● Email - sathya@sathyasays.com ● DevUp Slack ○ Join in https://slackipy.herokuapp.com/ ○ #devops channel