SlideShare a Scribd company logo
1 of 38
Download to read offline
KUBERNETES - A SHORT RIDE THROUGH
THE PROJECT AND ITS ECOSYSTEM
MACIEJ KWIEK, SOFTWARE ENGINEER, MIRANTIS
AGENDA
▸ What is Kubernetes?
▸ How does Kubernetes work?
▸ K8s from Go developer standpoint
▸ Nice projects around K8s core
WHAT IS KUBERNETES?
WHAT DOES KUBERNETES MEAN? K8S?
▸ The name Kubernetes originates from Greek, meaning
“helmsman” or “pilot”, and is the root of “governor” and
“cybernetic”. K8s is an abbreviation derived by replacing
the 8 letters “ubernete” with 8.
WHAT IS KUBERNETES?
WHAT IS KUBERNETES?
▸ Kubernetes is an open-source system for automating
deployment, scaling, and management of containerized
applications.
WHAT IS KUBERNETES?
WHAT IS KUBERNETES?
▸ It groups containers that make up an application into
logical units for easy management and discovery.
WHAT IS KUBERNETES?
WHAT IS KUBERNETES?
▸ Kubernetes can schedule and run application containers
on clusters of physical or virtual machines.
WHAT IS KUBERNETES?
WHAT IS KUBERNETES?
▸ Kubernetes also allows developers to ‘cut the cord’ to
physical and virtual machines, moving from a host-centric
infrastructure to a container-centric infrastructure, which
provides the full advantages and benefits inherent to
containers.
WHAT IS KUBERNETES?
WHY CONTAINERS?
HOW DOES K8S WORK?
BASIC K8S CONCEPTS - POD
▸ A Pod is the basic building block of Kubernetes–the
smallest and simplest unit in the Kubernetes object model
that you create or deploy. A Pod represents a running
process on your cluster.
HOW DOES K8S WORK?
BASIC K8S CONCEPTS - POD
▸ A Pod encapsulates:
▸ an application container (or, in some cases, multiple
containers)
▸ storage resources
▸ a unique network IP
▸ options that govern how the container(s) should run
HOW DOES K8S WORK?
BASIC K8S CONCEPTS - POD
▸ A Pod represents a unit of deployment: a single instance
of an application in Kubernetes, which might consist of
either a single container or a small number of containers
that are tightly coupled and that share resources.
HOW DOES K8S WORK?
BASIC K8S CONCEPTS - POD
HOW DOES K8S WORK?
K8S ARCHITECTURE
HOW DOES K8S WORK?
K8S ARCHITECTURE
▸ Two types of components:
▸ Master
▸ Node
HOW DOES K8S WORK?
K8S ARCHITECTURE - MASTER COMPONENTS
▸ Master components are those that provide the cluster’s
control plane. For example, master components are
responsible for making global decisions about the cluster
(e.g., scheduling), and detecting and responding to cluster
events (e.g., starting up a new pod when a replication
controller’s ‘replicas’ field is unsatisfied).
HOW DOES K8S WORK?
K8S ARCHITECTURE - MASTER COMPONENTS: KUBE-APISERVER
▸ kube-apiserver exposes the Kubernetes API; it is the front-
end for the Kubernetes control plane. It is designed to
scale horizontally (i.e., one scales it by running more of
them– Building High-Availability Clusters).
HOW DOES K8S WORK?
K8S ARCHITECTURE - MASTER COMPONENTS: ETCD
▸ etcd is used as Kubernetes’ backing store. All cluster data
is stored here.
HOW DOES K8S WORK?
K8S MASTER COMPONENTS: KUBE-CONTROLLER-MANAGER
▸ kube-controller-manager is a binary that runs controllers,
which are the background threads that handle routine
tasks in the cluster. Logically, each controller is a separate
process, but to reduce the number of moving pieces in the
system, they are all compiled into a single binary and run
in a single process.
HOW DOES K8S WORK?
K8S MASTER COMPONENTS: KUBE-CONTROLLER-MANAGER
▸ controllers include:
▸ Node Controller: Responsible for noticing & responding when
nodes go down
▸ Replication Controller: Responsible for maintaining the correct
number of pods for every replication controller object in the
system
▸ Endpoints Controller: Populates the Endpoints object (i.e., join
Services & Pods)
▸ … others
HOW DOES K8S WORK?
K8S ARCHITECTURE - MASTER COMPONENTS: KUBE-SCHEDULER
▸ kube-scheduler watches newly created pods that have no
node assigned, and selects a node for them to run on.
HOW DOES K8S WORK?
K8S ARCHITECTURE - MASTER COMPONENTS: ADDONS
▸ Addons are pods and services that implement cluster
features. The pods may be managed by Deployments,
ReplicationContollers, etc. Namespaced addon objects are
created in the “kube-system” namespace.
▸ Addon manager takes the responsibility for creating and
maintaining addon resources. See here for more details.
HOW DOES K8S WORK?
K8S ARCHITECTURE - MASTER COMPONENTS: ADDONS
▸ dns
▸ kube-ui (web frontend)
▸ monitoring
▸ logging
HOW DOES K8S WORK?
K8S ARCHITECTURE - NODE COMPONENTS
▸ Node components run on every node, maintaining
running pods and providing them the Kubernetes runtime
environment.
HOW DOES K8S WORK?
K8S ARCHITECTURE - NODE COMPONENTS: KUBELET
▸ primary node agent
HOW DOES K8S WORK?
K8S ARCHITECTURE - NODE COMPONENTS: KUBELET
▸ Watches for pods that have been assigned to its node (either by
apiserver or via local configuration file)
▸ Mounts the pod’s required volumes
▸ Downloads the pod’s secrets
▸ Runs the pod’s containers
▸ Periodically executes any requested container liveness probes.
▸ Reports the status of the pod back to the rest of the systemReports
the status of the node back to the rest of the system.
HOW DOES K8S WORK?
K8S ARCHITECTURE - NODE COMPONENTS: KUBE-PROXY
▸ kube-proxy enables the Kubernetes service abstraction by
maintaining network rules on the host and performing
connection forwarding
▸ done by changing iptables on node
HOW DOES K8S WORK?
K8S ARCHITECTURE - NODE COMPONENTS: CONTAINER RUNTIME
▸ something that will actually run containers
HOW DOES K8S WORK?
K8S ARCHITECTURE - NODE COMPONENTS: CONTAINER RUNTIME
▸ docker
▸ rkt
▸ Container Runtime Interface (CRI)
▸ https://github.com/Mirantis/virtlet
HOW DOES K8S WORK?
K8S ARCHITECTURE
DEMO TIME
K8S FROM GO DEVELOPER STANDPOINT
ENTRY POINTS
▸ Github organisation: https://github.com/kubernetes
▸ Core Kubernetes repository: https://github.com/
kubernetes/kubernetes
▸ Developer documentation: https://github.com/
kubernetes/community/tree/master/contributors/devel
K8S FROM GO DEVELOPER STANDPOINT
CONVENTIONS
▸ https://github.com/golang/go/wiki/
CodeReviewComments
▸ https://golang.org/doc/effective_go.html
▸ https://blog.golang.org/godoc-documenting-go-code
K8S FROM GO DEVELOPER STANDPOINT
LANDMINES
▸ https://gist.github.com/lavalamp/4bd23295a9f32706a48f
K8S FROM GO DEVELOPER STANDPOINT
FUN PROJECTS AROUND THE CORE - HELM
▸ The Kubernetes Package Manager
▸ https://github.com/kubernetes/helm
K8S FROM GO DEVELOPER STANDPOINT
FUN PROJECTS AROUND THE CORE - HELM
▸ Allows you to
▸ Find and use popular software packaged as Kubernetes
charts
▸ Share your own applications as Kubernetes charts
▸ Intelligently manage your Kubernetes manifest files
▸ Manage releases of Helm packages
K8S FROM GO DEVELOPER STANDPOINT
FUN PROJECTS AROUND THE CORE - VIRTLET
▸ Kubernetes CRI implementation for running VM workloads
▸ https://github.com/Mirantis/virtlet
K8S FROM GO DEVELOPER STANDPOINT
FUN PROJECTS AROUND THE CORE - APPCONTROLLER
▸ AppController is a pod that you can spawn in your
Kubernetes cluster which will take care of your complex
deployments for you
▸ https://github.com/Mirantis/k8s-AppController
▸ Becoming and optional Helm release backend: https://
github.com/nebril/rudder-appcontroller
Q&A

