SlideShare a Scribd company logo
INTRODUCTION TO
KUBERNETES
KUBERNETES-PUNE MEETUP
HTTPS://WWW.MEETUP.COM/KUBERNETES-PUNE/
17 DEC 2016
VISHAL BIYANI
CTO & Founder at
infraCloud technologies (www.infracloud.io )
2004
Java, PLM, JSP,
Servlets
2004-2009
eMatrix PLM, J2EE,
Database, architecture, Shell
and what not
2010 - 2013: Spring,
Maven, Jenkins,
ElasticSearch, CloudFoundry,
Google App Engine, APIs, CI
2013: Puppet, Chef, Ansible,
CD/CI, DevOps Coach, Docker,
API Mgmt, Microservices, Infra
as code
Now:
Containers,
Kubernetes, Mesos,
Salt, Scale, Distributed
https://twitter.com/vishal_biyani
https://www.vishalbiyani.com
ANNOUNCEMENT TIME
This is first Kubernetes Pune meetup & we will host a
meetup every month.
We will cover advanced Kubernetes topics & other projects
from CNCF (Cloud Native Computing Foundation) such as
Prometheus, Opentracing, FluentD
For Feb 26 Meetup we have Ian Lewis - Developer
advocate Google cloud APAC conducting a session
infraCloud has published a FREE eBook on
“Scaling and deploying Kubernetes”
http://info.rancher.com/deploying-scaling-kubernetes-ebook
PLEASE RAISE HANDS
• You have worked with either of
Puppet/Chef/Ansible/Salt?
• You have used Docker
• You have experience of
Kubernetes/Mesos/Swarm/Openshift?
• You are using Go lang
TABLE OF CODE .. ..
• What is Kubernetes, exactly?
• How to setup a Kubernetes Cluster?
• Various ways to get started with a Kubernetes cluster
• Kubernetes Architecture
• API Server
• Kubernetes Concepts
• POD,
• Kubectl - quick overview
• Sample app deployment
KUBERNETES - THE BOOKISH DEFINITION
• Kubernetes is an open-source
platform for automating
deployment, scaling, and
operations of application
containers across clusters of
hosts, providing container-
centric infrastructure (From
http://kubernetes.io/docs/whatisk8s/)
Open source project by
Google
Primarily targeted
at containerized
workloads
Platform - automates
deployment, scaling etc.
Abstracts hosts and
underlying
infrastructure from you
Portable - Run on
public/private cloud, data
center, your laptop -
doesn’t matter
Self - healing: It restarts,
replaces, scales, monitors
Containers
Extensible - replace certain
components if you want
to. Extend with pluggable
architecture
KUBERNETES PROVIDES COMMON NEEDS/DESIGNS
Need to run related
processes together in a
shared context
Integrating with underlying
storage (Block or Bucket
based)
Check health of
applications and maintain
certain number of
instances.
Scale instances based on
triggers.
Load balancing between
multiple instances of a
container
Provide easy and scalable
way to locate and reach
services (Aka service
discovery and naming)
Monitoring and log
management
Tagging and searching
instances dynamically to do
certain operations (For
example list all web servers
across all applications)
Rolling updates, Canary
deployments
Everything is API based- so
can be integrated with
external systems.
SETTING UP KUBERNETES
Demo: Setup cluster with GCE & UI
On Cloud & managed
Google
Container
Engine
StackpointCloud
Tectonic from
CoreOS
Openshift SaaS
DIY - any cloud/data center
Kubeadm
(official utility)
DIY On steroids
KOPS (Targeted
to AWS)
Kismatic from
Apperanda
Rancher -
provides
enterprise
features, multi
cluster support
Redhat
OpenShift -
comes with
complete
lifecycle
features
Many more: http://kubernetes.io/docs/getting-started-guides
Platform9
KUBERNETES ARCHITECTURE 1/2
Image Source: info.rancher.com/deploying-scaling-kubernetes-ebook
KUBERNETES ARCHITECTURE 2/2
• Docker is running on every host
• Node Components:
• Kublet: manages the containers on that node and their storage, images etc.
• Kube-proxy - A simple proxy which is running a load balancer. Does TCp/UDP forwarding in simple
RoundRObin fashion.
• Master Components (Might be on same node or different based on HA setup etc.)
• Etcd: Config data storage and events for changes in dataKube
• API Server: API layer with different components/plugins
• Scheduler: Works on scheduling & rescheduling a container to a node
• Controller manager server: There are various controllers like node controller does node
management, endpoint controller takes care of exposing endpoints etc.
KUBERNETES CONEPTS
POD, REPLICATION CONTROLLER, SERVICES ETC.
PODS - FRIENDS WHO LIVE TOGETHER
• Co-located set of containers
• One or more containers which need to run together - they
share the same storage, and a shared context
• They share the IP and port space and are reachable to each
other via localhost.
• They are always scheduled and handled together. The scaling
applies to all containers in a POD
• PODs must not be created directly even if you just need one -
why? We will know in next one
Code & Demo: Pod - create and destroy
REPLICATION CONTROLLER - GODFATHER OF POD
• Manages lifecycles of PODs. Ensures “n” instances of POD are always running (If
less, increase. If more, kill)
• If a POD gets deleted from a replicas=3, another one is created.
• Even is a host machine/node gets terminated, RC will ensure that the PODs are
scheduled elsewhere
• Selects the PODs which should be part of replica based on labels
• ReplicaSet is next generation of ReplicationController with additional features
• Deployment type is the current preferred method, which also provides:
• Rolling Deployment Strategy & Canary releasing
• MaxSurge & MaxUnavailable parameters to control the rolling deployment
Code & Demo: RC, create & delete pod
SERVICES - POD’S DAY OUT
• Provides a fixed endpoint for PODs irrespective of deletion/movement/modification of
POD & Replication Controller
• Also a way to expose services/endpoints to outside cluster or to world
• Can act as a endpoint for a service outside of Kubernetes too.
• Services utilize labels to target PODs which needs to be proxied by service
Service Discovery
Environment variable based DNS (Reccomended approach)
Kubernetes adds environment variables to
containers in a given format like:
REDIS_MASTER_SERVICE_HOST=10.0.0.11
REDIS_MASTER_SERVICE_PORT=6379
Sequence of startup needs to be maintained
A DNS server as a cluster add on. Watches for
changes in services and updates records
Services can then be accessed in format
<<NameSpaceName>>.<<ServiceName>>
SERVICE TYPES
ExternalName (Kubenretes 1.5 onwards)
• Maps to a external provided CNAME like service.orgname.com
ClusterIP (Default)
• Exposes service only within cluster
NodePort
• Creates a ClusterIP + exposes the same port on every node/host. This is typically used if
you want to use an external loadBalancer
LoadBalancer
• NodePort+Creates a LB in cloud provider (Such as ELB) and points to respective ports
Demo: Create a service and expose Nginx
LABLES AND SELECTORS: POWER TO YOU
Lables:
“relase”:”1.4”
“environment”:”QA”
“app”:”billing”
Selectors:
env = prod
release in (1.3, 1.4)
app != payment
• Classification mechanism
• Lables
• A way of tagging containers with information which may
be useful for whole lifecycle
• Think of them as roles - these are all my databases and
these are my billing apps
• Selectors
• Selector leverages lables to classify - which is leveraged by
Service, ReplicationController and even for querying
• Some objects support set based selectors (ReplicaSet, Job
etc.)
NODE, NAMESPACES & SECRETS
Get Namespaces and nodes
Node
• Nodes (Earlier called minions) as such are not
created by Kubernetes - they are only managed
• Node controller manages lifecycle and monitors
health of node and talks to underlying cloud
provider to take appropriate action
NameSpace
• A logical space within same cluster. Default cluster
is “default”
• Good for organizing multiple teams/projects/units
within same cluster.DNS names are appended by
namespace names
Secrets
• Secrets are meant to handle sensitive data -
passwords etc. Although at the moment only B64
encoding is supported.
• Once a secret is created, it can be used in one of
three ways:
• As an environment variable inside a container.
The referenced secret’s variable are set as
environment variable.
• As a file mount inside the container - mounts
the decoded data inside the container.
• As a ‘imagePullSecret’ - which is used to fetch
image from a private image registry.
Secret creation & usage
MORE TYPES
Volume types for handling
persistent data. They
interact with cloud
provider's storage.
PetSet (Now renamed to
StatefulSet) - for maanging
clusters with strong identity
requirements (Kafka, Elastic,
Zookeeper etc.)
DaemonSet - things which
need to run on a set or all
nodes of cluster. For
example logging agents or
Job - ensures a certain
number of PODs execute the
process and upon
completion terminates. (For
batch jobs)
DEMO
• Simple Guestbook code walkthrough and
creation
• K8Petstore app
ধন্যবাদ!
Dank je!
Kiitos!
આભાર!
धन्यवाद!
Grazie!
Je vous remercie!
ありがとうございました!
ਤੁਹਾਡਾ ਧੰਨਵਾਦ!
நன்றி!
ధన్యవాదాలు!
നന്ദി!
THANK YOU!
Special Thanks to
Demandshore for
hosting us
Thanks to Cloud
Native Computing
Foundation
Thanks a lot to you
the audience who
made this possible
Ad

More Related Content

What's hot (20)

DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
Everything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in KubernetesEverything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in Kubernetes
The {code} Team
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
Oktay Esgul
 
Docker swarm
Docker swarmDocker swarm
Docker swarm
Alberto Guimarães Viana
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
Kuberenetes - From Zero to Hero
Kuberenetes  - From Zero to HeroKuberenetes  - From Zero to Hero
Kuberenetes - From Zero to Hero
Ori Stoliar
 
GitOps and ArgoCD
GitOps and ArgoCDGitOps and ArgoCD
GitOps and ArgoCD
Omar Fathy
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
Intro to Helm for Kubernetes
Intro to Helm for KubernetesIntro to Helm for Kubernetes
Intro to Helm for Kubernetes
Carlos E. Salazar
 
Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)
Akash Agrawal
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
LINE Corporation
 
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
Open Source Consulting
 
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Edureka!
 
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOpsMeetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Vietnam Open Infrastructure User Group
 
