SlideShare ist ein Scribd-Unternehmen logo
1 von 25
1Confidential │ ©2019 VMware, Inc.
Kubernetes 101
Simone Morellato
Confidential │ ©2019 VMware, Inc. 2
What is Docker?
OS
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Bins/Libs
Docker Daemon
Docker Host
Confidential │ ©2019 VMware, Inc. 3
What is Kubernetes?
OS
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Bins/Libs
Docker Daemon
Docker Host
Kubernetes Kubelet
OS
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Bins/Libs
Docker Daemon
Docker Host
Kubernetes Kubelet
OS
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Bins/Libs
Docker Daemon
Docker Host
Kubernetes Kubelet
Kubernetes Master
Confidential │ ©2019 VMware, Inc. 4
What is Kubernetes?
OS
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Bins/Libs
Docker Daemon
Kubernetes None
Kubernetes Kubelet
OS
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Bins/Libs
Docker Daemon
Kubernetes None
Kubernetes Kubelet
OS
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Bins/Libs
Docker Daemon
Kubernetes None
Kubernetes Kubelet
Kubernetes Master
Confidential │ ©2019 VMware, Inc. 5
Intro to Kubernetes Workloads
Pod: Smaller unit of schedule
Jobs: for apps that run to termination
Cron Jobs: for apps that run on a time schedule
Daemon Sets: for apps that run on each VM/Machine
Deployments: Manage the rollout of new versions of Pods
Replica Sets: for stateless apps that need multiple instances
Stateful Sets: for stateful apps that need multiple instances
CRDs: you teach Kubernetes how to behave
Confidential │ ©2019 VMware, Inc. 6
One or more application containers that
are tightly coupled, sharing network and
storage.
Example: NGINX container and a telegraf container. The
NGINX container is providing you a frontend webpage
and the telegraf container is sending NGINX metrics to
Wavefront for monitoring.
What is a POD?
Smaller unit of schedule
NGINX
Bins/Libs
Telegraf
Bins/Libs
VETH0
172.17.0.2
Confidential │ ©2019 VMware, Inc. 7
How do I run a Pod?
$ cat mywebserver.yaml
apiVersion: v1
kind: pod
metadata:
name: my-webserver
labels:
app: web
spec:
containers:
- name: NGINX
image: "nginx:1.7.9“
- name: TELEGRAF
image: “telegraf:1.9"
$ kubectl create -f mywebserver.yaml
pod "my-webserver" created
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
my-webserver 0/1 Pending 0 15s
NGINX
Bins/Libs
Telegraf
Bins/Libs
Confidential │ ©2019 VMware, Inc. 8
Kuberbetes Pod Phases
• Pending
• The pod has been accepted by the system, but one or more of the container images has not
been created
• Includes time before being scheduled as well as time spent downloading images over the
network
• Running
• The pod has been bound to a node, and all of the containers have been created
• At least one container is still running, or is in the process of starting or restarting
• Succeeded
• All containers in the pod have terminated in success, and will not be restarted
• Failed
• All containers in the pod have terminated, at least one container has terminated in failure
(exited with non-zero exit status or was terminated by the system)
• Unknown
• For some reason the state of the pod could not be obtained, typically due to an error in
communicating with the host of the pod
Confidential │ ©2019 VMware, Inc. 9
for apps that run on each VM/Machine
DaemonSet in Action
Kubernetes Cluster
DaemonSet1.yaml
kind: DaemonSet
containers:
- name: webserver
- image: nginx
Runs a copy of a Pod on every
node in the cluster
Newly created nodes automatically
get the DaemonSet Pod(s)
When a node is removed a
DaemonSet doesn’t get
rescheduled
Node 1
Pod1
Node 2
Pod2
Node 3
Pod3
MasterAPI
K
K
K
Confidential │ ©2019 VMware, Inc. 10
Kubernetes Cluster
Deployment X.yaml
ContainerImage1
Replicas: 3
ContainerImage2
Replicas: 2
Deployments and Replicaset in Action
Node 1
P1R1
Node 2
P1R2 P2R1 P1R1
P2R1
Node 3
P1R3 P2R2 P2R2
MasterAPI
K
K
K
Deployment_Y.yaml
ContainerImage1
Replicas: 1
ContainerImage2
Replicas: 2
P1R1
P1R2
P2R1
Manage the rollout of new versions of stateless apps that need multiple instances
Deployments offer:
• Auto-healing
• Manual Scaling
• Rolling Updates
Confidential │ ©2019 VMware, Inc. 11
StatefulSet in Action
Pod 1 Pod 2 Pod 3
Pod 1 Pod 2 Pod 3
Creates Pods in sequence
Deletes Pods in reverse sequence
for stateful apps that need multiple instances
The way of launching ordered replica’s of
Pods.
Enables running pods in “clustered mode”
• Master/Slave applications
Valuable for applications that require:
• Stable and unique network identifiers
• Stable persistent storage
• Ordered deployment and scaling
Examples
• Zookeeper, Cassandra, etcd, MySQL, etc
Confidential │ ©2019 VMware, Inc. 12
Labels
A Label is a key/value pair attached to
Pods and convey user-defined attributes.
You can then use label selectors to select
Pods with particular Labels and apply
Services or Replication Controllers to
them.
Labels can be attached to objects at
creation time and subsequently added and
modified at any time
NGINX
Bins/Libs
Telegraf
Bins/Libs
Labels:
tier=frontend,
app=myapp
Allows us to tie components within Kubernetes together
13Confidential │ ©2019 VMware, Inc.
Let’s build an Application
Confidential │ ©2019 VMware, Inc. 14
ReplicaSets
Make sure multiple copies of a pod is running
Replicas: 2
Selector: tier=Frontend
NGINX
Bins/Libs
Telegraf
Bins/Libs
Labels:
tier=frontend,
app=myapp
NGINX
Bins/Libs
Telegraf
Bins/Libs
Labels:
tier=frontend,
app=myapp
ReplicaSet
Confidential │ ©2019 VMware, Inc. 15
Replicas: 2
Selector: tier=Frontend
NGINX
Bins/Libs
Telegraf
Bins/Libs
Labels:
tier=frontend,
app=myapp
NGINX
Bins/Libs
Telegraf
Bins/Libs
Labels:
tier=frontend,
app=myapp
ReplicaSet
Deployments
Declarative orchestration of application roll-out
Deployment
Confidential │ ©2019 VMware, Inc. 16
Replicas: 2
Selector: tier=Frontend
NGINX
Bins/Libs
Telegraf
Bins/Libs
Labels:
tier=frontend,
app=myapp
NGINX
Bins/Libs
Telegraf
Bins/Libs
Labels:
tier=frontend,
app=myapp
ReplicaSet
Services
Exposing pods based on labels
Deployment
Service
Selectors:
tier=Frontend
app=myapp
Confidential │ ©2019 VMware, Inc. 17
Ingress and Services
Intro to Kubernetes discovery and load balancing
Ingress
Service
app=bacon
Service
app=eggs
/bacon /eggs
https://breakfast.com
Pod 1 Pod 2 Pod 3 Pod 1 Pod 2
Services Types
• ClusterIP: Internal to the K8s
cluster
• NodePort: Open a port on the
host to allow connectivity with
external world
• Loadbalancer: configure an
external LB to allow connectivity
with external world
Ingress: manage external access
to multiple services
Confidential │ ©2019 VMware, Inc. 18
apiVersion: v1
kind: Service
metadata:
name: bacon
spec:
ports:
- port: 80
selector:
app: breakfast
type: LoadBalancer
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: breakfast
spec:
replicas: 2
template:
metadata:
labels:
app: breakfast
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
nginx Pod
app=breakfast
nginx Pod
app=breakfast
bacon-svc
app=breakfast
http 80
http 80 load balanced
Let’s put it all together
Confidential │ ©2019 VMware, Inc. 19
https://url
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: breakfast
spec:
rules:
- http:
paths:
- path: /bacon
backend:
serviceName: bacon-svc
servicePort: 80
- http:
paths:
- path: /eggs
backend:
serviceName: eggs-svc
servicePort: 80
ingress
app=breakfast
breakfast Pod
app= breakfast
bacon-svc
Service
app=bacon
http 80
breakfast Pod
app= breakfast
eggs-svc
Service
app=eggs
http 80
http://url/bacon http://url/eggs
Let’s put it all together
20Confidential │ ©2019 VMware, Inc.
Kubernetes Configuration and
Storage
Confidential │ ©2019 VMware, Inc. 21
A volume Is [effectively] a Directory,
possibly with data in it, available to all
containers in a Pod.
Usually Shares lifecycle of a Pod
(Created when Pod is created, destroyed
when Pod is destroyed).
Persistent Volumes outlive Pods.
Can be mounted from local disk, or from a
network storage device such as a
vSphere Datastore, iSCSI, NFS, etc.
Kubernetes Volume
NGINX
Bins/Libs
Telegraf
Bins/Libs
VETH0
172.17.0.2
Confidential │ ©2019 VMware, Inc. 22
vSphere
Kubelet
Datastore1
K8s Vol
dataVol.vmdk
K8s vSphere
Cloud provider
Kubernetes Worker (VM)
Pod
Tools, Libs, SW
Redis
DB
K8s API
vCenter
Create Storage Class
Create Persistent Vol Claim
Create Pod and Mount Volume
New Pod
Tools, Libs, SW
Redis
DB
Name: thin-disk
Provisioner: vSphere Volume
Diskformat: thin
Name: volume-claim
Storage class: thin-disk
Accessmode: readwrite
Storage: 2GB
Podspec includes:
Persistent volume claim
Filesystem mount point
How do Persistent Volumes work on vSphere
Confidential │ ©2019 VMware, Inc. 23
ConfigMaps decouple configuration artifacts from
image content to keep containerized applications
portable.
Secrets let you store and manage sensitive
information, such as passwords, OAuth tokens,
and ssh keys
ConfigMaps/Secrets (user-data)
Confidential │ ©2019 VMware, Inc. 24
Kubernetes Node (VM)
Kubernetes Pod
In summary
Container – The core application
Pod – Container(s) run inside Pods
Node – Runs Docker Engine & Kubelet
Kubernetes Cluster – Culmination of all components: Control & Data Plane
Stem B
Stem B
Stem B
Stem B
Node
Node
Node
Kubernetes Cluster
Services
API
Kubernetes Pod
App Container
Redis
DB
Tools, Libs, SW
Pod
2
Pod
1
K
Docker
Engine
K
K
K
ESXi
App Container
Redis
DB
Tools, Libs, SW
VM
VM
VM
VM
VMs
Confidential │ ©2019 VMware, Inc. 25
Why developers prefer to use Kubernetes when building cloud-native applications
PKS – Developer Benefits
Self-Healing
Batch
Execution
Intelligent
Scheduling
Service Discovery
& Load Balancing
Storage
Orchestration
Automated Rollouts
& Rollbacks
Horizontal
Scaling
Secret & Config
Management

