©2022 VMware, Inc.
GitOps on Kubernetes
Leveraging Carvel
Alexandre Roman
Benoit Moussaud
May 2022
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 2
Hello world!
Alexandre Roman
Advisory Solution Engineer, VMware Tanzu
@Alexandre_Roman
Benoit Moussaud
Senior Solution Engineer, VMware Tanzu
@bmoussaud
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 3
Agenda Introduction to Carvel tools
From Helm to Carvel
Live demos!
See Carvel in action
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 4
Behind Helm Command
$ helm install happy-panda bitnami/wordpress
$ helm status happy-panda
$ helm install happy-panda –f myvalues.yaml 
bitnami/wordpress
From https://helm.sh/fr/docs/intro/using_helm/
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 5
Behind Helm Command
1. Fetch content from the repo
2. Generate the configuration by replacing values (default or provided)
3. kubectl apply –f /tmp/the/generated/content
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 6
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 7
https://carvel.dev/
Alternative
One tool,
a single responsibility
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 8
Hell with Helm templating
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 9
ytt
o It remains YAML ‘#@’
o Not only for Kubernetes: Any YAML files
o Values + Schema
o Extendable with Python Dev Code
$ ytt –f myconfig/ –f myvalues.yam
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 10
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 11
kapp
Un outil en ligne de commande autonome = kubectl++
Lier des ressources K8s entre elles
Validation synchrone du déploiement
$ kapp deploy –a myapp –f myconf
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 12
kapp-controller
Un bundle ytt+kapp+helm déployé dans un cluster
Pas de lien avec un poste de travail
Approche GitOps built-in
Pull model
Solution production-ready
Exemple : déployé à l’échelle
au Ministère des Armes US pour gérer clusters, packages et applications
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 13
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 14
Resources
Code source des démos
github.com/alexandreroman/k8s-gitops-carvel
Exemple de configuration ytt et Kubernetes
carvel.dev/blog/parameterizing-project-config-with-ytt/
Intégration ArgoCD et ytt
carvel.dev/blog/argocd-carvel-plugin/
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 15
VMware Tanzu ❤️ Open source
tanzu.vmware.com/open-source
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 16
VMware Tanzu Community Edition
A freely available Kubernetes platform for learners and users
Experience VMware Tanzu Now
Same open source software used in Tanzu commercial editions
Freely available: no cost, no usage limitations, direct download
Install and configure in minutes
Run on your local workstation or favorite cloud
Head over to tanzucommunityedition.io
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 17
A Complete and Customizable Kubernetes Platform
Built on top of state-of-the-art open source components
100% open source
Batteries included
but swappable
Everything you
need today – and
tomorrow
LIFECYCLE MANAGEMENT PACKAGE MANAGEMENT
CLUSTER API
INGRESS & LOAD BALANCING
EXTERNAL DNS
CONTAINER NETWORKING
AUTHENTICATION CONFORMANCE CERTIFICATES POLICY
DATA PROTECTION
CERT-MANAGER
SERVERLESS REGISTRY APP CATALOG BUILD SERVICE
Knative
LOCAL DEVELOPMENT ON PREMISES PUBLIC CLOUD
kpack
MONITORING & ALERTING
VISUALIZATION
LOG FORWARDING
PROVIDERS
COMPUTERUNTIME
CONNECTIVITY
SERVICES
BUILDANDDEPLOY
OBSERVABILITY
©2022 VMware, Inc. @Alexandre_Roman @bmoussaud 18
Learn Kubernetes and more at kube.academy + learn.tanzu.io
We provide a rich assortment of educational material to
get you started on your Kubernetes journey
Thank You
Confidential │ ©2022 VMware, Inc.