More Related Content

What's hot

OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitLew Tucker
 
(Open)Stacking Containers
(Open)Stacking Containers(Open)Stacking Containers
(Open)Stacking ContainersKen Thompson
 
OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)rhirschfeld
 
OpenStack Kolla Introduction
OpenStack Kolla IntroductionOpenStack Kolla Introduction
OpenStack Kolla IntroductionDaneyon Hansen
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGabriel Carro
 
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!
 
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike PlaceOSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike PlaceNETWAYS
 
Kubecon seattle 2018 recap - Application Deployment aspects
Kubecon seattle 2018 recap - Application Deployment aspectsKubecon seattle 2018 recap - Application Deployment aspects
Kubecon seattle 2018 recap - Application Deployment aspectsKrishna-Kumar
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Kolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyKolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyVikram G Hosakote
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetesmountpoint.io
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...Daniel Krook
 
Top 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKETop 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKESreenivas Makam
 
Spinnaker on Kubernetes
Spinnaker on KubernetesSpinnaker on Kubernetes
Spinnaker on KubernetesJinwoong Kim
 
How to Integrate Kubernetes in OpenStack
 How to Integrate Kubernetes in OpenStack  How to Integrate Kubernetes in OpenStack
How to Integrate Kubernetes in OpenStack Meng-Ze Lee
 
