SlideShare a Scribd company logo
1 of 39
Download to read offline
Confidential │ ©2020 VMware, Inc.
Distribute Your App and
Engage Your
Community with a Helm
Repository
Tomas Pizarro Moreno
SpringOne, 2020
Confidential │ ©2020 VMware, Inc. 2
Telecommunications Engineer, University of Seville
6 years at Bitnami, now part of VMWare
Previously focused on creating production ready assets for several
platforms (Single VMs, Multi Tier apps, containers, Helm charts, …)
Now, part of the Tanzu Application Catalog team
Where you can find me:
• https://github.com/tompizmor
• https://www.linkedin.com/in/tompizmor/
• @tompizmor in Kubernetes slack
Who am I?
3Confidential │ ©2020 VMware, Inc.
Distributed repositories
Confidential │ ©2020 VMware, Inc. 4
Distributed repositories
• Repositories in Helm were designed to be distributed.
• The stable repository was created to kick start charts. This made people think
on it as “THE” repository to discover charts.
• Helm v3 removed the stable repository by default. It was the first step to move
to distributed repositories.
• The stable repository did not accept new charts since 13th Nov, 2019 and it will
be marked obsolete at 13th Nov, 2020.
• It seems useful to share our experience maintaining a repository with more
than 70 charts.
Confidential │ ©2020 VMware, Inc. 5
Chart repository maintenance process
Store
You need a place to
store your charts
Test
Pass tests to
guarantee the
quality
Maintain
Feedback loop and
update components
Publish
Make the charts
available to
everyone
Confidential │ ©2020 VMware, Inc. 6
Store your charts
Confidential │ ©2020 VMware, Inc. 7
Store your charts
Requirements to store and serve charts are cheap.
Just a web server with ability to serve a yaml file
and gzipped tarballs.
Some of the most common options are AWS S3
bucket, GitHub Pages, Google Cloud Storage, Jfrog
Artifactory and also ordinary web servers like
Apache or Nginx.
If you want to self-host your charts you can also use
ChartMuseum or Harbor.
Confidential │ ©2020 VMware, Inc. 8
Harbor
Serve your charts
Other great features:
• Is also a docker image registry
• It can scan your images for security vulnerabilities
with different engines (clair and trivy)
• It supports signed docker images via notary
• First OCI-compliant open source registry.
Confidential │ ©2020 VMware, Inc. 9
Test your charts
Confidential │ ©2020 VMware, Inc. 10
Running helm template path/to/local/chart can be useful to identify syntax errors without
having to install the chart.
Another option is to run helm install with the --dry-run option.
Helm template
Test your charts
Confidential │ ©2020 VMware, Inc. 11
A step further would be to run a linter. For example, the chart-testing tool is a great way
to lint and test your chart locally using a Kind cluster.
https://github.com/helm/chart-testing
Some of the things checked by the linter:
• Version checking
• YAML schema validation in Chart.yaml
• YAML linting on Chart.yaml and values.yaml
Helm lint
Test your charts
Confidential │ ©2020 VMware, Inc. 12
But rendering the template, installing with --dry-run or running a linter does not
guarantee that the Kubernetes manifests will be properly deployed into the cluster.
It seems that if we want to ensure our chart works properly we will need to install it.
Helm install
Test your charts
Confidential │ ©2020 VMware, Inc. 13
Some charts requires previous configuration or specify certain properties from the values
to be properly deployed.
Even if it can be deployed by default, it might be interesting to test a specific configuration
of the chart.
Examples:
• MongoDB Standalone vs MongoDB Replica set
• WordPress chart with different kinds of services (LoadBalancer, Ingress, …)
• Deploy a chart with or without persistent volumes
Helm install with custom values
Test your charts
Confidential │ ©2020 VMware, Inc. 14
Test your charts
Verification and functional tests
Apart from checking that pods are running, it is important to verify that the application is
properly configured.
To verify the application is properly configured we run two different kind of tests:
Verification: Important files and binaries exists, permissions properly configured,
binaries basic functionality works, etc
Functional: Automatic navigation through the web page to verify it properly
works.
Confidential │ ©2020 VMware, Inc. 15
Verification tests
Test your charts
Confidential │ ©2020 VMware, Inc. 16
Test your charts
Functional tests
Confidential │ ©2020 VMware, Inc. 17
Functional tests
Test your charts
Confidential │ ©2020 VMware, Inc. 18
It is important to guarantee upgradability
between chart releases for minor and patch
new versions.
It is expected that a major change in the
chart will require manual steps before or
after run the helm upgrade command.
Test your charts
Helm upgrades
Confidential │ ©2020 VMware, Inc. 19
Test your charts
Helm upgrade
Install base
chart
Install WordPress chart
version 7.0.0
Populate some
data
Create a post, upload
an image, add a user, …
Upgrade to
latest version
Run helm upgrade to
the latest version.
Check previous
data
Verify previous post,
image, user still exists and
regular tests keeps passing
1 2 3 4
20Confidential │ ©2020 VMware, Inc.
Deploy to several clusters
Different Kubernetes clusters, different
environments…
Confidential │ ©2020 VMware, Inc. 21
Different services
Test your charts
• TMC (VMWare Tanzu Mission Control)
• GKE (Google Kubernetes Engine)
• AKS (Azure Kubernetes Service)
• EKS (Amazon Elastic Container Service for Kubernetes)
• IKS (IBM Cloud Kubernetes Service)
Confidential │ ©2020 VMware, Inc. 22
Test your charts
Different services, different requirements
- Changing permissions on default AKS persistent volumes was slow for some
applications.
- IKS does not support Kubernetes securityContext
- Some Kubernetes platforms run containers as non-root by default
Confidential │ ©2020 VMware, Inc. 23
Maintain your charts
Confidential │ ©2020 VMware, Inc. 24
It is important to maintain the docker images used in your charts up-to-date.
Not only to get the new features and bugs fixed, but for security.
Bitnami also test all the images used by the Helm charts before they are released.
Keep your charts up-to-date
Confidential │ ©2020 VMware, Inc. 25
Apply user feedback
Listen to your users.
Keep the feedback loop and short as
possible.
Increase the quality of the helm charts. Bug
fixing, new features, new best practices in
the industry, helm identify and testing
corner cases in different scenarios,…
Do
Adjust
Learn
26Confidential │ ©2020 VMware, Inc.
Other tips
Confidential │ ©2020 VMware, Inc. 27
• Avoid using mutable or rolling tags. Otherwise your helm chart won’t be immutable and
an update of the underlying docker image can break your deployment.
• Document every major change in the README
• Document how to access the chart using each type of Kubernetes service
• Validate user inputs as much as you can
• Create a checklist for new helm charts development
Other tips
Confidential │ ©2020 VMware, Inc. 28
Make your charts
available to everyone
Confidential │ ©2020 VMware, Inc. 29
Make them available to everyone
Helm Hub
Confidential │ ©2020 VMware, Inc. 30
Make them available to everyone
Helm Hub
Adding your repository to the Helm Hub is super easy. You just need to send a pull request
to the https://github.com/helm/hub/ repository with the following information:
1. Add your repository name and base URL to the file config/repo-values.yaml
2. Add your contact information to the file repos.yaml
Additionally, the charts from your repository should fulfill the next expectations:
1. Should have a maintainer
2. Should pass the Helm lint and be installable and upgradable in all community
supported version of Kubernetes
3. Should have a NOTES.txt template with useful information
4. Charts versions should be immutable
Confidential │ ©2020 VMware, Inc. 31
If you don’t want to make your charts available to everyone but to the users of your
Kubernetes cluster you can do it with Kubeapps, a web-based UI for deploying and
managing applications in your own Kubernetes cluster.
Evolution of the Helm Hub
Make them available to everyone
Kubeapps
There is also a public hub from Kubeapps where you can
submit your charts so they are available.
https://hub.kubeapps.com/
Confidential │ ©2020 VMware, Inc. 32
Make them available to everyone
Kubeapps
Confidential │ ©2020 VMware, Inc. 33
Make them available to everyone
Artifact Hub
Confidential │ ©2020 VMware, Inc. 34
Make them available to everyone
Artifact Hub
Hub for finding, installing and publishing packages and configurations for CNCF projects.
Currently in alpha state with support for Helm charts, Falco configurations, OPA policies
and OLM operators in development.
As Kubeapps, it can be installed in cluster.
Confidential │ ©2020 VMware, Inc. 35
Make them available to everyone
jFrog ChartCenter
Confidential │ ©2020 VMware, Inc. 36
Make them available to everyone
jFrog ChartCenter
Another Web UI to discover Helm packages from different Helm chart repositories.
It shows chart dependencies and vulnerability information.
It is also possible to publish your chart repository if charts meets these requirements
Confidential │ ©2020 VMware, Inc. 37
Make them available to everyone
Cloud Providers Marketplaces
Confidential │ ©2020 VMware, Inc. 38
Conclusions
• Store:
• Be aware of the features of each option to make a choice
• Test:
• Test as much as you can
• Maintain:
• Invest time updating the images and listen to the community
• Publish:
• Add your repo to Helm Hub
39Confidential │ ©2020 VMware, Inc.
Thanks

