SlideShare a Scribd company logo
Getting started
with Google
Kubernetes
Engine
By: Shreya Pohekar
Who am I???
Chapter lead Infosec girls | Null bhopal
About Me
Developer
Penetration tester
I blog at shreyapohekar.com
Follow me
Twitter - @shreyapohekar
LinkedIn - Shreya Pohekar
Today's
Presentation
Discussion Points
Concept of virtualization
and containerization
Docker
Docker commands
Kubernetes
Google kubernetes Engine
What is Kubernetes??
Kubernetes is an open source platform that
helps you orchestrate and manage your
container infrastructure On-premises or in the
Cloud.
Let's start
from the
beginning!
Virrtualization and
containerization
Virtualization
vs
Containerization
Cloud
customers pay for only what they use or reserve as
they go.
on-demand and self-service
resources are accessible over a network
You pay for what you use. The resources made available are
elastic. i.e it can be easily scaled up or scaled down.
The cloud resources and services are available on demain to
the end users.
Users just need an internet connection to access their
resources, from anyhere round the world
What is
Docker??
Flexible
Even the most
complex applications can be containerized.
Scalable
You can increase and automatically
distribute container replicas across a
datacenter.
Portable
You can build locally, deploy to the cloud,
and run anywhere.
LightWeight
Containers leverage and share the host
kernel, making them much more efficient in
terms of system resources.
Secure
Containers apply aggressive constraints
and isolations to processes without any
configuration required on the part of the
user.
Loosely coupled
Containers are highly self sufficient and
encapsulated, allowing you to replace or
upgrade one without disrupting others.
Docker is a platform for developers and
sysadmins
to build, run, and share applications with
containers. The use of containers to deploy
applications is called containerization.
Docker Daemon
The background service running on the
host that manages building, running
and distributing Docker containers.
The daemon is the process that runs in
the operating system which
clients talk to.
Docker Client
The command line tool that allows the
user to interact with the daemon.
Docker hub
A registry of Docker images. You can
think of the registry as a directory of
all available Docker images. If
required, one can host their own
Docker registries and can use them for
pulling images.
A Few more Docker terms
You have embraced
container technology, but
managing them at scale is
indeed a bigger challenge
So what can you do to better manage
your container infrastructure?????
Yes, You guessed it
Right!!!
Its Kubernetes :)
1
2
3
4
18
orchestrate and manage your
container infrastructure
It can be on-premise or on the cloud
Supports declarative
configurations
you describe the desired state you want to achieve
instead of issuing a series of commands to achieve
that desired state.
Automation
deployment scaling, load balancing,
logging, monitoring
Imperative configuration
admins can issue commands to change
state
What is
Kubernetes?
Its more than what you
think
25
Features!
Support of stateless and stateful
applications
Easy scale in and scale out
Workload portability
Architecture
Elements
The user define the desired state and the
kubernetes manages the state of the object
Pods
Pods are the basic building blocks (smallest
deployable unit). A Pod is a Kubernetes
abstraction that represents a group of one or
more application containers (such as Docker),
and some shared resources for those containers.
Example Usecase
three instances of the nginx web server.in
different pods. Kubernetes control plane will
continuously monitor the state of the cluster and
will maintain it in the desired state.
Credits: google
Kube-API server- It authenticates
incoming requests, determines whether
they are authorized and valid, and
manages admission control.
ETCD is the cluster's database
Kube-scheduler is responsible
for scheduling pods onto the
nodes
Kube-controller manager
continuously monitors the state
of a cluster through Kube-
APIserver
Kube-cloud-manager manages
controllers that interact with
underlying cloud providers.
Kubernetes
control plane
1
2
3
4
5
Replica Sets
ensures that population of identical pods is
running at the same time
Deployments
Lets you create update, rollback and scale pods
using replica sets
Stateful sets
Pods use same container spec and are persistent
identities with stable network identity and
persistent disk storage.
Deamon Set
ensures that a specific Pod is always running on
all or some subset of the nodes.
Job controller
creates one or more Pods required to run
a task. Cron-job run pods based on
time-schedule.
Kubernetes
Controller
objects
All you need to know
Service
A Service in Kubernetes is an abstraction
which defines a logical set of Pods and a
policy by which to access them.
ClusterIP: Exposes the service on an
IP address that is only accessible
from within this cluster
NodePort: Exposes the service on the
IP address of each node in the cluster,
at a specific port number. Can be
accessed using <NodeIP>:<NodePort>
LoadBalancer: Creates an external
load balancer in the current cloud (if
supported) and assigns a fixed,
external IP to the Service..
https://rtfm.co.ua/en/kubernetes-clusterip-vs-nodeport-vs-loadbalancer-services-
and-ingress-an-overview-with-examples/
DEMO!!!!
@credits we45
High Level
Overview
Security
Pod Security Policy
define a set of conditions that a pod
must run with in order to be accepted
into the system
Authorization
The Kubernetes API server may
authorize a request using one of
several authorization modes
Network policy
Allows to control traffic flow at the IP
address or port level
Security
Best
Practices
Factors for Success
Download from official source
of image
Use latest image and update
periodically
Use image scanning tools for any
CVEs or vulnerabilities.
Clair :
https://github.com/arminc/clair-
scanner
Security
context for
pod/container
A security context defines privilege
and access control settings for a Pod
or Container.
- UID / GID
- Selinuxx
- Linux capabilities
- Apparmor
- AllowPrivilegeEscalation
- ReadOnlyRootFIleSystem
Secure
pesistent key-
value store
# kubectl create secret
Use kubernetes built in secret manager.
Pods can use secrets via a file mounted as a
volume or by the kubelet when pulling images
for the pod.
References
Coursera : Architecting with Kubernetes
Workloads and fundamentals of kubernetes
https://kubernetes.io/
Thankyou!!!

