SlideShare a Scribd company logo
Joonathan Mägi, Teleport
kubernetes
WHAT IS KUBERNETES?
Kubernetes is an open-source system for automating deployment, scaling, and
management of containerized applications giving you the freedom to take
advantage of on-premise, hybrid, or public cloud infrastructure, letting you
effortlessly move workloads to where it matters to you.
It groups containers that make up an application into logical units for easy
management and discovery.
Builds on top of Docker containers, but version 1.3 brought support also for rkt
and OCI & CNI standards.
WHAT CAN KUBERNETES DO FOR ME?
Scheduling
Automatically places containers based on their resource requirements and other
constraints, while not sacrificing availability. Mix critical and best-effort
workloads in order to drive up utilization and save even more resources.
Ships with default scheduler, but you can build and run your instead of or even
simultaneously side-by-side with the default one.
WHAT CAN KUBERNETES DO FOR ME?
Lifecycle and health
A replication controller ensures that a specified number of pod “replicas” are
running at any one time.
Deployment provides declarative updates for Pods and Replica Sets and
updates Pod’s in rolling update fashion (maxUnavailable and maxSurge can be
defined to control the process).
Kubelet constantly monitors the Docker daemon to confirm the container
process is still running, and if not, the container process is restarted.
Health Check probes can be defined (livenessProbe & readinessProbe) to run
HTTP Health Checks, Container Exec checks or TCP socket checks.
Container Lifecycle Hooks are available — PostStart and PreStop.
With Horizontal Pod Autoscaling, Kubernetes automatically scales the
number of pods in a replication controller, deployment or replica set based on
observed CPU utilization or user defined metrics.
WHAT CAN KUBERNETES DO FOR ME?
Discovery
Service is an abstraction which defines a logical set of Pods running somewhere
in your cluster, that all provide the same functionality. Each Service is assigned
a unique IP address (clusterIP). This address is tied to the lifespan of the
Service, and will not change while the Service is alive. Pods can be configured
to talk to the Service, and know that communication to the Service will be
automatically load-balanced out to some pod that is a member of the Service
DNS is a built-in service launched automatically as a cluster add-on allowing
to access the service via the Service’s name. SRV queries can be used to discover
ports if necessary.
Namespaces can provide scoping of ‘environments’ on the same cluster.
WHAT CAN KUBERNETES DO FOR ME?
Configuration
Objects of type Secret are intended to hold sensitive information, such as
passwords, OAuth tokens, and ssh keys. Putting this information in a secret is
safer and more flexible than putting it verbatim in a pod definition or in a
docker image. Secrets can be mounted as data volumes or be exposed as
environment variables to be used by a container in a pod.
ConfigMap resource holds key-value pairs of configuration data that can be
consumed in pods or used to store configuration data for system components
such as controllers. ConfigMap is similar to Secrets, but designed to more
conveniently support working with strings that do not contain sensitive
information.
Similarly to service discovery Namespaces can be used scope configuration to
‘environments’ within cluster.
WHO IS USING KUBERNETES?
HOW TO GET STARTED?
Minikube
A tool that makes it easy to run Kubernetes locally. Minikube runs a single-node
Kubernetes cluster inside a VM on your machine for users looking to try out
Kubernetes or develop with it day-to-day.
Google Container Engine (GKE)
Google provides hosted master for Kubernetes clusters on top of Google
Compute Engine platform.
TERMINOLOGY & ARCHITECTURE
POD
A pod is a group of one or more containers - it is the basic scheduling unit in
Kubernetes.
Pods are always co-located and co-scheduled, and run in a shared context. A pod
models an application-specific “logical host” - it contains one or more
application containers which are relatively tightly coupled — in a pre-container
world, they would have executed on the same physical or virtual machine.
Containers within a pod share an IP address and port space, and can find each
other via localhost.
Users shouldn’t need to create pods directly, but rather use controllers (e.g.,
deployments, replication controller), even for singletons. Controllers provide
self-healing with a cluster scope, as well as replication and rollout management.
Intro to Kubernetes
REPLICATION CONTROLLER & REPLICATION SET
A replication controller ensures that a specified number of pod “replicas” are
running at any one time. Unlike manually created pods, the pods maintained by
a replication controller are automatically replaced if they fail, get deleted, or are
terminated. You can think of a replication controller as something similar to a
process supervisor, but rather than individual processes on a single node, the
replication controller supervises multiple pods across multiple nodes.
Replica Set is the next-generation Replication Controller. The only difference
between a Replica Set and a Replication Controller right now is the selector
support. Replica Set supports the new set-based selector requirements as
described in the labels user guide whereas a Replication Controller only supports
equality-based selector requirements.
Intro to Kubernetes
DEPLOYMENTS
A Deployment provides declarative updates for Pods and Replica Sets (the next-
generation Replication Controller). You only need to describe the desired state in
a Deployment object, and the Deployment controller will change the actual state
to the desired state at a controlled rate for you. You can define Deployments to
create new resources, or replace existing ones by new ones.
Intro to Kubernetes
SERVICES
A Kubernetes Service is an abstraction which defines a logical set of Pods and a
policy by which to access them. The set of Pods targeted by a Service is (usually)
determined by a Label Selector. Kubernetes offers a virtual-IP-based bridge to
Services which redirects to the backend Pods.
ClusterIP — use a cluster-internal IP only - this is the default and means that
you want this service to be reachable only from inside of the cluster.
NodePort — on top of having a cluster-internal IP, expose the service on a port
on each node of the cluster (the same port on each node). You’ll be able to
contact the service on any <NodeIP>:NodePort address.
LoadBalancer — on top of having a cluster-internal IP and exposing service on
a NodePort also, ask the cloud provider for a load balancer which forwards to
the Service exposed as a <NodeIP>:NodePort for each Node.
Intro to Kubernetes
INGRESS
Typically, services and pods have IP’s only routable by the cluster network. All
traffic that ends up at an edge router is either dropped or forwarded elsewhere.
An Ingress is a collection of rules that allow inbound connections to reach the
cluster services.
Ingress can be configured to give services externally-reachable urls, load
balance traffic, terminate SSL, offer name based virtual hosting etc. An Ingress
controller is responsible for fulfilling the Ingress, usually with a loadbalancer,
though it may also configure your edge router or additional frontends to help
handle the traffic in an HA manner.
Ingress controllers available:
Nginx Ingress Controller
GLBC — Google Compute Engine L7 load balancer controller
Intro to Kubernetes
DAEMON SETS, JOBS, NODES…
Node — worker machine
Daemon Set — ensures that all (or some) nodes run a copy of a pod.
Job — creates one or more pods and ensures that a specified number of them
successfully terminate. Tracks the successful completions. When a specified
number of successful completions is reached, the job itself is complete.
PersistentVolume (PV) — a piece of networked storage in the cluster that has
been pre provisioned. It is a resource in the cluster just like a node is a cluster
resource.
PersistentVolumeClaim (PVC) — a request for storage.
Pet Set (alpha) — a group of stateful pods that require a stronger notion of
identity. Example workloads would be databases, clustered software etc.
…
CLUSTER FEDERATION
Kubernetes 1.3 makes it possible to discover services running in multiple
clusters, that may span regions and/or cloud providers, to be used by containers
or external clients. This federation can be used for increased HA, geographic
distribution and hybrid/multi-cloud.
Once created, the Federated Service automatically:
•creates matching Services in every cluster underlying your cluster federation,
•monitors the health of those service "shards" (and the clusters in which they
reside)
•manages a set of DNS records in a public DNS provider (like Google Cloud
DNS, or AWS Route 53), thus ensuring that clients of your federated service
can seamlessly locate an appropriate healthy service endpoint at all times, even
in the event of cluster, availability zone or regional outages.
• http://kubernetes.io
• https://twitter.com/kubernetesio
• https://github.com/kubernetes/kubernetes
https://teleport.org
@TeleportInc

More Related Content

What's hot (20)

PDF
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
PDF
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
PPTX
A brief study on Kubernetes and its components
Ramit Surana
 
PPTX
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
PPTX
Kubernetes 101
Stanislav Pogrebnyak
 
PPTX
Introduction to helm
Jeeva Chelladhurai
 
PDF
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale
 
PDF
Kubernetes networking & Security
Vietnam Open Infrastructure User Group
 
PDF
Gitlab, GitOps & ArgoCD
Haggai Philip Zagury
 
PPTX
Kubernetes Introduction
Eric Gustafson
 
PDF
Kubernetes: A Short Introduction (2019)
Megan O'Keefe
 
PDF
kubernetes for beginners
Dominique Dumont
 
PDF
Helm - Application deployment management for Kubernetes
Alexei Ledenev
 
PPTX
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
PDF
Introduction of Kubernetes - Trang Nguyen
Trang Nguyen
 
PPTX
DevOps with Kubernetes
EastBanc Tachnologies
 
PDF
Kubernetes 101
Crevise Technologies
 
PDF
An Introduction to Kubernetes
Imesh Gunaratne
 
PDF
Introduction to kubernetes
Gabriel Carro
 
PPTX
Introduction to Kubernetes
Paris Apostolopoulos
 
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
A brief study on Kubernetes and its components
Ramit Surana
 
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
Kubernetes 101
Stanislav Pogrebnyak
 
