SlideShare a Scribd company logo
1
Running Production-Grade
Kubernetes on AWS
2
<vadim@doit-intl.com>
3
Let’s Play
Join at kahoot.it with Game PIN:
728274
4
Agenda
● What’s new in Kubernetes v1.3
● Bootstrapping K8s cluster on AWS
● Watchouts & Limitations!
Copyright 2015 Google Inc
Kubernetes 101
Replication controllers create
new pod "replicas" from a
template and ensures that a
configurable number of
those pods are running.
Services provide a bridge
based on an IP and port
pair for client applications to
access backends without
needing to write code that is
Kubernetes-specific.
Replication
Controllers
ServicesLabels
Labels are metadata that
are attached to objects,
such as pods.
They enable organization
and selection of subsets of
objects with a cluster.
Pods
Pods are ephemeral units
that are used to manage
one or more tightly
coupled containers.
They enable data sharing
and communication
among their constituent
components.
6
What's new in Kubernetes 1.3
7
Release Highlights
● Init Containers (alpha)
● Fixed PDs
● Cluster Federation (alpha)
● Optional HTTP2
● Pod Level QoS Policy
● TLS Secrets
● kubectl set command
● UI
● Jobs
● RBAC (alpha, experimental)
● Garbage Collector (alpha)
● Pet Sets
● rkt runtime
● Network Policies
● kubectl auto-complete
8
Init Containers
9
Init Container: register pod to external
service
10
Init Container: clone a git repo into a volume
11
Jobs (pods are *expected* to terminate)
Creates 1...n pods and ensures that a certain number of them run to completion.
3 job types:
● Non-Parallel (normally only one pod is started, unless the pod fails)
● Parallel with fixed count (complete when there is one successful pod for each
value in range 1 to .spec.completions)
● Parallel with a work queue
12
Job: Work Queue with Pod Per Work Item
13
Increased Scale
● Up w/ up to 2k nodes per cluster
● Up to 60k pods per cluster
Under the bonnet, the biggest change that has resulted in the improvements in
scalability is to use Protocol Buffer-based serialization in the API instead of
JSON.
14
Multi-Zone Clusters
Deploy clusters to multiple availability zones to increase availability:
● Multiple zones can be configured at cluster creation or can be added to a
cluster after the fact.
15
Heterogeneous Clusters
Customers can now add different types of nodes to the same cluster.
● NodePools allow for different types of nodes to be joined to a single master,
minimizing administrative overhead
● Built-in scheduler changes to allow scheduling to node types with only a
configuration change
16
Cluster Federation
Deploy a service to multiple clusters simultaneously (including external load balancer configuration) via a
single Federated API.
● Federated Services span multiple clusters (possibly running on
different cloud providers, or on premise), and are created with a
single API call.
● The federation service automatically:
○ deploys the service across multiple clusters in the federation
○ monitors the health of these services
○ manages DNS records to ensure that clients are always
directed to the closest healthy instance of the federated
service.
More info:
● Sneak peek video
17
New kubectl commands
A new command kubectl set now allows the container image to be set in a single one-line command.
$ kubectl set image deployment/web nginx=nginx:1.9.1
To watch the update rollout and verify it succeeds, there is now a new convenient command: rollout status. So,
for example, to see the rollout of nginx/nginx:1.9.1 from nginx/nginx:1.7.9:
$ kubectl rollout status deployment/web
Waiting for rollout to finish: 2 out of 4 new replicas has been updated...
Waiting for rollout to finish: 2 out of 4 new replicas has been updated...
Waiting for rollout to finish: 2 out of 4 new replicas has been updated...
Waiting for rollout to finish: 3 out of 4 new replicas has been updated...
Waiting for rollout to finish: 3 out of 4 new replicas has been updated...
Waiting for rollout to finish: 3 out of 4 new replicas has been updated...
deployment nginx successfully rolled out
18
clusters can now automatically request more compute when the have
scheduled more jobs than there is CPU or memory available
● If there are no resources in the cluster to schedule a recently created pod, a
new node is added.
● If a nodes is underutilized and all pods running on it can be easily moved
elsewhere, then the node can be drained and deleted.
● Pay only for resources that are actually needed and get new resources when
the demand increases.
Cluster Autoscaling (alpha)
19
Improved dashboard
Manage Kubernetes almost
entirely through a web browser.
● All workload types are now
supported, including
DaemonSets, Deployments
and Rolling updates
20
Minikube
Minikube is a new local development platform for Kubernetes,
so customers can begin developing on their desktop or laptop.
● Packages and configures a Linux VM, Docker and all Kubernetes
components, optimized for local development
● Can be installed with a single command
● Alongside the regular pods, services and controllers, supports advanced
Kubernetes features:
● DNS
● NodePorts
● ConfigMaps and Secrets
● Dashboards
21
The new "PetSet" object provides a raft of features for supporting containers that
run stateful workloads (such as databases or key value stores), including:
● Permanent hostnames, that persist across restarts
● Automatically provisioned Persistent Disks per-container, that live beyond
the life of a container
● Unique identities in a group, to allow for clustering and leader election
● Initialization containers, which are critical for starting up clustered
applications
Stateful workload support (Pet Sets)
In Alpha in Kubernetes 1.3
22
What's coming next
23
New features for Kubernetes in 1.4
● Full cross-cluster federation, including
○ Single universal API
○ Global load balancer
○ Replica sets that span multiple clusters
● Granular permissions for clusters
● Simplified installation for common applications
One line install for simple applications in fully tested configurations
● Universal setup
Greatly simplified on-prem and complex cloud deployments
● Integrated external DNS (including Route53)
Simplified integration with external DNS providers
Expected release date for 1.4 is 16 September
24
Deploying K8s to Amazon AWS
25
What we wanted to achieve...
26
4.5 Step Deployment into existing VPC
Based on CoreOS K8s project:
$ kube-aws init & adjust your cluster.yaml
$ kube-aws render (generates CF stack)
$ kube-aws validate
$ kube-aws up (deploys the CF stack)
27
What you get...
CloudFormation Stack w/:
● Controller (master) node with EIP
● Autoscaling Group/Launch Config for Worker Nodes (fixed scaling)
● A Record in Route53 for Controller
● Security Groups to allow traffic between controller and works
● IAM Roles for both Controller and Workers
● AWS Addons (ELB, EBS integration)
28
Watchouts!
etcd high availability
- build your own etcd cluster and expose it with internal ELB (CF stack)
default TLS keys 90-days expiration
- replace generated TLS assets with your own
master/controller sizing
- m3.xlarge for < 100 nodes
- m3.2xlarge for < 250 nodes
- c4.4xlarge > 500 nodes
29
Limitations
can’t deploy the cluster into existing subnets
- the fix is on the way in 0.9
pv/pvc are available only in the same zone
- because ebs volumes available in single AZ
30
Scaling the cluster
31
Exposing Services
$ kubectl expose deployment nginx --port:80 --type=”LoadBalancer”
kind: Service
apiVersion: v1
metadata:
name: nginx
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
Externally with ELB (nodePort implementation)
Internally with ELB:
32
Persistent Volumes/Claims
EBS Volumes (available in single AZ)
EFS Volumes (multi AZ but with require manual recovery)
33
Spot Instances
Import ASG to Spotinst’s Elastigroup
34
meetup.com/multicloud
meetup.com/Kubernetes-Tel-Aviv
Next meetups:

More Related Content

What's hot (20)

PDF
An overview of the Kubernetes architecture
Igor Sfiligoi
 
PDF
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Mario Ishara Fernando
 
PDF
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Oleg Chunikhin
 
PPTX
Kubernetes - State of the Union (Q1-2016)
DoiT International
 
PDF
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 
PDF
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeAcademy
 
PDF
GlueCon kubernetes & container engine
brendandburns
 
PDF
IPC16: A Practical Introduction to Kubernetes
Robert Lemke
 
PDF
Kubernetes and Hybrid Deployments
Sandeep Parikh
 
PDF
Kubernetes - Starting with 1.2
William Stewart
 
PDF
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - A...
Henning Jacobs
 
PPTX
Deploying apps with Docker and Kubernetes
Daniel Fenton
 
PPTX
A Primer on Kubernetes and Google Container Engine
RightScale
 
PDF
Kubernetes on aws
Yousun Jeong
 
PDF
Docker on docker leveraging kubernetes in docker ee
Docker, Inc.
 
PDF
Platform Orchestration with Kubernetes and Docker
Julian Strobl
 
PPTX
Container Orchestration using Kubernetes
Hesham Amin
 
PDF
Deploying WSO2 Middleware on Kubernetes
Imesh Gunaratne
 
PDF
Kubernetes Architecture - beyond a black box - Part 2
Hao H. Zhang
 