More Related Content

What's hot (20)

PPTX
Kubernetes Immersion
Juan Larriba
 
PDF
Beyond Ingresses - Better Traffic Management in Kubernetes
Mark McBride
 
PDF
Multi-Container Apps spanning Docker, Mesos and OpenStack
Docker, Inc.
 
PPTX
Demystifying Docker101
Ajeet Singh Raina
 
PDF
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
PDF
Kubernetes Architecture and Introduction
Stefan Schimanski
 
PDF
Extending Kubernetes
Johannes Rudolph
 
PDF
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
SlideTeam
 
PDF
Kubernetes in 15 minutes
rhirschfeld
 
PDF
Kubernetes: A Short Introduction (2019)
Megan O'Keefe
 
PDF
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Edureka!
 
PPTX
Quick Trip with Docker
Venkata Naga Ravi
 
PPT
Building Clustered Applications with Kubernetes and Docker
Steve Watt
 
PDF
Nugwc k8s session-16-march-2021
Avanti Patil
 
PPTX
Kubernetes 101
Jupil Hwang
 
PPTX
Kubernetes Introduction
Martin Danielsson
 
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
PDF
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 
PDF
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Tobias Schneck
 
PDF
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Bob Killen
 
Kubernetes Immersion
Juan Larriba
 
Beyond Ingresses - Better Traffic Management in Kubernetes
Mark McBride
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Docker, Inc.
 
Demystifying Docker101
Ajeet Singh Raina
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Kubernetes Architecture and Introduction
Stefan Schimanski
 
Extending Kubernetes
Johannes Rudolph
 
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
SlideTeam
 
Kubernetes in 15 minutes
rhirschfeld
 
Kubernetes: A Short Introduction (2019)
Megan O'Keefe
 
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Edureka!
 
Quick Trip with Docker
Venkata Naga Ravi
 
Building Clustered Applications with Kubernetes and Docker
Steve Watt
 
Nugwc k8s session-16-march-2021
Avanti Patil
 
Kubernetes 101
Jupil Hwang
 
Kubernetes Introduction
Martin Danielsson
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Tobias Schneck
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Bob Killen
 

Similar to Getting started with google kubernetes engine (20)

PDF
Intro to Kubernetes
Joonathan Mägi
 
PDF
Scaling Microservices with Kubernetes
Deivid Hahn Fração
 
PPTX
Introduction to Kubernetes
Vishal Biyani
 
PPTX
Docker and kubernetes
Meiyappan Kannappa
 
PPTX
Kubernetes
Lhouceine OUHAMZA
 
PDF
Quick introduction to Kubernetes
Eduardo Garcia Moyano
 
PPTX
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 
PDF
DEVOPS UNIT 4 docker and services commands
billuandtanya
 
PDF
Gdg izmir kubernetes
Gokhan Boranalp
 
PDF
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
PDF
A DevOps guide to Kubernetes
Paul Czarkowski
 
PPTX
Kubernetes Intro @HaufeDev
Haufe-Lexware GmbH & Co KG
 