Introduction to helm
Jeeva Chelladhurai
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale
 
Kubernetes networking & Security
Vietnam Open Infrastructure User Group
 
Gitlab, GitOps & ArgoCD
Haggai Philip Zagury
 
Kubernetes Introduction
Eric Gustafson
 
Kubernetes: A Short Introduction (2019)
Megan O'Keefe
 
kubernetes for beginners
Dominique Dumont
 
Helm - Application deployment management for Kubernetes
Alexei Ledenev
 
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
Introduction of Kubernetes - Trang Nguyen
Trang Nguyen
 
DevOps with Kubernetes
EastBanc Tachnologies
 
Kubernetes 101
Crevise Technologies
 
An Introduction to Kubernetes
Imesh Gunaratne
 
Introduction to kubernetes
Gabriel Carro
 
Introduction to Kubernetes
Paris Apostolopoulos
 

Viewers also liked (20)

PDF
Sf bay area Kubernetes meetup dec8 2016 - deployment models
Peter Ss
 
PPTX
Docker meets Kubernetes
loodse
 
PDF
Continuous Deployment with Jenkins on Kubernetes
Matt Baldwin
 
PPT
Joyce Gray - Beginner's guide to business information
Jane Lambert
 
PPS
Kisebbségek 20080327
somodyb
 
PPT
Long Island Goes Red For Women 2008
taylormorris
 
PDF
Moving Forward: Redesigning UNC's Library Website
chaefele
 
PPT
Bearcat Search: Implementing Federated Searching at the Newman Library
Newman Library
 
PPTX
IP Insurance
Jane Lambert
 
PDF
Fiche hrst en
riklaunim
 
PPT
Low Effort, High Impact Mobile Web Development
chaefele
 
PPT
Informatie zoeken in de KHLimmediatheek
Ria Schildermans
 
PPTX
Library in your pocket
chaefele
 
PPT
New York City Goes Red For Women
taylormorris
 
PPTX
Conversion Event - Selling the Unsellable
Sebastiaan Bode
 
PPT
401+Powerpoint[1]
adusard
 
PPT
Atoms, Molecules & Stoichometry (III)
Bernard Ng
 
PPS
Marriage Is Lo
Joana Beth Tan
 
PPT
Toolkit Workshop [V2]
srenshaw
 
PPT
Atomic Structure (III)
Bernard Ng
 
Sf bay area Kubernetes meetup dec8 2016 - deployment models
Peter Ss
 
Docker meets Kubernetes
loodse
 
Continuous Deployment with Jenkins on Kubernetes
Matt Baldwin
 
Joyce Gray - Beginner's guide to business information
Jane Lambert
 
Kisebbségek 20080327
somodyb
 
Long Island Goes Red For Women 2008
taylormorris
 
Moving Forward: Redesigning UNC's Library Website
chaefele
 
Bearcat Search: Implementing Federated Searching at the Newman Library
Newman Library
 
IP Insurance
Jane Lambert
 
Fiche hrst en
riklaunim
 
Low Effort, High Impact Mobile Web Development
chaefele
 
Informatie zoeken in de KHLimmediatheek
Ria Schildermans
 
Library in your pocket
chaefele
 
New York City Goes Red For Women
taylormorris
 
Conversion Event - Selling the Unsellable
Sebastiaan Bode
 
401+Powerpoint[1]
adusard
 
Atoms, Molecules & Stoichometry (III)
Bernard Ng
 
Marriage Is Lo
Joana Beth Tan
 
Toolkit Workshop [V2]
srenshaw
 
Atomic Structure (III)
Bernard Ng
 
Ad

Similar to Intro to Kubernetes (20)

PDF
Scaling Microservices with Kubernetes
Deivid Hahn Fração
 
PPTX
Kubernetes
Lhouceine OUHAMZA
 
PPTX
Introduction to Kubernetes
Vishal Biyani
 
PDF
Docker Madison, Introduction to Kubernetes
Timothy St. Clair
 
PDF
Kubernetes From Scratch .pdf
ssuser9b44c7
 
PDF
A DevOps guide to Kubernetes
Paul Czarkowski
 
PPTX
Kubernetes
Srinath Reddy
 
PPTX
Introduction kubernetes 2017_12_24
Sam Zheng
 
PDF
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
Docker-Hanoi
 
PDF
Kubernetes Intro
Antonio Ojea Garcia
 
PDF
Kubernetes for the PHP developer
Paul Czarkowski
 
PPTX
Introduction to kubernetes
Rishabh Indoria
 