Weitere ähnliche Inhalte

Was ist angesagt?

Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
 
Zero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetesZero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetesArjan Schaaf
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDocker, Inc.
 
DCEU 18: Docker Container Security
DCEU 18: Docker Container SecurityDCEU 18: Docker Container Security
DCEU 18: Docker Container SecurityDocker, Inc.
 
DCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDocker, Inc.
 
Social Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections AdminsSocial Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections Adminspanagenda
 
Docker for any type of workload and any IT Infrastructure
Docker for any type of workload and any IT InfrastructureDocker for any type of workload and any IT Infrastructure
Docker for any type of workload and any IT InfrastructureDocker, Inc.
 
Building Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech StackBuilding Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech StackBret Fisher
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017Docker, Inc.
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesPaul Czarkowski
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
DCEU 18: Docker for Windows Containers and Kubernetes
DCEU 18: Docker for Windows Containers and KubernetesDCEU 18: Docker for Windows Containers and Kubernetes
DCEU 18: Docker for Windows Containers and KubernetesDocker, Inc.
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kuberneteskloia
 
K8scale update-kubecon2015
K8scale update-kubecon2015K8scale update-kubecon2015
K8scale update-kubecon2015Bob Wise
 
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
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesKnoldus Inc.
 

Was ist angesagt? (20)

Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Zero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetesZero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetes
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker Containers
 