PPTX
A Primer on Kubernetes and Google Container Engine
RightScale
 
PDF
Introduction to Kubernetes Workshop
Bob Killen
 
PPTX
KubernetSADASDASDASDSADASDASDASDASDes.pptx
MuhamedAhmed35
 
PPTX
Introduction to kubernetes
Rishabh Indoria
 
PDF
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
PDF
Scaling docker with kubernetes
Liran Cohen
 
PDF
Kubernetes intro
Pravin Magdum
 
PDF
Kubernetes 101
Jacopo Nardiello
 
Intro to Kubernetes
Joonathan Mägi
 
Scaling Microservices with Kubernetes
Deivid Hahn Fração
 
Introduction to Kubernetes
Vishal Biyani
 
Docker and kubernetes
Meiyappan Kannappa
 
Kubernetes
Lhouceine OUHAMZA
 
Quick introduction to Kubernetes
Eduardo Garcia Moyano
 
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 
DEVOPS UNIT 4 docker and services commands
billuandtanya
 
Gdg izmir kubernetes
Gokhan Boranalp
 
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
A DevOps guide to Kubernetes
Paul Czarkowski
 
Kubernetes Intro @HaufeDev
Haufe-Lexware GmbH & Co KG
 
A Primer on Kubernetes and Google Container Engine
RightScale
 
Introduction to Kubernetes Workshop
Bob Killen
 
KubernetSADASDASDASDSADASDASDASDASDes.pptx
MuhamedAhmed35
 
Introduction to kubernetes
Rishabh Indoria
 
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Scaling docker with kubernetes
Liran Cohen
 
Kubernetes intro
Pravin Magdum
 
Kubernetes 101
Jacopo Nardiello
 
Ad

More from Shreya Pohekar (8)

PDF
Road map to getting your first cve
Shreya Pohekar
 
PDF
How to get into infosec
Shreya Pohekar
 
PDF
Server hardening methedologies
Shreya Pohekar
 
PPTX
Router pwning using bus pirate
Shreya Pohekar
 
PPTX
The arduino and iot
Shreya Pohekar
 
PPTX
Releasemyad internship
Shreya Pohekar
 
PPTX
releasemyad app
Shreya Pohekar
 
PPTX
Iot(security)
Shreya Pohekar
 
Road map to getting your first cve
Shreya Pohekar
 
How to get into infosec
Shreya Pohekar
 
Server hardening methedologies
Shreya Pohekar
 
Router pwning using bus pirate
Shreya Pohekar
 
The arduino and iot
Shreya Pohekar
 
Releasemyad internship
Shreya Pohekar
 
releasemyad app
Shreya Pohekar
 
Iot(security)
Shreya Pohekar
 
Ad

Recently uploaded (20)

PPTX
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
PPTX
Orchestrating things in Angular application
Peter Abraham
 
DOCX
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
PPTX
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PDF
The Internet - By the numbers, presented at npNOG 11
APNIC
 
PPTX
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
PPTX
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PDF
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
PPTX
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
PPTX
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
PPTX
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
PPTX
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
PPTX
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 
PPT
introduction to networking with basics coverage
RamananMuthukrishnan
 
PPTX
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
PDF
BRKACI-1003 ACI Brownfield Migration - Real World Experiences and Best Practi...
fcesargonca
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
Orchestrating things in Angular application
Peter Abraham
 
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
The Internet - By the numbers, presented at npNOG 11
APNIC
 
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 
introduction to networking with basics coverage
RamananMuthukrishnan
 
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
BRKACI-1003 ACI Brownfield Migration - Real World Experiences and Best Practi...
fcesargonca
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 