Azure kubernetes service (aks)
Azure kubernetes service (aks)Azure kubernetes service (aks)
Azure kubernetes service (aks)
Akash Agrawal
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Raffaele Di Fazio
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
용호 최
 
Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...
jeetendra mandal
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
Rishabh Kumar
 
Everything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in KubernetesEverything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in Kubernetes
The {code} Team
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
Oktay Esgul
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
Kuberenetes - From Zero to Hero
Kuberenetes  - From Zero to HeroKuberenetes  - From Zero to Hero
Kuberenetes - From Zero to Hero
Ori Stoliar
 
GitOps and ArgoCD
GitOps and ArgoCDGitOps and ArgoCD
GitOps and ArgoCD
Omar Fathy
 
Intro to Helm for Kubernetes
Intro to Helm for KubernetesIntro to Helm for Kubernetes
Intro to Helm for Kubernetes
Carlos E. Salazar
 
Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)
Akash Agrawal
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
LINE Corporation
 
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
Open Source Consulting
 
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Edureka!
 
Azure kubernetes service (aks)
Azure kubernetes service (aks)Azure kubernetes service (aks)
Azure kubernetes service (aks)
Akash Agrawal
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
용호 최
 
Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...
jeetendra mandal
 

Viewers also liked (10)

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
Imesh Gunaratne
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and BeyondTectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
CoreOS
 
Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes
CoreOS
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Paris Apostolopoulos
 
Kubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai VallirajanKubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai Vallirajan
Neependra Khare
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
rajdeep
 
Serverless Pune Meetup 1
Serverless Pune Meetup 1Serverless Pune Meetup 1
Serverless Pune Meetup 1
Vishal Biyani
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Stefan Schimanski
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
CJ Cullen
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
Pekka Klärck
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
Imesh Gunaratne
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and BeyondTectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
CoreOS
 
Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes
CoreOS
 
Kubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai VallirajanKubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai Vallirajan
Neependra Khare
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
rajdeep
 
Serverless Pune Meetup 1
Serverless Pune Meetup 1Serverless Pune Meetup 1
Serverless Pune Meetup 1
Vishal Biyani
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Stefan Schimanski
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
CJ Cullen
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
Pekka Klärck
 
Ad

Similar to Introduction to Kubernetes (20)

Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
Vishal Biyani
 
Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6
Harshal Shah
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
Krishna-Kumar
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
CodeOps Technologies LLP
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
Cisco DevNet
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
Vishal Biyani
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDBWebinar: Enabling Microservices with Containers, Orchestration, and MongoDB
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
MongoDB
 
Implementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using KubelessImplementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using Kubeless
Ahmed Misbah
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
Sandeep Parikh
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
Faculty of Technical Sciences, University of Novi Sad
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container Operations
Kublr
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Huy Vo
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
Joonathan Mägi
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
BlueData, Inc.
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
Radhika Puthiyetath
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, Docker
Davinder Kohli
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
Vishal Biyani
 
Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6
Harshal Shah
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
Krishna-Kumar
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
CodeOps Technologies LLP
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
Cisco DevNet
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
Vishal Biyani
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDBWebinar: Enabling Microservices with Containers, Orchestration, and MongoDB
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
MongoDB
 
Implementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using KubelessImplementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using Kubeless
Ahmed Misbah
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
Sandeep Parikh
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container Operations
Kublr
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Huy Vo
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
BlueData, Inc.
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
Radhika Puthiyetath
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, Docker
Davinder Kohli
 
Ad

More from Vishal Biyani (14)

Gophercon 2018: Kubernetes api golang
Gophercon 2018: Kubernetes api golangGophercon 2018: Kubernetes api golang
Gophercon 2018: Kubernetes api golang
Vishal Biyani
 
Serverless Summit India 2017: Fission
Serverless Summit India 2017: FissionServerless Summit India 2017: Fission
Serverless Summit India 2017: Fission
Vishal Biyani
 
SaltStack Advanced Concepts
SaltStack Advanced ConceptsSaltStack Advanced Concepts
SaltStack Advanced Concepts
Vishal Biyani
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
Vishal Biyani
 
Setting up Kubernetes with tectonic
Setting up Kubernetes with tectonicSetting up Kubernetes with tectonic
Setting up Kubernetes with tectonic
Vishal Biyani
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3
Vishal Biyani
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2
Vishal Biyani
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
Vishal Biyani
 
Mulesoft cloudhub
Mulesoft cloudhubMulesoft cloudhub
Mulesoft cloudhub
Vishal Biyani
 
Dell boomi
Dell boomiDell boomi
Dell boomi
Vishal Biyani
 
Using CI for continuous delivery Part 3
Using CI for continuous delivery Part 3Using CI for continuous delivery Part 3
Using CI for continuous delivery Part 3
Vishal Biyani
 
Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2
Vishal Biyani
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
Vishal Biyani
 
Using CI for continuous delivery Part 4
Using CI for continuous delivery Part 4Using CI for continuous delivery Part 4
Using CI for continuous delivery Part 4
Vishal Biyani
 
Gophercon 2018: Kubernetes api golang
Gophercon 2018: Kubernetes api golangGophercon 2018: Kubernetes api golang
Gophercon 2018: Kubernetes api golang
Vishal Biyani
 
Serverless Summit India 2017: Fission
Serverless Summit India 2017: FissionServerless Summit India 2017: Fission
Serverless Summit India 2017: Fission
Vishal Biyani
 
SaltStack Advanced Concepts
SaltStack Advanced ConceptsSaltStack Advanced Concepts
SaltStack Advanced Concepts
Vishal Biyani
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
Vishal Biyani
 
Setting up Kubernetes with tectonic
Setting up Kubernetes with tectonicSetting up Kubernetes with tectonic
Setting up Kubernetes with tectonic
Vishal Biyani
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3
Vishal Biyani
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2
Vishal Biyani
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
Vishal Biyani
 
Using CI for continuous delivery Part 3
Using CI for continuous delivery Part 3Using CI for continuous delivery Part 3
Using CI for continuous delivery Part 3
Vishal Biyani
 
Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2
Vishal Biyani
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
Vishal Biyani
 
Using CI for continuous delivery Part 4
Using CI for continuous delivery Part 4Using CI for continuous delivery Part 4
Using CI for continuous delivery Part 4
Vishal Biyani
 

Recently uploaded (20)

Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 