Azure dev ops_demo
Azure dev ops_demoAzure dev ops_demo
Azure dev ops_demo
 
DCEU 18: Docker Container Security
DCEU 18: Docker Container SecurityDCEU 18: Docker Container Security
DCEU 18: Docker Container Security
 
DCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDCEU 18: State of the Docker Engine
DCEU 18: State of the Docker Engine
 
Social Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections AdminsSocial Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections Admins
 
Docker for any type of workload and any IT Infrastructure
Docker for any type of workload and any IT InfrastructureDocker for any type of workload and any IT Infrastructure
Docker for any type of workload and any IT Infrastructure
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Building Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech StackBuilding Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech Stack
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
DCEU 18: Docker for Windows Containers and Kubernetes
DCEU 18: Docker for Windows Containers and KubernetesDCEU 18: Docker for Windows Containers and Kubernetes
DCEU 18: Docker for Windows Containers and Kubernetes
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
K8scale update-kubecon2015
K8scale update-kubecon2015K8scale update-kubecon2015
K8scale update-kubecon2015
 
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...
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for Kubernetes
 

Ähnlich wie Kubernetes 101 VMworld 2019 workshop slides

Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Velocidex Enterprises
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI AdminKendrick Coleman
 
Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...gguglie
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Patrick Chanezon
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with KubernetesSatnam Singh
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Odinot Stanislas
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Patrick Chanezon
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 
Kubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerKubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerQAware GmbH
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorAnil Madhavapeddy
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and DockerFabio Fumarola
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSDocker, Inc.
 
Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesLuke Marsden
 
Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Weaveworks
 