PPTX
Kubernetes Introduction
Martin Danielsson
 
An overview of the Kubernetes architecture
Igor Sfiligoi
 
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Mario Ishara Fernando
 
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Oleg Chunikhin
 
Kubernetes - State of the Union (Q1-2016)
DoiT International
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeAcademy
 
GlueCon kubernetes & container engine
brendandburns
 
IPC16: A Practical Introduction to Kubernetes
Robert Lemke
 
Kubernetes and Hybrid Deployments
Sandeep Parikh
 
Kubernetes - Starting with 1.2
William Stewart
 
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - A...
Henning Jacobs
 
Deploying apps with Docker and Kubernetes
Daniel Fenton
 
A Primer on Kubernetes and Google Container Engine
RightScale
 
Kubernetes on aws
Yousun Jeong
 
Docker on docker leveraging kubernetes in docker ee
Docker, Inc.
 
Platform Orchestration with Kubernetes and Docker
Julian Strobl
 
Container Orchestration using Kubernetes
Hesham Amin
 
Deploying WSO2 Middleware on Kubernetes
Imesh Gunaratne
 
Kubernetes Architecture - beyond a black box - Part 2
Hao H. Zhang
 
Kubernetes Introduction
Martin Danielsson
 

Viewers also liked (10)

PDF
Container Days Boston - Kubernetes in production
Mike Splain
 
PPTX
Cloud Solution Day 2016: Service Mesh for Kubernetes
AWS Vietnam Community
 
PDF
KELK Stack on AWS
Steamhaus
 
PDF
From dev to prod: Kubernetes on AWS (short ver.)
佑介 九岡
 
PDF
Kubernetes Architecture - beyond a black box - Part 1
Hao H. Zhang
 
PPTX
Webcast - Making kubernetes production ready
Applatix
 
PDF
Kubernetes on AWS at Europe's Leading Online Fashion Platform
Henning Jacobs
 
PDF
Kubernetes networking in AWS
Zvika Gazit
 
PDF
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Ambassador Labs
 
PDF
Beyond Ingresses - Better Traffic Management in Kubernetes
Mark McBride
 
Container Days Boston - Kubernetes in production
Mike Splain
 
Cloud Solution Day 2016: Service Mesh for Kubernetes
AWS Vietnam Community
 
KELK Stack on AWS
Steamhaus
 
From dev to prod: Kubernetes on AWS (short ver.)
佑介 九岡
 
Kubernetes Architecture - beyond a black box - Part 1
Hao H. Zhang
 
Webcast - Making kubernetes production ready
Applatix
 
Kubernetes on AWS at Europe's Leading Online Fashion Platform
Henning Jacobs
 
Kubernetes networking in AWS
Zvika Gazit
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Ambassador Labs
 
Beyond Ingresses - Better Traffic Management in Kubernetes
Mark McBride
 
Ad

Similar to Running Production-Grade Kubernetes on AWS (20)

PPTX
Introduction kubernetes 2017_12_24
Sam Zheng
 
PPTX
Kubernetes Introduction & Whats new in Kubernetes 1.6
Opcito Technologies
 
PPTX
Introduction to Kubernetes
Vishal Biyani
 