More Related Content

What's hot

Measuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an EnterpriseMeasuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an EnterpriseVMware Tanzu
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookVMware Tanzu
 
July 30: How User-Centered Design Drives Impactful Products and Services
July 30: How User-Centered Design Drives Impactful Products and ServicesJuly 30: How User-Centered Design Drives Impactful Products and Services
July 30: How User-Centered Design Drives Impactful Products and ServicesVMware Tanzu
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...VMware Tanzu
 
Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?DevOps.com
 
Pivotal Platform: A First Look at the October Release
Pivotal Platform: A First Look at the October ReleasePivotal Platform: A First Look at the October Release
Pivotal Platform: A First Look at the October ReleaseVMware Tanzu
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootSufyaan Kazi
 
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...VMware Tanzu
 
PKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade KubernetesPKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade KubernetesVMware Tanzu
 
July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...
July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...
July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...VMware Tanzu
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDVMware Tanzu
 
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed ServiceCloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed ServiceVMware Tanzu
 
Enterprise pks overview
Enterprise pks overview Enterprise pks overview
Enterprise pks overview Boskey Savla
 
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKSMigrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKSWeaveworks
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source Nitesh Jadhav
 
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in aziendaPivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in aziendaVMware Tanzu
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Michael O'Sullivan
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxSufyaan Kazi
 