PDF
What is POD and Kubernetes details Like as
MdTarequlIslam17
 
PDF
Kubernetes - how to orchestrate containers
inovex GmbH
 
PPTX
Introduction to Kubernetes
Paul Czarkowski
 
PDF
DevOps in AWS with Kubernetes
Oleg Chunikhin
 
PDF
Getting started with google kubernetes engine
Shreya Pohekar
 
PPTX
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 
PDF
Cluster management with Kubernetes
Satnam Singh
 
PDF
Gdg izmir kubernetes
Gokhan Boranalp
 
Scaling Microservices with Kubernetes
Deivid Hahn Fração
 
Kubernetes
Lhouceine OUHAMZA
 
Introduction to Kubernetes
Vishal Biyani
 
Docker Madison, Introduction to Kubernetes
Timothy St. Clair
 
Kubernetes From Scratch .pdf
ssuser9b44c7
 
A DevOps guide to Kubernetes
Paul Czarkowski
 
Kubernetes
Srinath Reddy
 
Introduction kubernetes 2017_12_24
Sam Zheng
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
Docker-Hanoi
 
Kubernetes Intro
Antonio Ojea Garcia
 
Kubernetes for the PHP developer
Paul Czarkowski
 
Introduction to kubernetes
Rishabh Indoria
 
What is POD and Kubernetes details Like as
MdTarequlIslam17
 
Kubernetes - how to orchestrate containers
inovex GmbH
 
Introduction to Kubernetes
Paul Czarkowski
 
DevOps in AWS with Kubernetes
Oleg Chunikhin
 
Getting started with google kubernetes engine
Shreya Pohekar
 
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 
Cluster management with Kubernetes
Satnam Singh
 
Gdg izmir kubernetes
Gokhan Boranalp
 
Ad

Recently uploaded (20)

PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PDF
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PPT
Carmon_Remote Sensing GIS by Mahesh kumar
DhananjayM6
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PDF
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
MRRS Strength and Durability of Concrete
CivilMythili
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Design Thinking basics for Engineers.pdf
CMR University
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
Day2 B2 Best.pptx
helenjenefa1
 
Carmon_Remote Sensing GIS by Mahesh kumar
DhananjayM6
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 

