SlideShare a Scribd company logo
Matt McNeeney
Senior Product Manager, Pivotal R&D
mmcneeney@pivotal.io
@1mattmc
Nathan Ness
Technical Product Manager, CNABU
@nvpnathan
CNA2080BE
Basics of Kubernetes on
BOSH: Run Production-
grade Kubernetes on the
SDDC
Disclaimer
• This presentation may contain product features that are currently under development.
• This overview of new technology represents no commitment from VMware to deliver these
features in any generally available product.
• Features are subject to change, and must not be included in contracts, purchase orders, or
sales agreements of any kind.
• Technical feasibility and market demand will affect final delivery.
• Pricing and packaging for any new technologies or features discussed or presented have not
been determined.
2
Agenda
Introductions
What and Why of SDDC
What and Why BOSH
What and Why Kubernetes
What and Why Kubo
What and Why of PKS
Introductions
What and Why of SDDC
What is the SDDC
6
Abstraction of Hardware
7
Compute VirtualizationSDDC
Ops
Teams
Network StorageCompute
WW
A A
R
Web
2 VMs, 2CPU, 2GB mem, 10GB disk, RHEL
LoadBalancer
Open 80,443
App
2 VMs 4CPU, 4GB mem, 30GB disk
Open 22 internal only, 8443 from Web
Request Infrastructure
web_instance: webxyz
flavor: m1.small
image: RHEL-x86_64-chef
network: web-net
security: web-sec
quantity: 2
-------<snip>----------
Web-net: web-net
Subnet: 10.10.0.0
Mask: 255.255.255.0
Web-sec: name: web-sec
in: allow: tcp: 22
out: allow: tcp: 80, 443
Describe Infrastructure
Days &
Variability
Fast &
Predictabl
flavor: m1.small
Cpu: 2
Mem: 2
Disk: 10
Cloud APIs
Infrastructure
“Consumer”
Wait
https://youtu.be/Nk8JCAgmDmg
Long LivedShort Lived
IaaS
What and Why of BOSH
Coordinating a
few things is OK
Coordinating lots
of things is hard
What do we
need to be
able to do
this?
Bundled releases
- identifiabilityWhat do we
need to be
able to do
this?
Bundled releases
- identifiability
Integration
- reproducibility
What do we
need to be
able to do
this?
Bundled releases
- identifiability
Integration
- reproducibility
Deployment framework
- consistency
What do we
need to be
able to do
this?
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
BORING DEPLOYMENTS
Great for building
out servers (but not
a software
packaging tool)
Great for packing
up software to
deploy anywhere
Great for keeping
infrastructure in a good
state (but designed for
servers, not services)
BOSH can do it all!
“BOSH is an open source tool for
release engineering,
deployment, lifecycle
management, and monitoring of
distributed systems.”
BOSH
Director
VM
Release
Software
BOSH
Director
VM
BOSH
Director
VM
Release
Software
BOSH
Director
VM
Release
Software
Stemcell
OS
BOSH
Director
VM
Release
Software
Stemcell
OS
BOSH
Director
VM
Manifest
Definition
Release
Software
Stemcell
OS
BOSH
Director
VM
Manifest
Definition
Release
Software
Stemcell
OS
BOSH
Director
VM
Manifest
Definition
Release
Software
Stemcell
OS
BOSH
DEPLOY!
Infrastructure
What does this give us?
The
Day Two
Experience
● Declarative and self-healing
What does this give us?
The
Day Two
Experience
● Declarative and self-healing
● Updates
What does this give us?
The
Day Two
Experience
● Declarative and self-healing
● Updates
● Scaling
What does this give us?
The
Day Two
Experience
What and Why Kubernetes
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
I have 1000s of containers!!
What is Kubernetes (K8s)
• Kubernetes, is an open-source platform for managing, automating deployment, scaling, and
operating containerized applications across a cluster of worker nodes.
36
Capabilities:
• Deploy your applications quickly and
predictably
• Scale your applications on the fly
• Seamlessly roll out new features
• Optimize use of your hardware by using only
the resources you need
Role:
• K8s sits in the Container as a Service (CaaS)
or Container orchestration layer
Deployment_X.yaml
ContainerImage1
Replicas: 3
ContainerImage2
Replicas: 2
10,000 Foot View
• Container Cluster = “Desired State Management”
– Kubernetes Cluster Services (w/API)
• Worker = (Container Host) have agent called “Kubelet”
• Deployment = Configuration File of desired state
• Container Image = Runs in a Pod
• Replicas = QTY of Pods that must be running
37
Worker
(Container Host)
P1R1
Worker
(Container Host)
P1R2 P2R1 P1R1
P2R1
Worker
(Container Host)
P1R3 P2R2 P2R2
Kubernetes
Cluster
Services
API
K
K
K
Deployment_Y.yaml
ContainerImage1
Replicas: 1
ContainerImage2
Replicas: 2
P1R1
P1R2
P2R1
What and Why of Kubo
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
+
= KuBo
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
What problem does KuBo solve?
Uniform way to instantiate, deploy, and manage
highly available Kubernetes clusters. On any cloud.
What and Why of PKS
1)Manifests
1)Manifests
Open Source Cloud Foundry is
about 6000 lines of YAML...
1)Manifests
Open Source Cloud Foundry is
about 6000 lines of YAML...
...and writing YAML is not fun
2) Tenancy
2) Tenancy
Everybody wants their own
Kubernetes...
2) Tenancy
This is difficult.
2) Tenancy
What do dev teams need?
● Security
2) Tenancy
What do dev teams need?
● Security
● Compute performance isolation2) Tenancy
What do dev teams need?
● Security
● Compute performance isolation
● Network performance isolation
2) Tenancy
What do dev teams need?
● Security
● Compute performance isolation
● Network performance isolation
● Storage performance isolation
2) Tenancy
What do dev teams need?
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
BOSH-managed Kubernetes environments (Kubo)
provisioned through a service broker.
BOSH
Service
Broker
VSphere
What is Pivotal Container Service (PKS)?
pks cli
BOSH-managed Kubernetes environments
provisioned through a service broker.
BOSH
Service
Broker
VSphere
What is Pivotal Container Service (PKS)?
pks cli
K8s
cluster
BOSH-managed Kubernetes environments
provisioned through a service broker.
BOSH
Service
Broker
VSphere
So, what is PKS?
pks cli
K8s
cluster
BOSH-managed Kubernetes environments
provisioned through a service broker.
BOSH
Service
Broker
VSphere
kubectl
So, what is PKS?
pks cli
K8s
cluster
K8s
cluster
K8s
cluster
BOSH-managed Kubernetes environments
provisioned through a service broker.
BOSH
Service
Broker
VSphere
kubectl
So, what is PKS?
pks cli
K8s
cluster
K8s
cluster
K8s
cluster
K8s
cluster
BOSH-managed Kubernetes environments
provisioned through a service broker.
BOSH
Service
Broker
VSphere
K8s
cluster
K8s
cluster
kubectl
So, what is PKS?
pks cli
Everyone can have their own Kubernetes!
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Sample v1.0 PKS CLI Experience
Deploy a K8s cluster instance
$ pks create-service kubo-odb small myk8s
Get access credentials to Kubernetes API
$ pks create-service-key myk8s myk8s-key
Use existing Kubernetes toolchain
$ kubectl get pods --namespace=kube-system
Q&A
66
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC

More Related Content

Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC