KEMBAR78
There is no such thing as “Vanilla Kubernetes” | PDF
There is no such thing as
“Vanilla Kubernetes”
Bob Dubois
Cloud Specialist, Red Hat
6 years @ Red Hat
Tech background in network security, storage and data management
Long-term OSS user
(RHEL 4 certified, and RHEL 7, and OpenStack, and OpenShift, and ...)
Spokesman & public speaker for Red Hat
/usr/bin/whoami
6 years @ Red Hat
Tech background in network security, storage and data management
Long-term OSS user
(RHEL 4 certified, and RHEL 7, and OpenStack, and OpenShift, and ...)
Spokesman & public speaker for Red Hat
Actually a musicologist & musician...
/usr/bin/whoami
ONE ASSUMPTION
4
Everyone understands running unsupported FOSS Kubernetes is a bad idea
KUBERNETES IS NOT THE END GAME
5
It’s a building block to build app platforms
* https://twitter.com/kelseyhightower/status/935252923721793536
BUILDING AN APP PLATFORM IS EXPENSIVE
6
Are you a app platform vendor or do you want to focus on your mission?
* www.crunchbase.com
$33.5M $30M $257.3M$272.9M
It takes real money to build an app platform. Here’s what it took for these start-ups.
BUILDERS OF APP PLATFORMS ARE EXPENSIVE
7
The same goes for Kubernetes contributors
* https://neuvoo.com/salary/?job=Kubernetes+Docker+Engineer
https://neuvoo.com/salary/?job=software+developer
https://www.generalschedule.org/GS-15
The average salary for a standard software developer is $101,490.
A GS-15 is at $106,595!
KUBERNETES BUILDERS’ VALUE IS EVEN MORE
8
The market value of Kubernetes for resale talent is incredible
* Citation needed
We each paid plenty per engineer for a Kubernetes talent infusion.
$7M$1.9M
You realize Kubernetes is hard.
ORGANIZATIONS NEED LOTS OF HELP
10
Going beyond community support is critical
* https://insights.stackoverflow.com/trends?tags=kubernetes
One half of a percent of Stack Overflow questions are Kubernetes related.
Red Hat answers nearly 2,000 support tickets for Kubernetes a month!
You’re not in the business of
building app platforms.
A LOT OF THIS GOING AROUND
12
The late-entry Kubernetes vendors want you to believe in “Vanilla”
THE VANILLA KUBERNETES MYTHS
13
Why IT shops swoon over “Vanilla” Kubernetes and its perceived value
No “vendor lock-in”
Ultimate portability across Kubernetes Clusters
Always on latest version
THE VANILLA KUBERNETES REALITY
14
“Vanilla” Kubernetes is not really vanilla at all
Every vendor operates Kubernetes differently; this matters
Every vendor configures their Kubernetes distribution differently
No vendor is in lockstep with the latest upstream
* https://medium.com/@jzelinskie/youre-not-running-vanilla-kubernetes-2f2359666bf9
VANILLA KUBERNETES IS NOT A THING
15
In practice, no vendor distribution of Kubernetes is “Vanilla”
So what are late-entry
Kubernetes vendors talking
about?
“PURE” KUBERNETES PRIMITIVES
17
Late-entry vendors are talking about the developer experience
kubectl kube-apiserver
KUBERNETES CONFORMANCE
18
Interoperability at the API
“The new Certified Kubernetes Conformance Program gives enterprise organizations the
confidence that workloads that run on any Certified Kubernetes Distribution or Platform
will work correctly on any other version,” said Dan Kohn, Executive Director, Cloud Native
Computing Foundation. “The interoperability that this program ensures is essential
to Kubernetes meeting its promise of offering a single open source software
project supported by many vendors that can deploy on any public, private or
hybrid cloud.”
One of the goals of the project has always been consistency and portability.
Kubernetes sits on top of the infrastructure and enables you to describe your workload
in a common format. Kubernetes makes it easy to move workloads from one place
to another, or combine disjointed environments with a shared control plane.
This program gives end users the confidence that when they use a Certified
Kubernetes product they can rely on a high level of common functionality. It gives
Independent Software Vendors (ISVs) confidence that if their customer is using a
Certified Kubernetes platform that their software will behave as expected.
* https://github.com/cncf/k8s-conformance
FOSS KUBERNETES
19
Upstream is closest to “Vanilla”
Kubernetes
Kube Native
App
Helmed
App
Kubernetes Ingress
Kubernetes CLI
Kubernetes API
* Not comprehensive. Not even close.
PKS
20
So BOSH is “Vanilla”?
Ubuntu
BOSH
NSX-T
Kubernetes
Kube Native
App
Helmed
App
Harbor
Ops Manager
Kubernetes Ingress
Kubernetes CLI
Kubernetes API
* Not comprehensive. Not even close. PKS/CF only APIs in bold.
PKS CLI
PKS API
Docker EE
21
UCP is definitely not “Vanilla”
Alpine
??
Calico
Kubernetes
Kube Native
App
Helmed
App
DTR
UCP
Kubernetes Ingress
Kubernetes CLI
Kubernetes API
* Not comprehensive. Not even close. DEE only APIs in bold.
GKE
22
Even one of the Kube founders is not “Vanilla”
Container-Optimized OS
GCloud
GCP VPC
Kubernetes
Kube Native
App
Helmed
App
Cloud Storage
Container
Registry
Stackdriver
GCloud
Console
Kubernetes Ingress
* Not comprehensive. Not even close. GCP only APIs in bold.
GCP Services and other
Googly Things
Productive
Abstractions
GCP Load Balancer
Cloud Build
Kubernetes CLI
Kubernetes API
GKE CLI
GKE API
GKE
23
And what is not “Vanilla” are the things making your job easier
Container-Optimized OS
GCloud
GCP VPC
Kubernetes
Kube Native
App
Helmed
App
Cloud Storage
Container
Registry
Stackdriver
GCloud
Console
Kubernetes Ingress
* Not comprehensive. Not even close. GCP only APIs in bold.
GCP Services and other
Googly Things
Productive
Abstractions
GCP Load Balancer
Cloud Build
Kubernetes CLI
Kubernetes API
GKE CLI
GKE API
OPENSHIFT
24
Certified “Pure” Kubernetes and productive abstractions
RHEL
Productive
Abstractions
Ansible/Terraform/Operators
OVN
Kubernetes
Kube Native
App
OpenShift
Red Hat MW
OpenShift Native
App
Operated/Helmed
App
RHT Storage
Quay
Telemetry
(EFK/Profana)
Admin
Console
Kubernetes Ingress OpenShift Routes
Kubernetes CLI OpenShift CLI
Kubernetes API OpenShift API
* Not comprehensive. Not even close. Red Hat or OpenShift only APIs in bold.
Che
Templates/S2I/BC
OpenShift Mesh/Istio
Knative
OPENSHIFT
25
We’ve been making Kubernetes productive for a while
1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 …...
K8S 1.0
K8S 1.0
K8S 1.8
K8S 1.6
2015 2016 2017 2018
K8S 1.9
OPENSHIFT
26
We support you no matter what you choose
RHEL
Ansible/Terraform/Operators
OVN
Kubernetes
OpenShift
Portability
Speed to
Value
vs
Productive
Abstractions
OPENSHIFT
27
OpenShift Routes are Kubernetes Ingress++
RHEL
Ansible/Terraform/Operators
OVN
Kubernetes
OpenShift
Kubernetes Ingress OpenShift Routes
Standard Kubernetes object OpenShift only object
TLS re-encryption
TLS passthrough
Multiple weighted backends (split traffic)
Wildcard domains
* https://blog.openshift.com/kubernetes-ingress-vs-openshift-route/
Productive
Abstractions
dev$
dev$
odo create myapp
odo push
dev$
dev$
dev$
dev$
docker build myapp
docker push myapp
kubectl run myapp
kubectl expose myapp
OPENSHIFT
28
Simplified developer experience for quicker business results
RHEL
Ansible/Terraform/Operators
OVN
Kubernetes
OpenShift
* Not comprehensive. Not even close.
Productive
Abstractions
KUBERNETES CONFORMANCE
29
Interoperability at the API
“The new Certified Kubernetes Conformance Program gives enterprise organizations the
confidence that workloads that run on any Certified Kubernetes Distribution or Platform
will work correctly on any other version,” said Dan Kohn, Executive Director, Cloud Native
Computing Foundation. “The interoperability that this program ensures is essential
to Kubernetes meeting its promise of offering a single open source software
project supported by many vendors that can deploy on any public, private or
hybrid cloud.”
One of the goals of the project has always been consistency and portability.
Kubernetes sits on top of the infrastructure and enables you to describe your workload
in a common format. Kubernetes makes it easy to move workloads from one place
to another, or combine disjointed environments with a shared control plane.
This program gives end users the confidence that when they use a Certified
Kubernetes product they can rely on a high level of common functionality. It gives
Independent Software Vendors (ISVs) confidence that if their customer is using a
Certified Kubernetes platform that their software will behave as expected.
* https://github.com/cncf/k8s-conformance
Nobody makes their
Kubernetes non-conformant.
KUBERNETES CONFORMANCE
31
Everybody is certified… with their productive abstractions intact
VANILLA KUBERNETES DOES NOT EXIST
32
Pick a flavor that works best for you
33
YOUR OTHER OPTION