Intro to Kubernetes

  • 2. WHAT IS KUBERNETES? Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications giving you the freedom to take advantage of on-premise, hybrid, or public cloud infrastructure, letting you effortlessly move workloads to where it matters to you. It groups containers that make up an application into logical units for easy management and discovery. Builds on top of Docker containers, but version 1.3 brought support also for rkt and OCI & CNI standards.
  • 3. WHAT CAN KUBERNETES DO FOR ME? Scheduling Automatically places containers based on their resource requirements and other constraints, while not sacrificing availability. Mix critical and best-effort workloads in order to drive up utilization and save even more resources. Ships with default scheduler, but you can build and run your instead of or even simultaneously side-by-side with the default one.
  • 4. WHAT CAN KUBERNETES DO FOR ME? Lifecycle and health A replication controller ensures that a specified number of pod “replicas” are running at any one time. Deployment provides declarative updates for Pods and Replica Sets and updates Pod’s in rolling update fashion (maxUnavailable and maxSurge can be defined to control the process). Kubelet constantly monitors the Docker daemon to confirm the container process is still running, and if not, the container process is restarted. Health Check probes can be defined (livenessProbe & readinessProbe) to run HTTP Health Checks, Container Exec checks or TCP socket checks. Container Lifecycle Hooks are available — PostStart and PreStop. With Horizontal Pod Autoscaling, Kubernetes automatically scales the number of pods in a replication controller, deployment or replica set based on observed CPU utilization or user defined metrics.
  • 5. WHAT CAN KUBERNETES DO FOR ME? Discovery Service is an abstraction which defines a logical set of Pods running somewhere in your cluster, that all provide the same functionality. Each Service is assigned a unique IP address (clusterIP). This address is tied to the lifespan of the Service, and will not change while the Service is alive. Pods can be configured to talk to the Service, and know that communication to the Service will be automatically load-balanced out to some pod that is a member of the Service DNS is a built-in service launched automatically as a cluster add-on allowing to access the service via the Service’s name. SRV queries can be used to discover ports if necessary. Namespaces can provide scoping of ‘environments’ on the same cluster.
  • 6. WHAT CAN KUBERNETES DO FOR ME? Configuration Objects of type Secret are intended to hold sensitive information, such as passwords, OAuth tokens, and ssh keys. Putting this information in a secret is safer and more flexible than putting it verbatim in a pod definition or in a docker image. Secrets can be mounted as data volumes or be exposed as environment variables to be used by a container in a pod. ConfigMap resource holds key-value pairs of configuration data that can be consumed in pods or used to store configuration data for system components such as controllers. ConfigMap is similar to Secrets, but designed to more conveniently support working with strings that do not contain sensitive information. Similarly to service discovery Namespaces can be used scope configuration to ‘environments’ within cluster.
  • 7. WHO IS USING KUBERNETES?
  • 8. HOW TO GET STARTED? Minikube A tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your machine for users looking to try out Kubernetes or develop with it day-to-day. Google Container Engine (GKE) Google provides hosted master for Kubernetes clusters on top of Google Compute Engine platform.
  • 10. POD A pod is a group of one or more containers - it is the basic scheduling unit in Kubernetes. Pods are always co-located and co-scheduled, and run in a shared context. A pod models an application-specific “logical host” - it contains one or more application containers which are relatively tightly coupled — in a pre-container world, they would have executed on the same physical or virtual machine. Containers within a pod share an IP address and port space, and can find each other via localhost. Users shouldn’t need to create pods directly, but rather use controllers (e.g., deployments, replication controller), even for singletons. Controllers provide self-healing with a cluster scope, as well as replication and rollout management.
  • 12. REPLICATION CONTROLLER & REPLICATION SET A replication controller ensures that a specified number of pod “replicas” are running at any one time. Unlike manually created pods, the pods maintained by a replication controller are automatically replaced if they fail, get deleted, or are terminated. You can think of a replication controller as something similar to a process supervisor, but rather than individual processes on a single node, the replication controller supervises multiple pods across multiple nodes. Replica Set is the next-generation Replication Controller. The only difference between a Replica Set and a Replication Controller right now is the selector support. Replica Set supports the new set-based selector requirements as described in the labels user guide whereas a Replication Controller only supports equality-based selector requirements.
  • 14. DEPLOYMENTS A Deployment provides declarative updates for Pods and Replica Sets (the next- generation Replication Controller). You only need to describe the desired state in a Deployment object, and the Deployment controller will change the actual state to the desired state at a controlled rate for you. You can define Deployments to create new resources, or replace existing ones by new ones.
  • 16. SERVICES A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them. The set of Pods targeted by a Service is (usually) determined by a Label Selector. Kubernetes offers a virtual-IP-based bridge to Services which redirects to the backend Pods. ClusterIP — use a cluster-internal IP only - this is the default and means that you want this service to be reachable only from inside of the cluster. NodePort — on top of having a cluster-internal IP, expose the service on a port on each node of the cluster (the same port on each node). You’ll be able to contact the service on any <NodeIP>:NodePort address. LoadBalancer — on top of having a cluster-internal IP and exposing service on a NodePort also, ask the cloud provider for a load balancer which forwards to the Service exposed as a <NodeIP>:NodePort for each Node.
  • 18. INGRESS Typically, services and pods have IP’s only routable by the cluster network. All traffic that ends up at an edge router is either dropped or forwarded elsewhere. An Ingress is a collection of rules that allow inbound connections to reach the cluster services. Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. An Ingress controller is responsible for fulfilling the Ingress, usually with a loadbalancer, though it may also configure your edge router or additional frontends to help handle the traffic in an HA manner. Ingress controllers available: Nginx Ingress Controller GLBC — Google Compute Engine L7 load balancer controller
  • 20. DAEMON SETS, JOBS, NODES… Node — worker machine Daemon Set — ensures that all (or some) nodes run a copy of a pod. Job — creates one or more pods and ensures that a specified number of them successfully terminate. Tracks the successful completions. When a specified number of successful completions is reached, the job itself is complete. PersistentVolume (PV) — a piece of networked storage in the cluster that has been pre provisioned. It is a resource in the cluster just like a node is a cluster resource. PersistentVolumeClaim (PVC) — a request for storage. Pet Set (alpha) — a group of stateful pods that require a stronger notion of identity. Example workloads would be databases, clustered software etc. …
  • 21. CLUSTER FEDERATION Kubernetes 1.3 makes it possible to discover services running in multiple clusters, that may span regions and/or cloud providers, to be used by containers or external clients. This federation can be used for increased HA, geographic distribution and hybrid/multi-cloud. Once created, the Federated Service automatically: •creates matching Services in every cluster underlying your cluster federation, •monitors the health of those service "shards" (and the clusters in which they reside) •manages a set of DNS records in a public DNS provider (like Google Cloud DNS, or AWS Route 53), thus ensuring that clients of your federated service can seamlessly locate an appropriate healthy service endpoint at all times, even in the event of cluster, availability zone or regional outages.