PPTX
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 
PDF
Elastic Kubernetes Services (EKS)
sriram_rajan
 
PDF
Kubernetes and Cloud Native Update Q4 2018
CloudOps2005
 
PDF
Kubernetes Walk Through from Technical View
Lei (Harry) Zhang
 
PPTX
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Brad Topol
 
PPTX
Kubernetes
Lhouceine OUHAMZA
 
PDF
Kubernetes for Beginners
DigitalOcean
 
PDF
From CoreOS to Kubernetes and Concourse CI
Denis Izmaylov
 
PDF
Kubernetes From Scratch .pdf
ssuser9b44c7
 
PPTX
Kubernetes Presentation
Crevise Technologies
 
PDF
Kubernetes intro
Pravin Magdum
 
PPTX
kubernetesforbeginners.pptx
BaskarKannanK
 
PPTX
Kubernetes-Presentation-Syed-Murtaza-Hassan
Syed Murtaza Hassan
 
PDF
Intro to Kubernetes
Joonathan Mägi
 
PPTX
Kubernetes PPT.pptx
ssuser0cc9131
 
PPTX
Kubernetes Internals
Shimi Bandiel
 
PDF
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Laure Vergeron
 
Introduction kubernetes 2017_12_24
Sam Zheng
 
Kubernetes Introduction & Whats new in Kubernetes 1.6
Opcito Technologies
 
Introduction to Kubernetes
Vishal Biyani
 
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 
Elastic Kubernetes Services (EKS)
sriram_rajan
 
Kubernetes and Cloud Native Update Q4 2018
CloudOps2005
 
Kubernetes Walk Through from Technical View
Lei (Harry) Zhang
 
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Brad Topol
 
Kubernetes
Lhouceine OUHAMZA
 
Kubernetes for Beginners
DigitalOcean
 
From CoreOS to Kubernetes and Concourse CI
Denis Izmaylov
 
Kubernetes From Scratch .pdf
ssuser9b44c7
 
Kubernetes Presentation
Crevise Technologies
 
Kubernetes intro
Pravin Magdum
 
kubernetesforbeginners.pptx
BaskarKannanK
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Syed Murtaza Hassan
 
Intro to Kubernetes
Joonathan Mägi
 
Kubernetes PPT.pptx
ssuser0cc9131
 
Kubernetes Internals
Shimi Bandiel
 
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Laure Vergeron
 
Ad

More from DoiT International (17)

PPTX
Terraform Modules Restructured
DoiT International
 
PPTX
GAN training with Tensorflow and Tensor Cores
DoiT International
 
PDF
Orchestrating Redis & K8s Operators
DoiT International
 
PPTX
K8s best practices from the field!
DoiT International
 
PPTX
An Open-Source Platform to Connect, Manage, and Secure Microservices
DoiT International
 
PDF
Is your Elastic Cluster Stable and Production Ready?
DoiT International
 
PPTX
Applying ML for Log Analysis
DoiT International
 
PPTX
GCP for AWS Professionals
DoiT International
 
PPTX
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
PPTX
AWS Cyber Security Best Practices
DoiT International
 
PPTX
Google Cloud Spanner Preview
DoiT International
 
PPTX
Amazon Athena Hands-On Workshop
DoiT International
 
PDF
AWS Athena vs. Google BigQuery for interactive SQL Queries
DoiT International
 
PPTX
Google BigQuery 101 & What’s New
DoiT International
 
PPTX
Scaling Jenkins with Kubernetes by Ami Mahloof
DoiT International
 
PPTX
Kubernetes @ Nanit by Chen Fisher
DoiT International
 
PDF
Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
Terraform Modules Restructured
DoiT International
 
GAN training with Tensorflow and Tensor Cores
DoiT International
 
Orchestrating Redis & K8s Operators
DoiT International
 
K8s best practices from the field!
DoiT International
 
An Open-Source Platform to Connect, Manage, and Secure Microservices
DoiT International
 
Is your Elastic Cluster Stable and Production Ready?
DoiT International
 