Ähnlich wie Kubernetes 101 VMworld 2019 workshop slides (20)

Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI Admin
 
Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
Kubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerKubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with Gardener
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
 
Container BoM Inspection with TERN
Container BoM Inspection with TERNContainer BoM Inspection with TERN
Container BoM Inspection with TERN
 
Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with Kubernetes
 
Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes
 

Mehr von Simone Morellato

Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Simone Morellato
 
CMP, Containers Orchestrator, PaaS landscape explained in one slide
CMP, Containers Orchestrator, PaaS landscape explained in one slideCMP, Containers Orchestrator, PaaS landscape explained in one slide
CMP, Containers Orchestrator, PaaS landscape explained in one slideSimone Morellato
 
VMs and Containers - Friends or Enemies
VMs and Containers -  Friends or EnemiesVMs and Containers -  Friends or Enemies
VMs and Containers - Friends or EnemiesSimone Morellato
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowSimone Morellato
 
How did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of ComputingHow did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of ComputingSimone Morellato
 
Docker & Apcera Better Together
Docker & Apcera Better TogetherDocker & Apcera Better Together
Docker & Apcera Better TogetherSimone Morellato
 
IDC Directions March 2014 Key Take-Aways
IDC Directions March 2014 Key Take-AwaysIDC Directions March 2014 Key Take-Aways
IDC Directions March 2014 Key Take-AwaysSimone Morellato
 