What's hot (20)

Measuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an EnterpriseMeasuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an Enterprise
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
July 30: How User-Centered Design Drives Impactful Products and Services
July 30: How User-Centered Design Drives Impactful Products and ServicesJuly 30: How User-Centered Design Drives Impactful Products and Services
July 30: How User-Centered Design Drives Impactful Products and Services
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
 
Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?
 
Pivotal Platform: A First Look at the October Release
Pivotal Platform: A First Look at the October ReleasePivotal Platform: A First Look at the October Release
Pivotal Platform: A First Look at the October Release
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring Boot
 
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
 
PKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade KubernetesPKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade Kubernetes
 
July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...
July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...
July 28: Tanzu Mission Control: Resolving Kubernetes fragmentation across Dev...
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
 
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed ServiceCloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
 
Enterprise pks overview
Enterprise pks overview Enterprise pks overview
Enterprise pks overview
 
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKSMigrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in aziendaPivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
 
Cloud Native with Kyma
Cloud Native with KymaCloud Native with Kyma
Cloud Native with Kyma
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptx
 

Similar to Distribute Your App and Engage Your Community with a Helm Repository

Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceVMware Tanzu
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020VMware Tanzu
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonLeon Stigter
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on ContainersAnton Whalley
 
vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020VMware Tanzu
 