There is no such thing as “Vanilla Kubernetes”

  • 1.
    There is nosuch thing as “Vanilla Kubernetes” Bob Dubois Cloud Specialist, Red Hat
  • 2.
    6 years @Red Hat Tech background in network security, storage and data management Long-term OSS user (RHEL 4 certified, and RHEL 7, and OpenStack, and OpenShift, and ...) Spokesman & public speaker for Red Hat /usr/bin/whoami
  • 3.
    6 years @Red Hat Tech background in network security, storage and data management Long-term OSS user (RHEL 4 certified, and RHEL 7, and OpenStack, and OpenShift, and ...) Spokesman & public speaker for Red Hat Actually a musicologist & musician... /usr/bin/whoami
  • 4.
    ONE ASSUMPTION 4 Everyone understandsrunning unsupported FOSS Kubernetes is a bad idea
  • 5.
    KUBERNETES IS NOTTHE END GAME 5 It’s a building block to build app platforms * https://twitter.com/kelseyhightower/status/935252923721793536
  • 6.
    BUILDING AN APPPLATFORM IS EXPENSIVE 6 Are you a app platform vendor or do you want to focus on your mission? * www.crunchbase.com $33.5M $30M $257.3M$272.9M It takes real money to build an app platform. Here’s what it took for these start-ups.
  • 7.
    BUILDERS OF APPPLATFORMS ARE EXPENSIVE 7 The same goes for Kubernetes contributors * https://neuvoo.com/salary/?job=Kubernetes+Docker+Engineer https://neuvoo.com/salary/?job=software+developer https://www.generalschedule.org/GS-15 The average salary for a standard software developer is $101,490. A GS-15 is at $106,595!
  • 8.
    KUBERNETES BUILDERS’ VALUEIS EVEN MORE 8 The market value of Kubernetes for resale talent is incredible * Citation needed We each paid plenty per engineer for a Kubernetes talent infusion. $7M$1.9M
  • 9.
  • 10.
    ORGANIZATIONS NEED LOTSOF HELP 10 Going beyond community support is critical * https://insights.stackoverflow.com/trends?tags=kubernetes One half of a percent of Stack Overflow questions are Kubernetes related. Red Hat answers nearly 2,000 support tickets for Kubernetes a month!
  • 11.
    You’re not inthe business of building app platforms.
  • 12.
    A LOT OFTHIS GOING AROUND 12 The late-entry Kubernetes vendors want you to believe in “Vanilla”
  • 13.
    THE VANILLA KUBERNETESMYTHS 13 Why IT shops swoon over “Vanilla” Kubernetes and its perceived value No “vendor lock-in” Ultimate portability across Kubernetes Clusters Always on latest version
  • 14.
    THE VANILLA KUBERNETESREALITY 14 “Vanilla” Kubernetes is not really vanilla at all Every vendor operates Kubernetes differently; this matters Every vendor configures their Kubernetes distribution differently No vendor is in lockstep with the latest upstream * https://medium.com/@jzelinskie/youre-not-running-vanilla-kubernetes-2f2359666bf9
  • 15.
    VANILLA KUBERNETES ISNOT A THING 15 In practice, no vendor distribution of Kubernetes is “Vanilla”
  • 16.
    So what arelate-entry Kubernetes vendors talking about?
  • 17.
    “PURE” KUBERNETES PRIMITIVES 17 Late-entryvendors are talking about the developer experience kubectl kube-apiserver
  • 18.
    KUBERNETES CONFORMANCE 18 Interoperability atthe API “The new Certified Kubernetes Conformance Program gives enterprise organizations the confidence that workloads that run on any Certified Kubernetes Distribution or Platform will work correctly on any other version,” said Dan Kohn, Executive Director, Cloud Native Computing Foundation. “The interoperability that this program ensures is essential to Kubernetes meeting its promise of offering a single open source software project supported by many vendors that can deploy on any public, private or hybrid cloud.” One of the goals of the project has always been consistency and portability. Kubernetes sits on top of the infrastructure and enables you to describe your workload in a common format. Kubernetes makes it easy to move workloads from one place to another, or combine disjointed environments with a shared control plane. This program gives end users the confidence that when they use a Certified Kubernetes product they can rely on a high level of common functionality. It gives Independent Software Vendors (ISVs) confidence that if their customer is using a Certified Kubernetes platform that their software will behave as expected. * https://github.com/cncf/k8s-conformance
  • 19.
    FOSS KUBERNETES 19 Upstream isclosest to “Vanilla” Kubernetes Kube Native App Helmed App Kubernetes Ingress Kubernetes CLI Kubernetes API * Not comprehensive. Not even close.
  • 20.
    PKS 20 So BOSH is“Vanilla”? Ubuntu BOSH NSX-T Kubernetes Kube Native App Helmed App Harbor Ops Manager Kubernetes Ingress Kubernetes CLI Kubernetes API * Not comprehensive. Not even close. PKS/CF only APIs in bold. PKS CLI PKS API
  • 21.
    Docker EE 21 UCP isdefinitely not “Vanilla” Alpine ?? Calico Kubernetes Kube Native App Helmed App DTR UCP Kubernetes Ingress Kubernetes CLI Kubernetes API * Not comprehensive. Not even close. DEE only APIs in bold.
  • 22.
    GKE 22 Even one ofthe Kube founders is not “Vanilla” Container-Optimized OS GCloud GCP VPC Kubernetes Kube Native App Helmed App Cloud Storage Container Registry Stackdriver GCloud Console Kubernetes Ingress * Not comprehensive. Not even close. GCP only APIs in bold. GCP Services and other Googly Things Productive Abstractions GCP Load Balancer Cloud Build Kubernetes CLI Kubernetes API GKE CLI GKE API
  • 23.
    GKE 23 And what isnot “Vanilla” are the things making your job easier Container-Optimized OS GCloud GCP VPC Kubernetes Kube Native App Helmed App Cloud Storage Container Registry Stackdriver GCloud Console Kubernetes Ingress * Not comprehensive. Not even close. GCP only APIs in bold. GCP Services and other Googly Things Productive Abstractions GCP Load Balancer Cloud Build Kubernetes CLI Kubernetes API GKE CLI GKE API
  • 24.
    OPENSHIFT 24 Certified “Pure” Kubernetesand productive abstractions RHEL Productive Abstractions Ansible/Terraform/Operators OVN Kubernetes Kube Native App OpenShift Red Hat MW OpenShift Native App Operated/Helmed App RHT Storage Quay Telemetry (EFK/Profana) Admin Console Kubernetes Ingress OpenShift Routes Kubernetes CLI OpenShift CLI Kubernetes API OpenShift API * Not comprehensive. Not even close. Red Hat or OpenShift only APIs in bold. Che Templates/S2I/BC OpenShift Mesh/Istio Knative
  • 25.
    OPENSHIFT 25 We’ve been makingKubernetes productive for a while 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 …... K8S 1.0 K8S 1.0 K8S 1.8 K8S 1.6 2015 2016 2017 2018 K8S 1.9
  • 26.
    OPENSHIFT 26 We support youno matter what you choose RHEL Ansible/Terraform/Operators OVN Kubernetes OpenShift Portability Speed to Value vs Productive Abstractions
  • 27.
    OPENSHIFT 27 OpenShift Routes areKubernetes Ingress++ RHEL Ansible/Terraform/Operators OVN Kubernetes OpenShift Kubernetes Ingress OpenShift Routes Standard Kubernetes object OpenShift only object TLS re-encryption TLS passthrough Multiple weighted backends (split traffic) Wildcard domains * https://blog.openshift.com/kubernetes-ingress-vs-openshift-route/ Productive Abstractions
  • 28.
    dev$ dev$ odo create myapp odopush dev$ dev$ dev$ dev$ docker build myapp docker push myapp kubectl run myapp kubectl expose myapp OPENSHIFT 28 Simplified developer experience for quicker business results RHEL Ansible/Terraform/Operators OVN Kubernetes OpenShift * Not comprehensive. Not even close. Productive Abstractions
  • 29.
    KUBERNETES CONFORMANCE 29 Interoperability atthe API “The new Certified Kubernetes Conformance Program gives enterprise organizations the confidence that workloads that run on any Certified Kubernetes Distribution or Platform will work correctly on any other version,” said Dan Kohn, Executive Director, Cloud Native Computing Foundation. “The interoperability that this program ensures is essential to Kubernetes meeting its promise of offering a single open source software project supported by many vendors that can deploy on any public, private or hybrid cloud.” One of the goals of the project has always been consistency and portability. Kubernetes sits on top of the infrastructure and enables you to describe your workload in a common format. Kubernetes makes it easy to move workloads from one place to another, or combine disjointed environments with a shared control plane. This program gives end users the confidence that when they use a Certified Kubernetes product they can rely on a high level of common functionality. It gives Independent Software Vendors (ISVs) confidence that if their customer is using a Certified Kubernetes platform that their software will behave as expected. * https://github.com/cncf/k8s-conformance
  • 30.
  • 31.
    KUBERNETES CONFORMANCE 31 Everybody iscertified… with their productive abstractions intact
  • 32.
    VANILLA KUBERNETES DOESNOT EXIST 32 Pick a flavor that works best for you
  • 33.