Mehr von Simone Morellato (8)

Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
 
CMP, Containers Orchestrator, PaaS landscape explained in one slide
CMP, Containers Orchestrator, PaaS landscape explained in one slideCMP, Containers Orchestrator, PaaS landscape explained in one slide
CMP, Containers Orchestrator, PaaS landscape explained in one slide
 
VMs and Containers - Friends or Enemies
VMs and Containers -  Friends or EnemiesVMs and Containers -  Friends or Enemies
VMs and Containers - Friends or Enemies
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User Workflow
 
How did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of ComputingHow did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of Computing
 
ApceraPlatformFeatures_WP
ApceraPlatformFeatures_WPApceraPlatformFeatures_WP
ApceraPlatformFeatures_WP
 
Docker & Apcera Better Together
Docker & Apcera Better TogetherDocker & Apcera Better Together
Docker & Apcera Better Together
 
IDC Directions March 2014 Key Take-Aways
IDC Directions March 2014 Key Take-AwaysIDC Directions March 2014 Key Take-Aways
IDC Directions March 2014 Key Take-Aways
 

Kürzlich hochgeladen

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Kubernetes 101 VMworld 2019 workshop slides

  • 1. 1Confidential │ ©2019 VMware, Inc. Kubernetes 101 Simone Morellato
  • 2. Confidential │ ©2019 VMware, Inc. 2 What is Docker? OS App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Docker Daemon Docker Host
  • 3. Confidential │ ©2019 VMware, Inc. 3 What is Kubernetes? OS App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Docker Daemon Docker Host Kubernetes Kubelet OS App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Docker Daemon Docker Host Kubernetes Kubelet OS App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Docker Daemon Docker Host Kubernetes Kubelet Kubernetes Master
  • 4. Confidential │ ©2019 VMware, Inc. 4 What is Kubernetes? OS App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Docker Daemon Kubernetes None Kubernetes Kubelet OS App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Docker Daemon Kubernetes None Kubernetes Kubelet OS App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Docker Daemon Kubernetes None Kubernetes Kubelet Kubernetes Master
  • 5. Confidential │ ©2019 VMware, Inc. 5 Intro to Kubernetes Workloads Pod: Smaller unit of schedule Jobs: for apps that run to termination Cron Jobs: for apps that run on a time schedule Daemon Sets: for apps that run on each VM/Machine Deployments: Manage the rollout of new versions of Pods Replica Sets: for stateless apps that need multiple instances Stateful Sets: for stateful apps that need multiple instances CRDs: you teach Kubernetes how to behave
  • 6. Confidential │ ©2019 VMware, Inc. 6 One or more application containers that are tightly coupled, sharing network and storage. Example: NGINX container and a telegraf container. The NGINX container is providing you a frontend webpage and the telegraf container is sending NGINX metrics to Wavefront for monitoring. What is a POD? Smaller unit of schedule NGINX Bins/Libs Telegraf Bins/Libs VETH0 172.17.0.2
  • 7. Confidential │ ©2019 VMware, Inc. 7 How do I run a Pod? $ cat mywebserver.yaml apiVersion: v1 kind: pod metadata: name: my-webserver labels: app: web spec: containers: - name: NGINX image: "nginx:1.7.9“ - name: TELEGRAF image: “telegraf:1.9" $ kubectl create -f mywebserver.yaml pod "my-webserver" created $ kubectl get pod NAME READY STATUS RESTARTS AGE my-webserver 0/1 Pending 0 15s NGINX Bins/Libs Telegraf Bins/Libs
  • 8. Confidential │ ©2019 VMware, Inc. 8 Kuberbetes Pod Phases • Pending • The pod has been accepted by the system, but one or more of the container images has not been created • Includes time before being scheduled as well as time spent downloading images over the network • Running • The pod has been bound to a node, and all of the containers have been created • At least one container is still running, or is in the process of starting or restarting • Succeeded • All containers in the pod have terminated in success, and will not be restarted • Failed • All containers in the pod have terminated, at least one container has terminated in failure (exited with non-zero exit status or was terminated by the system) • Unknown • For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod
  • 9. Confidential │ ©2019 VMware, Inc. 9 for apps that run on each VM/Machine DaemonSet in Action Kubernetes Cluster DaemonSet1.yaml kind: DaemonSet containers: - name: webserver - image: nginx Runs a copy of a Pod on every node in the cluster Newly created nodes automatically get the DaemonSet Pod(s) When a node is removed a DaemonSet doesn’t get rescheduled Node 1 Pod1 Node 2 Pod2 Node 3 Pod3 MasterAPI K K K
  • 10. Confidential │ ©2019 VMware, Inc. 10 Kubernetes Cluster Deployment X.yaml ContainerImage1 Replicas: 3 ContainerImage2 Replicas: 2 Deployments and Replicaset in Action Node 1 P1R1 Node 2 P1R2 P2R1 P1R1 P2R1 Node 3 P1R3 P2R2 P2R2 MasterAPI K K K Deployment_Y.yaml ContainerImage1 Replicas: 1 ContainerImage2 Replicas: 2 P1R1 P1R2 P2R1 Manage the rollout of new versions of stateless apps that need multiple instances Deployments offer: • Auto-healing • Manual Scaling • Rolling Updates
  • 11. Confidential │ ©2019 VMware, Inc. 11 StatefulSet in Action Pod 1 Pod 2 Pod 3 Pod 1 Pod 2 Pod 3 Creates Pods in sequence Deletes Pods in reverse sequence for stateful apps that need multiple instances The way of launching ordered replica’s of Pods. Enables running pods in “clustered mode” • Master/Slave applications Valuable for applications that require: • Stable and unique network identifiers • Stable persistent storage • Ordered deployment and scaling Examples • Zookeeper, Cassandra, etcd, MySQL, etc
  • 12. Confidential │ ©2019 VMware, Inc. 12 Labels A Label is a key/value pair attached to Pods and convey user-defined attributes. You can then use label selectors to select Pods with particular Labels and apply Services or Replication Controllers to them. Labels can be attached to objects at creation time and subsequently added and modified at any time NGINX Bins/Libs Telegraf Bins/Libs Labels: tier=frontend, app=myapp Allows us to tie components within Kubernetes together
  • 13. 13Confidential │ ©2019 VMware, Inc. Let’s build an Application
  • 14. Confidential │ ©2019 VMware, Inc. 14 ReplicaSets Make sure multiple copies of a pod is running Replicas: 2 Selector: tier=Frontend NGINX Bins/Libs Telegraf Bins/Libs Labels: tier=frontend, app=myapp NGINX Bins/Libs Telegraf Bins/Libs Labels: tier=frontend, app=myapp ReplicaSet
  • 15. Confidential │ ©2019 VMware, Inc. 15 Replicas: 2 Selector: tier=Frontend NGINX Bins/Libs Telegraf Bins/Libs Labels: tier=frontend, app=myapp NGINX Bins/Libs Telegraf Bins/Libs Labels: tier=frontend, app=myapp ReplicaSet Deployments Declarative orchestration of application roll-out Deployment
  • 16. Confidential │ ©2019 VMware, Inc. 16 Replicas: 2 Selector: tier=Frontend NGINX Bins/Libs Telegraf Bins/Libs Labels: tier=frontend, app=myapp NGINX Bins/Libs Telegraf Bins/Libs Labels: tier=frontend, app=myapp ReplicaSet Services Exposing pods based on labels Deployment Service Selectors: tier=Frontend app=myapp
  • 17. Confidential │ ©2019 VMware, Inc. 17 Ingress and Services Intro to Kubernetes discovery and load balancing Ingress Service app=bacon Service app=eggs /bacon /eggs https://breakfast.com Pod 1 Pod 2 Pod 3 Pod 1 Pod 2 Services Types • ClusterIP: Internal to the K8s cluster • NodePort: Open a port on the host to allow connectivity with external world • Loadbalancer: configure an external LB to allow connectivity with external world Ingress: manage external access to multiple services
  • 18. Confidential │ ©2019 VMware, Inc. 18 apiVersion: v1 kind: Service metadata: name: bacon spec: ports: - port: 80 selector: app: breakfast type: LoadBalancer apiVersion: apps/v1beta1 kind: Deployment metadata: name: breakfast spec: replicas: 2 template: metadata: labels: app: breakfast spec: containers: - image: nginx name: nginx ports: - containerPort: 80 nginx Pod app=breakfast nginx Pod app=breakfast bacon-svc app=breakfast http 80 http 80 load balanced Let’s put it all together
  • 19. Confidential │ ©2019 VMware, Inc. 19 https://url apiVersion: extensions/v1beta1 kind: Ingress metadata: name: breakfast spec: rules: - http: paths: - path: /bacon backend: serviceName: bacon-svc servicePort: 80 - http: paths: - path: /eggs backend: serviceName: eggs-svc servicePort: 80 ingress app=breakfast breakfast Pod app= breakfast bacon-svc Service app=bacon http 80 breakfast Pod app= breakfast eggs-svc Service app=eggs http 80 http://url/bacon http://url/eggs Let’s put it all together
  • 20. 20Confidential │ ©2019 VMware, Inc. Kubernetes Configuration and Storage
  • 21. Confidential │ ©2019 VMware, Inc. 21 A volume Is [effectively] a Directory, possibly with data in it, available to all containers in a Pod. Usually Shares lifecycle of a Pod (Created when Pod is created, destroyed when Pod is destroyed). Persistent Volumes outlive Pods. Can be mounted from local disk, or from a network storage device such as a vSphere Datastore, iSCSI, NFS, etc. Kubernetes Volume NGINX Bins/Libs Telegraf Bins/Libs VETH0 172.17.0.2
  • 22. Confidential │ ©2019 VMware, Inc. 22 vSphere Kubelet Datastore1 K8s Vol dataVol.vmdk K8s vSphere Cloud provider Kubernetes Worker (VM) Pod Tools, Libs, SW Redis DB K8s API vCenter Create Storage Class Create Persistent Vol Claim Create Pod and Mount Volume New Pod Tools, Libs, SW Redis DB Name: thin-disk Provisioner: vSphere Volume Diskformat: thin Name: volume-claim Storage class: thin-disk Accessmode: readwrite Storage: 2GB Podspec includes: Persistent volume claim Filesystem mount point How do Persistent Volumes work on vSphere
  • 23. Confidential │ ©2019 VMware, Inc. 23 ConfigMaps decouple configuration artifacts from image content to keep containerized applications portable. Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys ConfigMaps/Secrets (user-data)
  • 24. Confidential │ ©2019 VMware, Inc. 24 Kubernetes Node (VM) Kubernetes Pod In summary Container – The core application Pod – Container(s) run inside Pods Node – Runs Docker Engine & Kubelet Kubernetes Cluster – Culmination of all components: Control & Data Plane Stem B Stem B Stem B Stem B Node Node Node Kubernetes Cluster Services API Kubernetes Pod App Container Redis DB Tools, Libs, SW Pod 2 Pod 1 K Docker Engine K K K ESXi App Container Redis DB Tools, Libs, SW VM VM VM VM VMs
  • 25. Confidential │ ©2019 VMware, Inc. 25 Why developers prefer to use Kubernetes when building cloud-native applications PKS – Developer Benefits Self-Healing Batch Execution Intelligent Scheduling Service Discovery & Load Balancing Storage Orchestration Automated Rollouts & Rollbacks Horizontal Scaling Secret & Config Management