Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kubecon seattle 2018 recap - Application Deployment aspects

303 views

Published on

KubeCon CloudNativeCon Seattle 2019 Recap - General overview and also summary of some of the application deployment track (App sig, Operator Framework, Helm, Kustomize, CNAB).

Published in: Software
  • Want to preview some of our plans? You can get 50 Woodworking Plans and a 440-Page "The Art of Woodworking" Book... Absolutely FREE ▲▲▲ http://tinyurl.com/y3hc8gpw
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • The #1 Woodworking Resource With Over 16,000 Plans, Download 50 FREE Plans... ♥♥♥ http://tinyurl.com/y3hc8gpw
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • The #1 Woodworking Resource With Over 16,000 Plans, Download 50 FREE Plans... ♣♣♣ http://tinyurl.com/y3hc8gpw
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Kubecon seattle 2018 recap - Application Deployment aspects

  1. 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. 2. https://azure.microsoft.com/en-in/resources/phippy-goes-to-the-zoo/en-us/ 2
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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/
  7. 7. Vendors at Exhibitions Hall… 7
  8. 8. 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
  9. 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. 10. from few sessions I landed….. 10
  11. 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. 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. 13. 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
  14. 14.  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
  15. 15. 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
  16. 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. 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. 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. 19. 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……..
  20. 20. 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 

×