KubeCon Seattle 2018: Recap
(Application Deployments)
by
Krishna m kumar
Presenting to Bangalore CNCF/Docker/k8s/OpenShift Meetup Event
Jan 19th 2019
At Walmart Labs, Bangalore
https://azure.microsoft.com/en-in/resources/phippy-goes-to-the-zoo/en-us/
2
Event Overview
• 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!!
3
Event Materials
Presentations
https://kccna18.sched.com/
https://kccna18.sched.com/list/descriptions/
CNCF Youtube Channels
https://www.youtube.com/playlist?list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU
Event Photo Gallery
https://www.flickr.com/photos/143247548@N03/sets/72157704599428714
Main site
https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-
2018/
4
Major Announcements…
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
on…
5
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:
6
• Platinum members:
Orchestration
Incubating Sandbox
Service
Mesh
StorageNetworking
API
Service
Discovery
Distributed
Tracing
Service Mesh
Software
Update Spec
StorageSecurity
Logging Remote
Procedure Call
Monitoring
Distributed
Tracing API Container
Runtime
Messa
ging
Iden
tity
Spec
Identit
y
Policy
Agent
Graduated
Server
less
Tooling
Container
Runtime
Package
Manageme
nt
Open
Metrics
TIKV
Key-Value
Store
https://www.cncf.io/
Vendors at Exhibitions Hall…
7
Some Insights…
• 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.
8
Some more recaps….
1. https://www.cncf.io/blog/2018/12/14/closing-out-2018-with-a-top-notch-cloud-native-
community-event
2. https://www.forbes.com/sites/jasonbloomberg/2018/12/15/top-nine-vendor-highlights-
from-kubecon/#108ff1b645e4
3. https://aws.amazon.com/blogs/opensource/kubecon-seattle-2018-recap/
4. https://blog.openshift.com/podcast-podctl-reviewing-kubecon-seattle-2018/
5. https://blog.openshift.com/openshift-commons-gathering-at-seattle-kubecon-2018-recap-
with-video-and-slides/
6. https://blogs.oracle.com/cloudnative/kubecon-2018-cloud-native-recaps-and-highlights
7. https://www.storagereview.com/kubecon_2018_bits
8. https://www.ibm.com/blogs/bluemix/2018/12/highlights-ibm-cloud-kubecon-2018/
9. https://docs.google.com/document/d/1jHucw5HkbrXyNQC30YJ2lvUTOc3ZB875Y4gB2amYGL
A/edit
10. https://medium.com/awesome-tech-confs/all-things-kubecon-and-cloudnativecon-seattle-
2018-db84eb121217
11. https://chrisshort.net/my-kubecon-cloudnativecon-na-2018-recap/
12. https://thenewstack.io/this-week-on-the-new-stack-kubecon-highlights/
13. https://vexxhost.com/blog/recap-kubecon-2018-seattle/
14. https://diamanti.com/main-blog/kubecon-2018-recap/
15. https://www.cncf.io/blog/2018/09/07/meet-the-cncf-ambassadors/
9
from few sessions I landed…..
10
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 -
https://schd.ws/hosted_files/kccna18/a2/KubeCon-2018-Operator-Metering.pdf
• 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.
11
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,
etc.
• CRD = Input to the system (YAML file)
• Controller = Server executable interacts with
k8s API server
• https://github.com/operator-framework
12
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.
Chart Repositories
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
1hr QA)
Planning a European Helm summit in 2019 H1
Helm - Deep Dive!
13
 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
 https://codeengineered.com/blog/2018/kubernetes-helm-related-tools/
14
Helm – Basics
Helm V2 Architecture
Kustomize
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”
• https://github.com/kubernetes-sigs/kustomize/issues/53
• https://github.com/kubernetes/community/blob/master/contri
butors/design-proposals/architecture/declarative-application-
management.md
• Session #1: Kustomize: Deploy Your App with Template Free YAML -
Ryan Cox, Lyft - https://kccna18.sched.com/event/GrSn/kustomize-
deploy-your-app-with-template-free-yaml-ryan-cox-lyft
• https://github.com/kubernetes-sigs/kustomize
• https://kustomize.io/
• https://kubernetes.io/blog/2018/05/29/introducing-kustomize-
template-free-configuration-customization-for-kubernetes/
15
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
Diego)
• Session#1: https://www.youtube.com/watch?v=gJIUUsDP7ko
• Sessions#2:https://schd.ws/hosted_files/kccna18/15/SIG%20Apps%20Intro%20KubeCon%20NA
%202018.pdf
16
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.
 CNAB Examples