Getting started with google kubernetes engine

  • 2. Who am I??? Chapter lead Infosec girls | Null bhopal About Me Developer Penetration tester I blog at shreyapohekar.com Follow me Twitter - @shreyapohekar LinkedIn - Shreya Pohekar
  • 3. Today's Presentation Discussion Points Concept of virtualization and containerization Docker Docker commands Kubernetes Google kubernetes Engine
  • 4. What is Kubernetes?? Kubernetes is an open source platform that helps you orchestrate and manage your container infrastructure On-premises or in the Cloud.
  • 7. Cloud customers pay for only what they use or reserve as they go. on-demand and self-service resources are accessible over a network You pay for what you use. The resources made available are elastic. i.e it can be easily scaled up or scaled down. The cloud resources and services are available on demain to the end users. Users just need an internet connection to access their resources, from anyhere round the world
  • 8. What is Docker?? Flexible Even the most complex applications can be containerized. Scalable You can increase and automatically distribute container replicas across a datacenter. Portable You can build locally, deploy to the cloud, and run anywhere. LightWeight Containers leverage and share the host kernel, making them much more efficient in terms of system resources. Secure Containers apply aggressive constraints and isolations to processes without any configuration required on the part of the user. Loosely coupled Containers are highly self sufficient and encapsulated, allowing you to replace or upgrade one without disrupting others. Docker is a platform for developers and sysadmins to build, run, and share applications with containers. The use of containers to deploy applications is called containerization.
  • 9. Docker Daemon The background service running on the host that manages building, running and distributing Docker containers. The daemon is the process that runs in the operating system which clients talk to. Docker Client The command line tool that allows the user to interact with the daemon. Docker hub A registry of Docker images. You can think of the registry as a directory of all available Docker images. If required, one can host their own Docker registries and can use them for pulling images. A Few more Docker terms
  • 10. You have embraced container technology, but managing them at scale is indeed a bigger challenge So what can you do to better manage your container infrastructure?????
  • 11. Yes, You guessed it Right!!! Its Kubernetes :)
  • 12. 1 2 3 4 18 orchestrate and manage your container infrastructure It can be on-premise or on the cloud Supports declarative configurations you describe the desired state you want to achieve instead of issuing a series of commands to achieve that desired state. Automation deployment scaling, load balancing, logging, monitoring Imperative configuration admins can issue commands to change state What is Kubernetes? Its more than what you think
  • 13. 25 Features! Support of stateless and stateful applications Easy scale in and scale out Workload portability
  • 14. Architecture Elements The user define the desired state and the kubernetes manages the state of the object Pods Pods are the basic building blocks (smallest deployable unit). A Pod is a Kubernetes abstraction that represents a group of one or more application containers (such as Docker), and some shared resources for those containers. Example Usecase three instances of the nginx web server.in different pods. Kubernetes control plane will continuously monitor the state of the cluster and will maintain it in the desired state. Credits: google
  • 15. Kube-API server- It authenticates incoming requests, determines whether they are authorized and valid, and manages admission control. ETCD is the cluster's database Kube-scheduler is responsible for scheduling pods onto the nodes Kube-controller manager continuously monitors the state of a cluster through Kube- APIserver Kube-cloud-manager manages controllers that interact with underlying cloud providers. Kubernetes control plane
  • 16. 1 2 3 4 5 Replica Sets ensures that population of identical pods is running at the same time Deployments Lets you create update, rollback and scale pods using replica sets Stateful sets Pods use same container spec and are persistent identities with stable network identity and persistent disk storage. Deamon Set ensures that a specific Pod is always running on all or some subset of the nodes. Job controller creates one or more Pods required to run a task. Cron-job run pods based on time-schedule. Kubernetes Controller objects All you need to know
  • 17. Service A Service in Kubernetes is an abstraction which defines a logical set of Pods and a policy by which to access them. ClusterIP: Exposes the service on an IP address that is only accessible from within this cluster NodePort: Exposes the service on the IP address of each node in the cluster, at a specific port number. Can be accessed using <NodeIP>:<NodePort> LoadBalancer: Creates an external load balancer in the current cloud (if supported) and assigns a fixed, external IP to the Service..
  • 21. Security Pod Security Policy define a set of conditions that a pod must run with in order to be accepted into the system Authorization The Kubernetes API server may authorize a request using one of several authorization modes Network policy Allows to control traffic flow at the IP address or port level
  • 22. Security Best Practices Factors for Success Download from official source of image Use latest image and update periodically Use image scanning tools for any CVEs or vulnerabilities. Clair : https://github.com/arminc/clair- scanner
  • 23. Security context for pod/container A security context defines privilege and access control settings for a Pod or Container. - UID / GID - Selinuxx - Linux capabilities - Apparmor - AllowPrivilegeEscalation - ReadOnlyRootFIleSystem
  • 24. Secure pesistent key- value store # kubectl create secret Use kubernetes built in secret manager. Pods can use secrets via a file mounted as a volume or by the kubelet when pulling images for the pod.
  • 25. References Coursera : Architecting with Kubernetes Workloads and fundamentals of kubernetes https://kubernetes.io/