Applying ML for Log Analysis
DoiT International
 
GCP for AWS Professionals
DoiT International
 
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
AWS Cyber Security Best Practices
DoiT International
 
Google Cloud Spanner Preview
DoiT International
 
Amazon Athena Hands-On Workshop
DoiT International
 
AWS Athena vs. Google BigQuery for interactive SQL Queries
DoiT International
 
Google BigQuery 101 & What’s New
DoiT International
 
Scaling Jenkins with Kubernetes by Ami Mahloof
DoiT International
 
Kubernetes @ Nanit by Chen Fisher
DoiT International
 
Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 

Recently uploaded (20)

PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 

Running Production-Grade Kubernetes on AWS

  • 3. 3 Let’s Play Join at kahoot.it with Game PIN: 728274
  • 4. 4 Agenda ● What’s new in Kubernetes v1.3 ● Bootstrapping K8s cluster on AWS ● Watchouts & Limitations!
  • 5. Copyright 2015 Google Inc Kubernetes 101 Replication controllers create new pod "replicas" from a template and ensures that a configurable number of those pods are running. Services provide a bridge based on an IP and port pair for client applications to access backends without needing to write code that is Kubernetes-specific. Replication Controllers ServicesLabels Labels are metadata that are attached to objects, such as pods. They enable organization and selection of subsets of objects with a cluster. Pods Pods are ephemeral units that are used to manage one or more tightly coupled containers. They enable data sharing and communication among their constituent components.
  • 6. 6 What's new in Kubernetes 1.3
  • 7. 7 Release Highlights ● Init Containers (alpha) ● Fixed PDs ● Cluster Federation (alpha) ● Optional HTTP2 ● Pod Level QoS Policy ● TLS Secrets ● kubectl set command ● UI ● Jobs ● RBAC (alpha, experimental) ● Garbage Collector (alpha) ● Pet Sets ● rkt runtime ● Network Policies ● kubectl auto-complete
  • 9. 9 Init Container: register pod to external service
  • 10. 10 Init Container: clone a git repo into a volume
  • 11. 11 Jobs (pods are *expected* to terminate) Creates 1...n pods and ensures that a certain number of them run to completion. 3 job types: ● Non-Parallel (normally only one pod is started, unless the pod fails) ● Parallel with fixed count (complete when there is one successful pod for each value in range 1 to .spec.completions) ● Parallel with a work queue
  • 12. 12 Job: Work Queue with Pod Per Work Item
  • 13. 13 Increased Scale ● Up w/ up to 2k nodes per cluster ● Up to 60k pods per cluster Under the bonnet, the biggest change that has resulted in the improvements in scalability is to use Protocol Buffer-based serialization in the API instead of JSON.
  • 14. 14 Multi-Zone Clusters Deploy clusters to multiple availability zones to increase availability: ● Multiple zones can be configured at cluster creation or can be added to a cluster after the fact.
  • 15. 15 Heterogeneous Clusters Customers can now add different types of nodes to the same cluster. ● NodePools allow for different types of nodes to be joined to a single master, minimizing administrative overhead ● Built-in scheduler changes to allow scheduling to node types with only a configuration change
  • 16. 16 Cluster Federation Deploy a service to multiple clusters simultaneously (including external load balancer configuration) via a single Federated API. ● Federated Services span multiple clusters (possibly running on different cloud providers, or on premise), and are created with a single API call. ● The federation service automatically: ○ deploys the service across multiple clusters in the federation ○ monitors the health of these services ○ manages DNS records to ensure that clients are always directed to the closest healthy instance of the federated service. More info: ● Sneak peek video
  • 17. 17 New kubectl commands A new command kubectl set now allows the container image to be set in a single one-line command. $ kubectl set image deployment/web nginx=nginx:1.9.1 To watch the update rollout and verify it succeeds, there is now a new convenient command: rollout status. So, for example, to see the rollout of nginx/nginx:1.9.1 from nginx/nginx:1.7.9: $ kubectl rollout status deployment/web Waiting for rollout to finish: 2 out of 4 new replicas has been updated... Waiting for rollout to finish: 2 out of 4 new replicas has been updated... Waiting for rollout to finish: 2 out of 4 new replicas has been updated... Waiting for rollout to finish: 3 out of 4 new replicas has been updated... Waiting for rollout to finish: 3 out of 4 new replicas has been updated... Waiting for rollout to finish: 3 out of 4 new replicas has been updated... deployment nginx successfully rolled out
  • 18. 18 clusters can now automatically request more compute when the have scheduled more jobs than there is CPU or memory available ● If there are no resources in the cluster to schedule a recently created pod, a new node is added. ● If a nodes is underutilized and all pods running on it can be easily moved elsewhere, then the node can be drained and deleted. ● Pay only for resources that are actually needed and get new resources when the demand increases. Cluster Autoscaling (alpha)
  • 19. 19 Improved dashboard Manage Kubernetes almost entirely through a web browser. ● All workload types are now supported, including DaemonSets, Deployments and Rolling updates
  • 20. 20 Minikube Minikube is a new local development platform for Kubernetes, so customers can begin developing on their desktop or laptop. ● Packages and configures a Linux VM, Docker and all Kubernetes components, optimized for local development ● Can be installed with a single command ● Alongside the regular pods, services and controllers, supports advanced Kubernetes features: ● DNS ● NodePorts ● ConfigMaps and Secrets ● Dashboards
  • 21. 21 The new "PetSet" object provides a raft of features for supporting containers that run stateful workloads (such as databases or key value stores), including: ● Permanent hostnames, that persist across restarts ● Automatically provisioned Persistent Disks per-container, that live beyond the life of a container ● Unique identities in a group, to allow for clustering and leader election ● Initialization containers, which are critical for starting up clustered applications Stateful workload support (Pet Sets) In Alpha in Kubernetes 1.3
  • 23. 23 New features for Kubernetes in 1.4 ● Full cross-cluster federation, including ○ Single universal API ○ Global load balancer ○ Replica sets that span multiple clusters ● Granular permissions for clusters ● Simplified installation for common applications One line install for simple applications in fully tested configurations ● Universal setup Greatly simplified on-prem and complex cloud deployments ● Integrated external DNS (including Route53) Simplified integration with external DNS providers Expected release date for 1.4 is 16 September
  • 24. 24 Deploying K8s to Amazon AWS
  • 25. 25 What we wanted to achieve...
  • 26. 26 4.5 Step Deployment into existing VPC Based on CoreOS K8s project: $ kube-aws init & adjust your cluster.yaml $ kube-aws render (generates CF stack) $ kube-aws validate $ kube-aws up (deploys the CF stack)
  • 27. 27 What you get... CloudFormation Stack w/: ● Controller (master) node with EIP ● Autoscaling Group/Launch Config for Worker Nodes (fixed scaling) ● A Record in Route53 for Controller ● Security Groups to allow traffic between controller and works ● IAM Roles for both Controller and Workers ● AWS Addons (ELB, EBS integration)
  • 28. 28 Watchouts! etcd high availability - build your own etcd cluster and expose it with internal ELB (CF stack) default TLS keys 90-days expiration - replace generated TLS assets with your own master/controller sizing - m3.xlarge for < 100 nodes - m3.2xlarge for < 250 nodes - c4.4xlarge > 500 nodes
  • 29. 29 Limitations can’t deploy the cluster into existing subnets - the fix is on the way in 0.9 pv/pvc are available only in the same zone - because ebs volumes available in single AZ
  • 31. 31 Exposing Services $ kubectl expose deployment nginx --port:80 --type=”LoadBalancer” kind: Service apiVersion: v1 metadata: name: nginx annotations: service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 Externally with ELB (nodePort implementation) Internally with ELB:
  • 32. 32 Persistent Volumes/Claims EBS Volumes (available in single AZ) EFS Volumes (multi AZ but with require manual recovery)
  • 33. 33 Spot Instances Import ASG to Spotinst’s Elastigroup