https://github.com/deislabs/cnab-spec
https://github.com/garethr/docker-app-cnab-examples
https://cloudblogs.microsoft.com/opensource/2018/12/04
/announcing-cnab-cloud-agnostic-format-packaging-
running-distributed-applications/
https://blog.docker.com/2018/12/docker-app-and-cnab/
17
K8s Application Deployment – several options…..
1) Ship - Reducing the Operational Overhead of Maintaining 3rd-party Applications in Kubernetes
https://www.replicated.com/ship
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 -
https://github.com/docker/app
4) Mastereo - Declarative approach to building production-grade Kubernetes Operators -
https://github.com/maestrosdk/maestro
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 -
https://github.com/GoogleContainerTools/skaffold
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 -
http://kedgeproject.org/
17) Kubectl – Default CLI deployment - https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/
18) & more…..
18
K8s application deployments…
Operator Framework Helm Kustomize CNAB
What’s it? A pattern of building k8s applications
(purpose built for specific app)
https://coreos.com/operators/
Package Mangere which
encapsulates complexity
https://helm.sh/
template-free way to customize
application
https://kustomize.io
package manager of package manager
Cloud Agnostic – can run in any
containers.
https://cnab.io/
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,
Tiller server
Kubernetes API resource files - YAML
files
Spec files YAML, etc.
Example https://github.com/coreos/etcd-
operator
https://github.com/coreos/promethe
us-operator
https://github.com/helm/chartmuse
um
https://github.com/kubernetes-
sigs/kustomize/tree/master/example
s
https://github.com/deislabs/bundles
Software
Coding
Go, Ansible, programming languages YAML. May introduce Lau in v3.0. Cant read Go template, only
YAML/Json
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.
Tools /
Implementation Tool for creating a Kubernetes
Operator from a Helm Chart
Monocular, ChartMuseum,
Hemsman, Cabin, Orca
Duffle with VS code extension
Docker-app
?
19
Work in progress……..
T
H
A
N
k
U
Next Kube events coming up…
 March 23, 2019 | Kubernetes Day India, Bangalore
https://events.linuxfoundation.org/events/kubernetes-day-india-2019/
CFP: Jan 20th
 May 20 – 23, 2019 | Barcelona, Spain
https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-
2019/attend/
CFP: Jan 19th
 June 25 – 26, 2019 | Shanghai, China https://www.lfasiallc.com/events/kubecon-
cloudnativecon-china-2019/
CFP: Feb 15th
 November 18-21, 2019 | San Diego, California
https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-
america-2019/
CFP: July 12th
20
Some contents are taken from the net; will be used only for educational purpose. Thx to those authors 