CloudNativeAalborg2023_Jan.pdf
CloudNativeAalborg2023_Jan.pdfCloudNativeAalborg2023_Jan.pdf
CloudNativeAalborg2023_Jan.pdfahjensen
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveDavid Currie
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptxVMware Tanzu
 
2023_2_CNCF_TAP_Backstage.pdf
2023_2_CNCF_TAP_Backstage.pdf2023_2_CNCF_TAP_Backstage.pdf
2023_2_CNCF_TAP_Backstage.pdfahjensen
 
Authoritative Container Builder Mark Argent IBM
Authoritative Container Builder Mark Argent IBMAuthoritative Container Builder Mark Argent IBM
Authoritative Container Builder Mark Argent IBMMark Argent
 
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedNico Meisenzahl
 
The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSVMware Tanzu
 
IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018Robert Parker
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEFilipe Miranda
 
How to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedHow to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedNico Meisenzahl
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Miguel Zuniga
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service OverviewKyle Brown
 
Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)GabrielaRodriguez182401
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI AdminKendrick Coleman
 
VMware Application Catalog - Overview for vExperts[35].pdf
VMware Application Catalog - Overview for vExperts[35].pdfVMware Application Catalog - Overview for vExperts[35].pdf
VMware Application Catalog - Overview for vExperts[35].pdfMartin Hosken
 

Similar to Distribute Your App and Engage Your Community with a Helm Repository (20)

Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and Tekton
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
 
vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020
 
CloudNativeAalborg2023_Jan.pdf
CloudNativeAalborg2023_Jan.pdfCloudNativeAalborg2023_Jan.pdf
CloudNativeAalborg2023_Jan.pdf
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
2023_2_CNCF_TAP_Backstage.pdf
2023_2_CNCF_TAP_Backstage.pdf2023_2_CNCF_TAP_Backstage.pdf
2023_2_CNCF_TAP_Backstage.pdf
 
Authoritative Container Builder Mark Argent IBM
Authoritative Container Builder Mark Argent IBMAuthoritative Container Builder Mark Argent IBM
Authoritative Container Builder Mark Argent IBM
 
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
 
The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKS
 
IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
 
How to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedHow to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being Hacked
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
 
Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI Admin
 
VMware Application Catalog - Overview for vExperts[35].pdf
VMware Application Catalog - Overview for vExperts[35].pdfVMware Application Catalog - Overview for vExperts[35].pdf
VMware Application Catalog - Overview for vExperts[35].pdf
 

More from VMware Tanzu

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItVMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleVMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductVMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready AppsVMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And BeyondVMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchVMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishVMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - FrenchVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootVMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerVMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeVMware Tanzu
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsVMware Tanzu
 
SpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your TeamSpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your TeamVMware Tanzu
 

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 
SpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your TeamSpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your Team
 

Recently uploaded

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 