KubeCon EU 2016 Keynote: Kubernetes State of the Union
KubeCon EU 2016 Keynote: Kubernetes State of the UnionKubeCon EU 2016 Keynote: Kubernetes State of the Union
KubeCon EU 2016 Keynote: Kubernetes State of the UnionKubeAcademy
 
OpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CDOpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CDEdgar Magana
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architectureIgor Sfiligoi
 

What's hot (20)

OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
 
(Open)Stacking Containers
(Open)Stacking Containers(Open)Stacking Containers
(Open)Stacking Containers
 
OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
OpenStack Kolla Introduction
OpenStack Kolla IntroductionOpenStack Kolla Introduction
OpenStack Kolla Introduction
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
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...
 
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike PlaceOSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
 
Kubecon seattle 2018 recap - Application Deployment aspects
Kubecon seattle 2018 recap - Application Deployment aspectsKubecon seattle 2018 recap - Application Deployment aspects
Kubecon seattle 2018 recap - Application Deployment aspects
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Kolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyKolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in Sydney
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
 
How Kubernetes make OpenStack & Ceph better
How Kubernetes make OpenStack & Ceph betterHow Kubernetes make OpenStack & Ceph better
How Kubernetes make OpenStack & Ceph better
 
Top 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKETop 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKE
 
Spinnaker on Kubernetes
Spinnaker on KubernetesSpinnaker on Kubernetes
Spinnaker on Kubernetes
 
How to Integrate Kubernetes in OpenStack
 How to Integrate Kubernetes in OpenStack  How to Integrate Kubernetes in OpenStack
How to Integrate Kubernetes in OpenStack
 
KubeCon EU 2016 Keynote: Kubernetes State of the Union
KubeCon EU 2016 Keynote: Kubernetes State of the UnionKubeCon EU 2016 Keynote: Kubernetes State of the Union
KubeCon EU 2016 Keynote: Kubernetes State of the Union
 
OpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CDOpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CD
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 

Similar to Kubernetes - A Short Ride Throught the project and its ecosystem

Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Avanti Patil
 
Kubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptxKubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptxrathnavel194
 
Jenkins_K8s (2).pptx
Jenkins_K8s (2).pptxJenkins_K8s (2).pptx
Jenkins_K8s (2).pptxkhalil Ismail
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionEric Gustafson
 
How to make cloud native platform by kubernetes
How to make cloud native platform by kubernetesHow to make cloud native platform by kubernetes
How to make cloud native platform by kubernetes어형 이
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with KubernetesOVHcloud
 
Kubernetes and bluemix
Kubernetes  and  bluemixKubernetes  and  bluemix
Kubernetes and bluemixDuckDuckGo
 
Kubernetes - An introduction
Kubernetes - An introductionKubernetes - An introduction
Kubernetes - An introductionLoves Cloud
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMwareVMUG IT
 
Kubernetes the deltatre way the basics - introduction to containers and orc...
Kubernetes the deltatre way   the basics - introduction to containers and orc...Kubernetes the deltatre way   the basics - introduction to containers and orc...
Kubernetes the deltatre way the basics - introduction to containers and orc...Rauno De Pasquale
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
 
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers ComparisonKubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparisonjeetendra mandal
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionStefan Schimanski
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGokhan Boranalp
 
Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Mathieu Herbert
 

Similar to Kubernetes - A Short Ride Throught the project and its ecosystem (20)

Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021
 
Kubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptxKubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptx
 
Jenkins_K8s (2).pptx
Jenkins_K8s (2).pptxJenkins_K8s (2).pptx
Jenkins_K8s (2).pptx
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
How to make cloud native platform by kubernetes
How to make cloud native platform by kubernetesHow to make cloud native platform by kubernetes
How to make cloud native platform by kubernetes
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with Kubernetes
 
Kubernetes and bluemix
Kubernetes  and  bluemixKubernetes  and  bluemix
Kubernetes and bluemix
 
Kubernetes - An introduction
Kubernetes - An introductionKubernetes - An introduction
Kubernetes - An introduction
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
 