GitOps on Kubernetes with Carvel

  • 1.
    ©2022 VMware, Inc. GitOpson Kubernetes Leveraging Carvel Alexandre Roman Benoit Moussaud May 2022
  • 2.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 2 Hello world! Alexandre Roman Advisory Solution Engineer, VMware Tanzu @Alexandre_Roman Benoit Moussaud Senior Solution Engineer, VMware Tanzu @bmoussaud
  • 3.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 3 Agenda Introduction to Carvel tools From Helm to Carvel Live demos! See Carvel in action
  • 4.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 4 Behind Helm Command $ helm install happy-panda bitnami/wordpress $ helm status happy-panda $ helm install happy-panda –f myvalues.yaml bitnami/wordpress From https://helm.sh/fr/docs/intro/using_helm/
  • 5.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 5 Behind Helm Command 1. Fetch content from the repo 2. Generate the configuration by replacing values (default or provided) 3. kubectl apply –f /tmp/the/generated/content
  • 6.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 6
  • 7.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 7 https://carvel.dev/ Alternative One tool, a single responsibility
  • 8.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 8 Hell with Helm templating
  • 9.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 9 ytt o It remains YAML ‘#@’ o Not only for Kubernetes: Any YAML files o Values + Schema o Extendable with Python Dev Code $ ytt –f myconfig/ –f myvalues.yam
  • 10.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 10
  • 11.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 11 kapp Un outil en ligne de commande autonome = kubectl++ Lier des ressources K8s entre elles Validation synchrone du déploiement $ kapp deploy –a myapp –f myconf
  • 12.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 12 kapp-controller Un bundle ytt+kapp+helm déployé dans un cluster Pas de lien avec un poste de travail Approche GitOps built-in Pull model Solution production-ready Exemple : déployé à l’échelle au Ministère des Armes US pour gérer clusters, packages et applications
  • 13.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 13
  • 14.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 14 Resources Code source des démos github.com/alexandreroman/k8s-gitops-carvel Exemple de configuration ytt et Kubernetes carvel.dev/blog/parameterizing-project-config-with-ytt/ Intégration ArgoCD et ytt carvel.dev/blog/argocd-carvel-plugin/
  • 15.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 15 VMware Tanzu ❤️ Open source tanzu.vmware.com/open-source
  • 16.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 16 VMware Tanzu Community Edition A freely available Kubernetes platform for learners and users Experience VMware Tanzu Now Same open source software used in Tanzu commercial editions Freely available: no cost, no usage limitations, direct download Install and configure in minutes Run on your local workstation or favorite cloud Head over to tanzucommunityedition.io
  • 17.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 17 A Complete and Customizable Kubernetes Platform Built on top of state-of-the-art open source components 100% open source Batteries included but swappable Everything you need today – and tomorrow LIFECYCLE MANAGEMENT PACKAGE MANAGEMENT CLUSTER API INGRESS & LOAD BALANCING EXTERNAL DNS CONTAINER NETWORKING AUTHENTICATION CONFORMANCE CERTIFICATES POLICY DATA PROTECTION CERT-MANAGER SERVERLESS REGISTRY APP CATALOG BUILD SERVICE Knative LOCAL DEVELOPMENT ON PREMISES PUBLIC CLOUD kpack MONITORING & ALERTING VISUALIZATION LOG FORWARDING PROVIDERS COMPUTERUNTIME CONNECTIVITY SERVICES BUILDANDDEPLOY OBSERVABILITY
  • 18.
    ©2022 VMware, Inc.@Alexandre_Roman @bmoussaud 18 Learn Kubernetes and more at kube.academy + learn.tanzu.io We provide a rich assortment of educational material to get you started on your Kubernetes journey
  • 19.
    Thank You Confidential │©2022 VMware, Inc.

Editor's Notes

  • #17 VMware Tanzu Community Edition is a freely available Kubernetes platform for learners and users With Tanzu Community Edition you can Experience VMware Tanzu RIGHT NOW. It’s the same open source software used in Tanzu commercial editions, but it’s freely available, you can install and configure it in minutes, and you can run it on your local workstation or favorite cloud
  • #18 Tanzu Community Edition brings together all of the open source technologies you need to get started with Kubernetes today – and to keep going tomorrow too. It’s hard to know what the future will bring, but that’s not a problem with Tanzu: as your needs grow, so can your platform – it’s easy to add capabilities at any time.
  • #19 TALK TRACK: We’ll not only impart our knowledge to your team so you can repeat the processes used after we’re gone, we also have a rich library of resources so that your team can upskill their Kubernetes knowledge. Vmware has a library of materials that can get you started on your Kubernetes journey. Our KubeAcademy is a free, product-agnostic Kubernetes and cloud native technology education platform. Kubernetes Academy provides an accessible learning path to advance your skill set, regardless of where you are on your Kubernetes journey.  Our Tanzu Developer Center gives developers extensive resources for building platforms and developing applications. Here you’ll find everything from video tutorials to coding recipes. Vmware also offers a paid introductory course for Kubernetes along with advanced and master classes that can be registered for through our Education Services.