Recently uploaded (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 

Distribute Your App and Engage Your Community with a Helm Repository

  • 1. Confidential │ ©2020 VMware, Inc. Distribute Your App and Engage Your Community with a Helm Repository Tomas Pizarro Moreno SpringOne, 2020
  • 2. Confidential │ ©2020 VMware, Inc. 2 Telecommunications Engineer, University of Seville 6 years at Bitnami, now part of VMWare Previously focused on creating production ready assets for several platforms (Single VMs, Multi Tier apps, containers, Helm charts, …) Now, part of the Tanzu Application Catalog team Where you can find me: • https://github.com/tompizmor • https://www.linkedin.com/in/tompizmor/ • @tompizmor in Kubernetes slack Who am I?
  • 3. 3Confidential │ ©2020 VMware, Inc. Distributed repositories
  • 4. Confidential │ ©2020 VMware, Inc. 4 Distributed repositories • Repositories in Helm were designed to be distributed. • The stable repository was created to kick start charts. This made people think on it as “THE” repository to discover charts. • Helm v3 removed the stable repository by default. It was the first step to move to distributed repositories. • The stable repository did not accept new charts since 13th Nov, 2019 and it will be marked obsolete at 13th Nov, 2020. • It seems useful to share our experience maintaining a repository with more than 70 charts.
  • 5. Confidential │ ©2020 VMware, Inc. 5 Chart repository maintenance process Store You need a place to store your charts Test Pass tests to guarantee the quality Maintain Feedback loop and update components Publish Make the charts available to everyone
  • 6. Confidential │ ©2020 VMware, Inc. 6 Store your charts
  • 7. Confidential │ ©2020 VMware, Inc. 7 Store your charts Requirements to store and serve charts are cheap. Just a web server with ability to serve a yaml file and gzipped tarballs. Some of the most common options are AWS S3 bucket, GitHub Pages, Google Cloud Storage, Jfrog Artifactory and also ordinary web servers like Apache or Nginx. If you want to self-host your charts you can also use ChartMuseum or Harbor.
  • 8. Confidential │ ©2020 VMware, Inc. 8 Harbor Serve your charts Other great features: • Is also a docker image registry • It can scan your images for security vulnerabilities with different engines (clair and trivy) • It supports signed docker images via notary • First OCI-compliant open source registry.
  • 9. Confidential │ ©2020 VMware, Inc. 9 Test your charts
  • 10. Confidential │ ©2020 VMware, Inc. 10 Running helm template path/to/local/chart can be useful to identify syntax errors without having to install the chart. Another option is to run helm install with the --dry-run option. Helm template Test your charts
  • 11. Confidential │ ©2020 VMware, Inc. 11 A step further would be to run a linter. For example, the chart-testing tool is a great way to lint and test your chart locally using a Kind cluster. https://github.com/helm/chart-testing Some of the things checked by the linter: • Version checking • YAML schema validation in Chart.yaml • YAML linting on Chart.yaml and values.yaml Helm lint Test your charts
  • 12. Confidential │ ©2020 VMware, Inc. 12 But rendering the template, installing with --dry-run or running a linter does not guarantee that the Kubernetes manifests will be properly deployed into the cluster. It seems that if we want to ensure our chart works properly we will need to install it. Helm install Test your charts
  • 13. Confidential │ ©2020 VMware, Inc. 13 Some charts requires previous configuration or specify certain properties from the values to be properly deployed. Even if it can be deployed by default, it might be interesting to test a specific configuration of the chart. Examples: • MongoDB Standalone vs MongoDB Replica set • WordPress chart with different kinds of services (LoadBalancer, Ingress, …) • Deploy a chart with or without persistent volumes Helm install with custom values Test your charts
  • 14. Confidential │ ©2020 VMware, Inc. 14 Test your charts Verification and functional tests Apart from checking that pods are running, it is important to verify that the application is properly configured. To verify the application is properly configured we run two different kind of tests: Verification: Important files and binaries exists, permissions properly configured, binaries basic functionality works, etc Functional: Automatic navigation through the web page to verify it properly works.
  • 15. Confidential │ ©2020 VMware, Inc. 15 Verification tests Test your charts
  • 16. Confidential │ ©2020 VMware, Inc. 16 Test your charts Functional tests
  • 17. Confidential │ ©2020 VMware, Inc. 17 Functional tests Test your charts
  • 18. Confidential │ ©2020 VMware, Inc. 18 It is important to guarantee upgradability between chart releases for minor and patch new versions. It is expected that a major change in the chart will require manual steps before or after run the helm upgrade command. Test your charts Helm upgrades
  • 19. Confidential │ ©2020 VMware, Inc. 19 Test your charts Helm upgrade Install base chart Install WordPress chart version 7.0.0 Populate some data Create a post, upload an image, add a user, … Upgrade to latest version Run helm upgrade to the latest version. Check previous data Verify previous post, image, user still exists and regular tests keeps passing 1 2 3 4
  • 20. 20Confidential │ ©2020 VMware, Inc. Deploy to several clusters Different Kubernetes clusters, different environments…
  • 21. Confidential │ ©2020 VMware, Inc. 21 Different services Test your charts • TMC (VMWare Tanzu Mission Control) • GKE (Google Kubernetes Engine) • AKS (Azure Kubernetes Service) • EKS (Amazon Elastic Container Service for Kubernetes) • IKS (IBM Cloud Kubernetes Service)
  • 22. Confidential │ ©2020 VMware, Inc. 22 Test your charts Different services, different requirements - Changing permissions on default AKS persistent volumes was slow for some applications. - IKS does not support Kubernetes securityContext - Some Kubernetes platforms run containers as non-root by default
  • 23. Confidential │ ©2020 VMware, Inc. 23 Maintain your charts
  • 24. Confidential │ ©2020 VMware, Inc. 24 It is important to maintain the docker images used in your charts up-to-date. Not only to get the new features and bugs fixed, but for security. Bitnami also test all the images used by the Helm charts before they are released. Keep your charts up-to-date
  • 25. Confidential │ ©2020 VMware, Inc. 25 Apply user feedback Listen to your users. Keep the feedback loop and short as possible. Increase the quality of the helm charts. Bug fixing, new features, new best practices in the industry, helm identify and testing corner cases in different scenarios,… Do Adjust Learn
  • 26. 26Confidential │ ©2020 VMware, Inc. Other tips
  • 27. Confidential │ ©2020 VMware, Inc. 27 • Avoid using mutable or rolling tags. Otherwise your helm chart won’t be immutable and an update of the underlying docker image can break your deployment. • Document every major change in the README • Document how to access the chart using each type of Kubernetes service • Validate user inputs as much as you can • Create a checklist for new helm charts development Other tips
  • 28. Confidential │ ©2020 VMware, Inc. 28 Make your charts available to everyone
  • 29. Confidential │ ©2020 VMware, Inc. 29 Make them available to everyone Helm Hub
  • 30. Confidential │ ©2020 VMware, Inc. 30 Make them available to everyone Helm Hub Adding your repository to the Helm Hub is super easy. You just need to send a pull request to the https://github.com/helm/hub/ repository with the following information: 1. Add your repository name and base URL to the file config/repo-values.yaml 2. Add your contact information to the file repos.yaml Additionally, the charts from your repository should fulfill the next expectations: 1. Should have a maintainer 2. Should pass the Helm lint and be installable and upgradable in all community supported version of Kubernetes 3. Should have a NOTES.txt template with useful information 4. Charts versions should be immutable
  • 31. Confidential │ ©2020 VMware, Inc. 31 If you don’t want to make your charts available to everyone but to the users of your Kubernetes cluster you can do it with Kubeapps, a web-based UI for deploying and managing applications in your own Kubernetes cluster. Evolution of the Helm Hub Make them available to everyone Kubeapps There is also a public hub from Kubeapps where you can submit your charts so they are available. https://hub.kubeapps.com/
  • 32. Confidential │ ©2020 VMware, Inc. 32 Make them available to everyone Kubeapps
  • 33. Confidential │ ©2020 VMware, Inc. 33 Make them available to everyone Artifact Hub
  • 34. Confidential │ ©2020 VMware, Inc. 34 Make them available to everyone Artifact Hub Hub for finding, installing and publishing packages and configurations for CNCF projects. Currently in alpha state with support for Helm charts, Falco configurations, OPA policies and OLM operators in development. As Kubeapps, it can be installed in cluster.
  • 35. Confidential │ ©2020 VMware, Inc. 35 Make them available to everyone jFrog ChartCenter
  • 36. Confidential │ ©2020 VMware, Inc. 36 Make them available to everyone jFrog ChartCenter Another Web UI to discover Helm packages from different Helm chart repositories. It shows chart dependencies and vulnerability information. It is also possible to publish your chart repository if charts meets these requirements
  • 37. Confidential │ ©2020 VMware, Inc. 37 Make them available to everyone Cloud Providers Marketplaces
  • 38. Confidential │ ©2020 VMware, Inc. 38 Conclusions • Store: • Be aware of the features of each option to make a choice • Test: • Test as much as you can • Maintain: • Invest time updating the images and listen to the community • Publish: • Add your repo to Helm Hub
  • 39. 39Confidential │ ©2020 VMware, Inc. Thanks