Kubecon seattle 2018 recap - Application Deployment aspects

  • 1.
    KubeCon Seattle 2018:Recap (Application Deployments) by Krishna m kumar Presenting to Bangalore CNCF/Docker/k8s/OpenShift Meetup Event Jan 19th 2019 At Walmart Labs, Bangalore
  • 2.
  • 3.
    Event Overview • Thebiggest 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!! 3
  • 4.
    Event Materials Presentations https://kccna18.sched.com/ https://kccna18.sched.com/list/descriptions/ CNCF YoutubeChannels https://www.youtube.com/playlist?list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU Event Photo Gallery https://www.flickr.com/photos/143247548@N03/sets/72157704599428714 Main site https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america- 2018/ 4
  • 5.
    Major Announcements… 1. etcdis 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 on… 5
  • 6.
    CNCF is anopen 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: 6 • Platinum members: Orchestration Incubating Sandbox Service Mesh StorageNetworking API Service Discovery Distributed Tracing Service Mesh Software Update Spec StorageSecurity Logging Remote Procedure Call Monitoring Distributed Tracing API Container Runtime Messa ging Iden tity Spec Identit y Policy Agent Graduated Server less Tooling Container Runtime Package Manageme nt Open Metrics TIKV Key-Value Store https://www.cncf.io/
  • 7.
  • 8.
    Some Insights… • Kubernetesis 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. 8
  • 9.
    Some more recaps…. 1.https://www.cncf.io/blog/2018/12/14/closing-out-2018-with-a-top-notch-cloud-native- community-event 2. https://www.forbes.com/sites/jasonbloomberg/2018/12/15/top-nine-vendor-highlights- from-kubecon/#108ff1b645e4 3. https://aws.amazon.com/blogs/opensource/kubecon-seattle-2018-recap/ 4. https://blog.openshift.com/podcast-podctl-reviewing-kubecon-seattle-2018/ 5. https://blog.openshift.com/openshift-commons-gathering-at-seattle-kubecon-2018-recap- with-video-and-slides/ 6. https://blogs.oracle.com/cloudnative/kubecon-2018-cloud-native-recaps-and-highlights 7. https://www.storagereview.com/kubecon_2018_bits 8. https://www.ibm.com/blogs/bluemix/2018/12/highlights-ibm-cloud-kubecon-2018/ 9. https://docs.google.com/document/d/1jHucw5HkbrXyNQC30YJ2lvUTOc3ZB875Y4gB2amYGL A/edit 10. https://medium.com/awesome-tech-confs/all-things-kubecon-and-cloudnativecon-seattle- 2018-db84eb121217 11. https://chrisshort.net/my-kubecon-cloudnativecon-na-2018-recap/ 12. https://thenewstack.io/this-week-on-the-new-stack-kubecon-highlights/ 13. https://vexxhost.com/blog/recap-kubecon-2018-seattle/ 14. https://diamanti.com/main-blog/kubecon-2018-recap/ 15. https://www.cncf.io/blog/2018/09/07/meet-the-cncf-ambassadors/ 9
  • 10.
    from few sessionsI landed….. 10
  • 11.
    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 - https://schd.ws/hosted_files/kccna18/a2/KubeCon-2018-Operator-Metering.pdf • 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. 11
  • 12.
    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, etc. • CRD = Input to the system (YAML file) • Controller = Server executable interacts with k8s API server • https://github.com/operator-framework 12
  • 13.
    Helm 2 isunder 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. Chart Repositories 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 1hr QA) Planning a European Helm summit in 2019 H1 Helm - Deep Dive! 13
  • 14.
     Helm: Thepackage 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  https://codeengineered.com/blog/2018/kubernetes-helm-related-tools/ 14 Helm – Basics Helm V2 Architecture
  • 15.
    Kustomize kustomize lets youcustomize 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” • https://github.com/kubernetes-sigs/kustomize/issues/53 • https://github.com/kubernetes/community/blob/master/contri butors/design-proposals/architecture/declarative-application- management.md • Session #1: Kustomize: Deploy Your App with Template Free YAML - Ryan Cox, Lyft - https://kccna18.sched.com/event/GrSn/kustomize- deploy-your-app-with-template-free-yaml-ryan-cox-lyft • https://github.com/kubernetes-sigs/kustomize • https://kustomize.io/ • https://kubernetes.io/blog/2018/05/29/introducing-kustomize- template-free-configuration-customization-for-kubernetes/ 15
  • 16.
    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 Diego) • Session#1: https://www.youtube.com/watch?v=gJIUUsDP7ko • Sessions#2:https://schd.ws/hosted_files/kccna18/15/SIG%20Apps%20Intro%20KubeCon%20NA %202018.pdf 16
  • 17.
    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.  CNAB Examples https://github.com/deislabs/cnab-spec https://github.com/garethr/docker-app-cnab-examples https://cloudblogs.microsoft.com/opensource/2018/12/04 /announcing-cnab-cloud-agnostic-format-packaging- running-distributed-applications/ https://blog.docker.com/2018/12/docker-app-and-cnab/ 17
  • 18.
    K8s Application Deployment– several options….. 1) Ship - Reducing the Operational Overhead of Maintaining 3rd-party Applications in Kubernetes https://www.replicated.com/ship 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 - https://github.com/docker/app 4) Mastereo - Declarative approach to building production-grade Kubernetes Operators - https://github.com/maestrosdk/maestro 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 - https://github.com/GoogleContainerTools/skaffold 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 - http://kedgeproject.org/ 17) Kubectl – Default CLI deployment - https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/ 18) & more….. 18
  • 19.
    K8s application deployments… OperatorFramework Helm Kustomize CNAB What’s it? A pattern of building k8s applications (purpose built for specific app) https://coreos.com/operators/ Package Mangere which encapsulates complexity https://helm.sh/ template-free way to customize application https://kustomize.io package manager of package manager Cloud Agnostic – can run in any containers. https://cnab.io/ 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, Tiller server Kubernetes API resource files - YAML files Spec files YAML, etc. Example https://github.com/coreos/etcd- operator https://github.com/coreos/promethe us-operator https://github.com/helm/chartmuse um https://github.com/kubernetes- sigs/kustomize/tree/master/example s https://github.com/deislabs/bundles Software Coding Go, Ansible, programming languages YAML. May introduce Lau in v3.0. Cant read Go template, only YAML/Json 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. Tools / Implementation Tool for creating a Kubernetes Operator from a Helm Chart Monocular, ChartMuseum, Hemsman, Cabin, Orca Duffle with VS code extension Docker-app ? 19 Work in progress……..
  • 20.
    T H A N k U Next Kube eventscoming up…  March 23, 2019 | Kubernetes Day India, Bangalore https://events.linuxfoundation.org/events/kubernetes-day-india-2019/ CFP: Jan 20th  May 20 – 23, 2019 | Barcelona, Spain https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe- 2019/attend/ CFP: Jan 19th  June 25 – 26, 2019 | Shanghai, China https://www.lfasiallc.com/events/kubecon- cloudnativecon-china-2019/ CFP: Feb 15th  November 18-21, 2019 | San Diego, California https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north- america-2019/ CFP: July 12th 20 Some contents are taken from the net; will be used only for educational purpose. Thx to those authors 