• The biggest KubeCon ever happened!
• 8000+ Attendees in–person & 2000+ live stream!
• Lots of women leaders in Key Notes!
• There were several Sessions:
• Lots of breakout sessions and booth exhibits sessions!
• 27 Preconference events & One Post conference event.
• Meet the Maintainer & Meet the ambassador sessions.
• A mentor-mentee program of around 250 people.
• Around 500 diversity scholarships.
• SIG groups had 2 types of sessions: intro & deep dive.
• Honored Three categories of awards:
• Top Committer (Jordan Liggit)
• Top Ambassador (Michael Hausenblas)
• Chop Wood/Carry Water for 14 people.
• Plenty of job postings; Almost all the talks mentioned “ We are hiring!!”
• All Attendee Party at MoPOP, Chihuly Gardens and Space Needle – Lots of Food & Fun!!
1. etcd is incubated in CNCF
2. Rook supports Ceph, Cassandra, NFS, and Nexenta EdgeFS
3. Oracle cloud native framework for developers
4. Digital Ocean introducing Managed k8s Service
5. Mirantis Launches Cloud Platform
6. Pivotal Announces Pivotal Functions Service (PFS)
7. Twistlock introduce Hybrid cloud service Discovery
8. Instana Enhances its Kubernetes Monitoring Solution
9. New Relic Introduces Kubernetes Cluster Explorer
10. GitLab announces GitLab serverless
11. Google Cloud with beta availability of Istio on GKE
12. Code fresh invests in Marketplace & Public build
13. Banzai Cloud announces its cloud Pipeline platform
14. Joint development foundation in LF
15. More … Trafeik Distributed Edge router, Instana APM tool, Solo declarative integrated
components, KubeMQ Message broker, CockroachDB persistent Tier, PureStorage
Orchestrator, Kasten Cloud migration, Robin bigdata stateful stack, NetApp k8s service,
Gravitanional Cluster machine image creation, Heptio managed service, Kong Cloud, and so
CNCF is an open source software foundation (under Linux foundation) dedicated to making cloud native computing universal and sustainable. Cloud
native computing uses an open source software stack to deploy applications as micro services, packaging each part into its own container, and
dynamically orchestrating those containers to optimize resource utilization. Cloud native technologies enable software developers to build great products
faster. The following projects are under the foundation:
• Platinum members:
Tracing API Container
• Kubernetes is complex, need abstraction at higher layer – everyone says.
• Not as big as AWS:Reinvent or Oracle World – but may get to there!
• Serverless & Service Mesh is everywhere!
• Container storage, more needs to be done – Rook is a hope!
• Auto scaling, distributed tracing and unified metrics are coming up good.
• Event was mainly vendor centric who write code to early
adaptors/customers mainly; System Integrators are very less.
• AWS had a good presence in sessions/booths and published their
containers roadmap first time. Other big guys Microsoft, Google, IBM,
Oracle, Redhat, etc. were all over the place.
• May be CloudNativeCon will be prominent in future than KubeCon. Like
EnvyCon, HelmsCon, etc. can be combined together.
Operator Framework – Deep Dive
Helps Kubernetes application deployment : Stateless, Stateful & Distributed (data rebalancing/auto scaling/upgrade)
• Session#1: Deep Dive Operators: https://developers.redhat.com/blog/2018/12/18/kubernetes-operators-in-depth/
• SDK can bring all the dependencies of k8s for building related items/APIs
• Create controller for complex applications logic in software – no human interaction
• Custom controllers – applications automated. Operator is superset of controllers.
• Can be implemented in Ansible, the same operator instead of GO.
• Tests are embedded in the operator
• Operator can depend on other operator.
• Dependencies can be declared in Life cycle manager.
• Operator can run multiple version of software.
• Session#2: COLLECTING OPERATIONAL METRICS ACROSS 5,000 NAMESPACES -
• Operator metering – Apps specific Insights, Metering with multiple clusters, Reporting $/node split, etc.
• Session#3: Kubernetes Operator Framework Workshop
• Post Conference half day Event – Very nice job by Redhat/CoreOS guys. Deep down discussions on all aspects.
• Operator SDK to build Operators with Go, Ansible, and Helm charts.
• Defining, installing, and upgrading Operators and their dependencies with the Operator-Lifecycle-Manager
• Recording historical cluster usage and generating reports with Operator-Metering.
Operator Framework – Basic
• The Operator Framework is an open source
toolkit to manage Kubernetes native
applications, called Operators, in an effective,
automated, and scalable way (includes SDK, Life
cycle manager & metering)
• Operator - For a specific application Operational
knowledge baked in and automated - including
failure recovery, scaling stateful app, uprade,
• CRD = Input to the system (YAML file)
• Controller = Server executable interacts with
k8s API server
Helm 2 is under active maintenance
Charts will be backward compatible
Helm 3 is under development and few months away from release
No Tiller – client only architecture, the end user can create all the resources intelligently
Refactoring – new design patterns – SDK style – all happening now!
Lua(Lua is designed to be a lightweight embeddable scripting language.) Integration
Charts will be backward compatible though there will be some format changes
Better upgrades for applications
Safety checks will be in place for resource changes
will have plugins.
Helm Hub – https://hub.helm.sh – Registries like DockerHub or Quay
Monocular for discover, Chart Museums for store, chart-testing – All will be relooked at it.
Nothing in the roadmap to connect with Kustomize at this point.
Session#1: Helm Deep Dive - https://www.youtube.com/watch?v=V8VCdlpWWr8 (1.30hr video with
Planning a European Helm summit in 2019 H1
Helm - Deep Dive!
Helm: The package manager for Kubernetes.
Helm is not source code manager, need a CI/CD to build the image.
Define, install, and upgrade with dependencies, multiple config, upgrade, etc.
Helm is like apt, yum, etc.
Helm file will be like Chef
Helm is a command line tool
Tiller runs in your cluster - create resource in your cluster
Repository stores the charts; Chart is a package
Monocular is Web UI
CharMuseum is Chart Repository
Quick start https://docs.helm.sh/using_helm/#quickstart-guide
Helm – Basics
Helm V2 Architecture
kustomize lets you customize raw, template-free YAML files for
multiple purposes, leaving the original YAML untouched and usable
as is. Kustomize traverses a Kubernetes manifest to add, remove or
update configuration options without forking. kustomize encourages
a fork/modify/rebase workflow.
• Why use “Kustomize”
• Session #1: Kustomize: Deploy Your App with Template Free YAML -
Ryan Cox, Lyft - https://kccna18.sched.com/event/GrSn/kustomize-
APP SIG - Deep Dive!
• Mission: Tools and documentation to aid the eco system. Support Interoperable apps.
• Portable Service Definitions (KEP) – Same resource across all clouds like AWS, Azure, Mesos, etc.
Can orchestrate SaaS through this.
• CNAB Bundle - Higher level bundle for application deployment (all in one package). The specs
are getting ready and how it play out is still decided. People working in Helm also works in CNAB
, looks like.
• Blue-Green, Canary, Rolling Deployments – Have tools build to support this.
• Parity between stateful sets and deployments – Not now fully.
• Kubernetes may be used as scheduler in some other platforms like cloud Foundry (instead of
• Session#1: https://www.youtube.com/watch?v=gJIUUsDP7ko
CNAB - Basics
Cloud Native Application Bundles (CNAB) - package format
specification for managing application cloud agnostic.
CNAB relies on a handful of technologies you are already familiar
with – JSON, Docker containers, and OpenPGP
Works with Azure to on-prem OpenStack, from Kubernetes to
Swarm, and from Ansible to Terraform.
CNAB addresses the followings:
1. Manage discrete resources as a single logical unit that
comprises an app.
2. Use and define operational verbs for lifecycle management
of an app (install, upgrade, uninstall).
3. Sign and digitally verify a bundle, even when the underlying
technology doesn’t natively support it.
4. Attest (or attach a signature to any moment in the lifecycle
of that bundle) and digitally verify that the bundle has
achieved that state to control how the bundle can be used.
5. Enable the export of the bundle and all dependencies to
reliably reproduce in another environment, including offline
environments (IoT edge, air-gapped environments).
6. Store bundles in repositories for remote installation.
https://cnab.io/ - Specification
CNAB can bundle templates from infrastructure-as-
code utilities, such as YAML templates in
Kubernetes, Helm charts,
AWS CloudFormation and HashiCorp Terraform.
https://duffle.sh/ - an open source reference implementation
of a CNAB client from Microsoft. Have VS Code Extension.
https://github.com/docker/app - Docker-app from Docker:
make container applications simpler & also manages VMs
and serverless workloads. Docker App artifacts like Docker
container Images and can register with Notary. Can install
Helm chart using it.
K8s Application Deployment – several options…..
1) Ship - Reducing the Operational Overhead of Maintaining 3rd-party Applications in Kubernetes
2) ArgroCD - Declarative continuous deployment for Kubernetes. https://github.com/argoproj/argo-cd
3) Docker-app - Make container applications simpler & also manages VMs and serverless workloads -
4) Mastereo - Declarative approach to building production-grade Kubernetes Operators -
5) Chef Habitat - Habitat packages include all the tooling needed to ship and run applications - https://www.habitat.sh/
6) Draft - Develop application and then deploy to k8s cluster using Helms - https://draft.sh/
7) Metaparticle – Standard library for apps – patterns & language interface - https://github.com/metaparticle-io/
8) Skaffold – Workflow of building, pushing and deploying apps; automatic rebuild from directory code change -
9) Kubeapps – An app console for deployment of apps - https://kubeapps.com/
10) Gitkube – Deploy to k8s using git push - https://github.com/hasura/gitkube
11) Ksonnet – Define k8s configuration and then deploy to cluster - https://github.com/ksonnet
12) Kubecfg – Deployment infrastructure patterns with version controlled templates -https://github.com/ksonnet/kubecfg
13) Kubepack – Lightweight k8s package manager - https://kubepack.com/
14) Krew – Package manager for Kubectl plugins - https://github.com/GoogleContainerTools/krew
15) Kompose - takes a Docker Compose file and translates it into Kubernetes resources. http://kompose.io/
16) Kedge - a deployment tool for Kubernetes artifacts by using a simplified version of the Kubernetes spec -
17) Kubectl – Default CLI deployment - https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/
18) & more…..
K8s application deployments…
Operator Framework Helm Kustomize CNAB
What’s it? A pattern of building k8s applications
(purpose built for specific app)
Package Mangere which
template-free way to customize
package manager of package manager
Cloud Agnostic – can run in any
Vendors CoreOS/RedHat Google & Deis; then Microsoft Google Microsoft & Docker
Components Operator, Custom controller, CRD,
SDK, Life Cycle Manger, Metering
Helm cli, Chart files, Repository store,
Kubernetes API resource files - YAML
Spec files YAML, etc.
Go, Ansible, programming languages YAML. May introduce Lau in v3.0. Cant read Go template, only
YAML & then use the utility to run
Plugins Helm plugins like helm-s3 Allow as Helm Plugin.
Use Kustomize in Post Helm.
Interoperability Can integrate with Helm Can call Operator in helm chart Can read Helm processed chart and
Kustomize could use it.
Can install helm chart using Docker APP.
Implementation Tool for creating a Kubernetes
Operator from a Helm Chart
Hemsman, Cabin, Orca
Duffle with VS code extension
Work in progress……..
Next Kube events coming up…
March 23, 2019 | Kubernetes Day India, Bangalore
CFP: Jan 20th
May 20 – 23, 2019 | Barcelona, Spain
CFP: Jan 19th
June 25 – 26, 2019 | Shanghai, China https://www.lfasiallc.com/events/kubecon-
CFP: Feb 15th
November 18-21, 2019 | San Diego, California
CFP: July 12th
Some contents are taken from the net; will be used only for educational purpose. Thx to those authors