Introduction to Kubernetes

  • 2. VISHAL BIYANI CTO & Founder at infraCloud technologies (www.infracloud.io ) 2004 Java, PLM, JSP, Servlets 2004-2009 eMatrix PLM, J2EE, Database, architecture, Shell and what not 2010 - 2013: Spring, Maven, Jenkins, ElasticSearch, CloudFoundry, Google App Engine, APIs, CI 2013: Puppet, Chef, Ansible, CD/CI, DevOps Coach, Docker, API Mgmt, Microservices, Infra as code Now: Containers, Kubernetes, Mesos, Salt, Scale, Distributed https://twitter.com/vishal_biyani https://www.vishalbiyani.com
  • 3. ANNOUNCEMENT TIME This is first Kubernetes Pune meetup & we will host a meetup every month. We will cover advanced Kubernetes topics & other projects from CNCF (Cloud Native Computing Foundation) such as Prometheus, Opentracing, FluentD For Feb 26 Meetup we have Ian Lewis - Developer advocate Google cloud APAC conducting a session
  • 4. infraCloud has published a FREE eBook on “Scaling and deploying Kubernetes” http://info.rancher.com/deploying-scaling-kubernetes-ebook
  • 5. PLEASE RAISE HANDS • You have worked with either of Puppet/Chef/Ansible/Salt? • You have used Docker • You have experience of Kubernetes/Mesos/Swarm/Openshift? • You are using Go lang
  • 6. TABLE OF CODE .. .. • What is Kubernetes, exactly? • How to setup a Kubernetes Cluster? • Various ways to get started with a Kubernetes cluster • Kubernetes Architecture • API Server • Kubernetes Concepts • POD, • Kubectl - quick overview • Sample app deployment
  • 7. KUBERNETES - THE BOOKISH DEFINITION • Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container- centric infrastructure (From http://kubernetes.io/docs/whatisk8s/) Open source project by Google Primarily targeted at containerized workloads Platform - automates deployment, scaling etc. Abstracts hosts and underlying infrastructure from you Portable - Run on public/private cloud, data center, your laptop - doesn’t matter Self - healing: It restarts, replaces, scales, monitors Containers Extensible - replace certain components if you want to. Extend with pluggable architecture
  • 8. KUBERNETES PROVIDES COMMON NEEDS/DESIGNS Need to run related processes together in a shared context Integrating with underlying storage (Block or Bucket based) Check health of applications and maintain certain number of instances. Scale instances based on triggers. Load balancing between multiple instances of a container Provide easy and scalable way to locate and reach services (Aka service discovery and naming) Monitoring and log management Tagging and searching instances dynamically to do certain operations (For example list all web servers across all applications) Rolling updates, Canary deployments Everything is API based- so can be integrated with external systems.
  • 9. SETTING UP KUBERNETES Demo: Setup cluster with GCE & UI On Cloud & managed Google Container Engine StackpointCloud Tectonic from CoreOS Openshift SaaS DIY - any cloud/data center Kubeadm (official utility) DIY On steroids KOPS (Targeted to AWS) Kismatic from Apperanda Rancher - provides enterprise features, multi cluster support Redhat OpenShift - comes with complete lifecycle features Many more: http://kubernetes.io/docs/getting-started-guides Platform9
  • 10. KUBERNETES ARCHITECTURE 1/2 Image Source: info.rancher.com/deploying-scaling-kubernetes-ebook
  • 11. KUBERNETES ARCHITECTURE 2/2 • Docker is running on every host • Node Components: • Kublet: manages the containers on that node and their storage, images etc. • Kube-proxy - A simple proxy which is running a load balancer. Does TCp/UDP forwarding in simple RoundRObin fashion. • Master Components (Might be on same node or different based on HA setup etc.) • Etcd: Config data storage and events for changes in dataKube • API Server: API layer with different components/plugins • Scheduler: Works on scheduling & rescheduling a container to a node • Controller manager server: There are various controllers like node controller does node management, endpoint controller takes care of exposing endpoints etc.
  • 12. KUBERNETES CONEPTS POD, REPLICATION CONTROLLER, SERVICES ETC.
  • 13. PODS - FRIENDS WHO LIVE TOGETHER • Co-located set of containers • One or more containers which need to run together - they share the same storage, and a shared context • They share the IP and port space and are reachable to each other via localhost. • They are always scheduled and handled together. The scaling applies to all containers in a POD • PODs must not be created directly even if you just need one - why? We will know in next one Code & Demo: Pod - create and destroy
  • 14. REPLICATION CONTROLLER - GODFATHER OF POD • Manages lifecycles of PODs. Ensures “n” instances of POD are always running (If less, increase. If more, kill) • If a POD gets deleted from a replicas=3, another one is created. • Even is a host machine/node gets terminated, RC will ensure that the PODs are scheduled elsewhere • Selects the PODs which should be part of replica based on labels • ReplicaSet is next generation of ReplicationController with additional features • Deployment type is the current preferred method, which also provides: • Rolling Deployment Strategy & Canary releasing • MaxSurge & MaxUnavailable parameters to control the rolling deployment Code & Demo: RC, create & delete pod
  • 15. SERVICES - POD’S DAY OUT • Provides a fixed endpoint for PODs irrespective of deletion/movement/modification of POD & Replication Controller • Also a way to expose services/endpoints to outside cluster or to world • Can act as a endpoint for a service outside of Kubernetes too. • Services utilize labels to target PODs which needs to be proxied by service Service Discovery Environment variable based DNS (Reccomended approach) Kubernetes adds environment variables to containers in a given format like: REDIS_MASTER_SERVICE_HOST=10.0.0.11 REDIS_MASTER_SERVICE_PORT=6379 Sequence of startup needs to be maintained A DNS server as a cluster add on. Watches for changes in services and updates records Services can then be accessed in format <<NameSpaceName>>.<<ServiceName>>
  • 16. SERVICE TYPES ExternalName (Kubenretes 1.5 onwards) • Maps to a external provided CNAME like service.orgname.com ClusterIP (Default) • Exposes service only within cluster NodePort • Creates a ClusterIP + exposes the same port on every node/host. This is typically used if you want to use an external loadBalancer LoadBalancer • NodePort+Creates a LB in cloud provider (Such as ELB) and points to respective ports Demo: Create a service and expose Nginx
  • 17. LABLES AND SELECTORS: POWER TO YOU Lables: “relase”:”1.4” “environment”:”QA” “app”:”billing” Selectors: env = prod release in (1.3, 1.4) app != payment • Classification mechanism • Lables • A way of tagging containers with information which may be useful for whole lifecycle • Think of them as roles - these are all my databases and these are my billing apps • Selectors • Selector leverages lables to classify - which is leveraged by Service, ReplicationController and even for querying • Some objects support set based selectors (ReplicaSet, Job etc.)
  • 18. NODE, NAMESPACES & SECRETS Get Namespaces and nodes Node • Nodes (Earlier called minions) as such are not created by Kubernetes - they are only managed • Node controller manages lifecycle and monitors health of node and talks to underlying cloud provider to take appropriate action NameSpace • A logical space within same cluster. Default cluster is “default” • Good for organizing multiple teams/projects/units within same cluster.DNS names are appended by namespace names Secrets • Secrets are meant to handle sensitive data - passwords etc. Although at the moment only B64 encoding is supported. • Once a secret is created, it can be used in one of three ways: • As an environment variable inside a container. The referenced secret’s variable are set as environment variable. • As a file mount inside the container - mounts the decoded data inside the container. • As a ‘imagePullSecret’ - which is used to fetch image from a private image registry. Secret creation & usage
  • 19. MORE TYPES Volume types for handling persistent data. They interact with cloud provider's storage. PetSet (Now renamed to StatefulSet) - for maanging clusters with strong identity requirements (Kafka, Elastic, Zookeeper etc.) DaemonSet - things which need to run on a set or all nodes of cluster. For example logging agents or Job - ensures a certain number of PODs execute the process and upon completion terminates. (For batch jobs)
  • 20. DEMO • Simple Guestbook code walkthrough and creation • K8Petstore app
  • 21. ধন্যবাদ! Dank je! Kiitos! આભાર! धन्यवाद! Grazie! Je vous remercie! ありがとうございました! ਤੁਹਾਡਾ ਧੰਨਵਾਦ! நன்றி! ధన్యవాదాలు! നന്ദി! THANK YOU! Special Thanks to Demandshore for hosting us Thanks to Cloud Native Computing Foundation Thanks a lot to you the audience who made this possible