Kubernetes the deltatre way the basics - introduction to containers and orc...
Kubernetes the deltatre way   the basics - introduction to containers and orc...Kubernetes the deltatre way   the basics - introduction to containers and orc...
Kubernetes the deltatre way the basics - introduction to containers and orc...
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers ComparisonKubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
 
Kubernetes intro
Kubernetes introKubernetes intro
Kubernetes intro
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTE
 
Container Orchestration using kubernetes
Container Orchestration using kubernetesContainer Orchestration using kubernetes
Container Orchestration using kubernetes
 
Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?
 

Recently uploaded

ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Recently uploaded (20)

ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

Kubernetes - A Short Ride Throught the project and its ecosystem

  • 1. KUBERNETES - A SHORT RIDE THROUGH THE PROJECT AND ITS ECOSYSTEM MACIEJ KWIEK, SOFTWARE ENGINEER, MIRANTIS
  • 2. AGENDA ▸ What is Kubernetes? ▸ How does Kubernetes work? ▸ K8s from Go developer standpoint ▸ Nice projects around K8s core
  • 3. WHAT IS KUBERNETES? WHAT DOES KUBERNETES MEAN? K8S? ▸ The name Kubernetes originates from Greek, meaning “helmsman” or “pilot”, and is the root of “governor” and “cybernetic”. K8s is an abbreviation derived by replacing the 8 letters “ubernete” with 8.
  • 4. WHAT IS KUBERNETES? WHAT IS KUBERNETES? ▸ Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
  • 5. WHAT IS KUBERNETES? WHAT IS KUBERNETES? ▸ It groups containers that make up an application into logical units for easy management and discovery.
  • 6. WHAT IS KUBERNETES? WHAT IS KUBERNETES? ▸ Kubernetes can schedule and run application containers on clusters of physical or virtual machines.
  • 7. WHAT IS KUBERNETES? WHAT IS KUBERNETES? ▸ Kubernetes also allows developers to ‘cut the cord’ to physical and virtual machines, moving from a host-centric infrastructure to a container-centric infrastructure, which provides the full advantages and benefits inherent to containers.
  • 9. HOW DOES K8S WORK? BASIC K8S CONCEPTS - POD ▸ A Pod is the basic building block of Kubernetes–the smallest and simplest unit in the Kubernetes object model that you create or deploy. A Pod represents a running process on your cluster.
  • 10. HOW DOES K8S WORK? BASIC K8S CONCEPTS - POD ▸ A Pod encapsulates: ▸ an application container (or, in some cases, multiple containers) ▸ storage resources ▸ a unique network IP ▸ options that govern how the container(s) should run
  • 11. HOW DOES K8S WORK? BASIC K8S CONCEPTS - POD ▸ A Pod represents a unit of deployment: a single instance of an application in Kubernetes, which might consist of either a single container or a small number of containers that are tightly coupled and that share resources.
  • 12. HOW DOES K8S WORK? BASIC K8S CONCEPTS - POD
  • 13. HOW DOES K8S WORK? K8S ARCHITECTURE
  • 14. HOW DOES K8S WORK? K8S ARCHITECTURE ▸ Two types of components: ▸ Master ▸ Node
  • 15. HOW DOES K8S WORK? K8S ARCHITECTURE - MASTER COMPONENTS ▸ Master components are those that provide the cluster’s control plane. For example, master components are responsible for making global decisions about the cluster (e.g., scheduling), and detecting and responding to cluster events (e.g., starting up a new pod when a replication controller’s ‘replicas’ field is unsatisfied).
  • 16. HOW DOES K8S WORK? K8S ARCHITECTURE - MASTER COMPONENTS: KUBE-APISERVER ▸ kube-apiserver exposes the Kubernetes API; it is the front- end for the Kubernetes control plane. It is designed to scale horizontally (i.e., one scales it by running more of them– Building High-Availability Clusters).
  • 17. HOW DOES K8S WORK? K8S ARCHITECTURE - MASTER COMPONENTS: ETCD ▸ etcd is used as Kubernetes’ backing store. All cluster data is stored here.
  • 18. HOW DOES K8S WORK? K8S MASTER COMPONENTS: KUBE-CONTROLLER-MANAGER ▸ kube-controller-manager is a binary that runs controllers, which are the background threads that handle routine tasks in the cluster. Logically, each controller is a separate process, but to reduce the number of moving pieces in the system, they are all compiled into a single binary and run in a single process.
  • 19. HOW DOES K8S WORK? K8S MASTER COMPONENTS: KUBE-CONTROLLER-MANAGER ▸ controllers include: ▸ Node Controller: Responsible for noticing & responding when nodes go down ▸ Replication Controller: Responsible for maintaining the correct number of pods for every replication controller object in the system ▸ Endpoints Controller: Populates the Endpoints object (i.e., join Services & Pods) ▸ … others
  • 20. HOW DOES K8S WORK? K8S ARCHITECTURE - MASTER COMPONENTS: KUBE-SCHEDULER ▸ kube-scheduler watches newly created pods that have no node assigned, and selects a node for them to run on.
  • 21. HOW DOES K8S WORK? K8S ARCHITECTURE - MASTER COMPONENTS: ADDONS ▸ Addons are pods and services that implement cluster features. The pods may be managed by Deployments, ReplicationContollers, etc. Namespaced addon objects are created in the “kube-system” namespace. ▸ Addon manager takes the responsibility for creating and maintaining addon resources. See here for more details.
  • 22. HOW DOES K8S WORK? K8S ARCHITECTURE - MASTER COMPONENTS: ADDONS ▸ dns ▸ kube-ui (web frontend) ▸ monitoring ▸ logging
  • 23. HOW DOES K8S WORK? K8S ARCHITECTURE - NODE COMPONENTS ▸ Node components run on every node, maintaining running pods and providing them the Kubernetes runtime environment.
  • 24. HOW DOES K8S WORK? K8S ARCHITECTURE - NODE COMPONENTS: KUBELET ▸ primary node agent
  • 25. HOW DOES K8S WORK? K8S ARCHITECTURE - NODE COMPONENTS: KUBELET ▸ Watches for pods that have been assigned to its node (either by apiserver or via local configuration file) ▸ Mounts the pod’s required volumes ▸ Downloads the pod’s secrets ▸ Runs the pod’s containers ▸ Periodically executes any requested container liveness probes. ▸ Reports the status of the pod back to the rest of the systemReports the status of the node back to the rest of the system.
  • 26. HOW DOES K8S WORK? K8S ARCHITECTURE - NODE COMPONENTS: KUBE-PROXY ▸ kube-proxy enables the Kubernetes service abstraction by maintaining network rules on the host and performing connection forwarding ▸ done by changing iptables on node
  • 27. HOW DOES K8S WORK? K8S ARCHITECTURE - NODE COMPONENTS: CONTAINER RUNTIME ▸ something that will actually run containers
  • 28. HOW DOES K8S WORK? K8S ARCHITECTURE - NODE COMPONENTS: CONTAINER RUNTIME ▸ docker ▸ rkt ▸ Container Runtime Interface (CRI) ▸ https://github.com/Mirantis/virtlet
  • 29. HOW DOES K8S WORK? K8S ARCHITECTURE
  • 31. K8S FROM GO DEVELOPER STANDPOINT ENTRY POINTS ▸ Github organisation: https://github.com/kubernetes ▸ Core Kubernetes repository: https://github.com/ kubernetes/kubernetes ▸ Developer documentation: https://github.com/ kubernetes/community/tree/master/contributors/devel
  • 32. K8S FROM GO DEVELOPER STANDPOINT CONVENTIONS ▸ https://github.com/golang/go/wiki/ CodeReviewComments ▸ https://golang.org/doc/effective_go.html ▸ https://blog.golang.org/godoc-documenting-go-code
  • 33. K8S FROM GO DEVELOPER STANDPOINT LANDMINES ▸ https://gist.github.com/lavalamp/4bd23295a9f32706a48f
  • 34. K8S FROM GO DEVELOPER STANDPOINT FUN PROJECTS AROUND THE CORE - HELM ▸ The Kubernetes Package Manager ▸ https://github.com/kubernetes/helm
  • 35. K8S FROM GO DEVELOPER STANDPOINT FUN PROJECTS AROUND THE CORE - HELM ▸ Allows you to ▸ Find and use popular software packaged as Kubernetes charts ▸ Share your own applications as Kubernetes charts ▸ Intelligently manage your Kubernetes manifest files ▸ Manage releases of Helm packages
  • 36. K8S FROM GO DEVELOPER STANDPOINT FUN PROJECTS AROUND THE CORE - VIRTLET ▸ Kubernetes CRI implementation for running VM workloads ▸ https://github.com/Mirantis/virtlet
  • 37. K8S FROM GO DEVELOPER STANDPOINT FUN PROJECTS AROUND THE CORE - APPCONTROLLER ▸ AppController is a pod that you can spawn in your Kubernetes cluster which will take care of your complex deployments for you ▸ https://github.com/Mirantis/k8s-AppController ▸ Becoming and optional Helm release backend: https:// github.com/nebril/rudder-appcontroller
  • 38. Q&A