Zum Hauptinhalt springen
KCD Munich
01.07.2024
Rethinking Package
Management in
Kubernetes with Helm
and Glasskube
Stackconf 2024
19.06.2024
Rethinking Package
Management in
Kubernetes with Helm
and Glasskube
Previous:
- Vienna University of Technology
- CTO at an alerting company
Glasskube Startup journey since 2 years:
Building an Open-Source developer tool
Co-Founder Glasskube
PHILIP MIGLINCI
About me
Co-Founder Glasskube
Confidential
Experienced Team
More than 20 years of combined professional experience in
Kubernetes, DevOps, Open Source and Start Ups
Community
Glasskube Open Source Discord community (over 175 members)
Community
Glasskube enthusats are already all over the world
CNCF Thane (India) Cloud Native El Salavdor
KCD Austria
CN Hooghly (India)
Yikes.
Kubernetes
needs
packages
But it boils down to
this.
Let’s talk packages
Packages for K8s as a platform
What does a platform do?
A developer platform provides tools
and infrastructure to streamline the
development, deployment, and
management of applications.
Let’s talk packages
Packages for K8s as a platform
CNCF Landscape
Kubernetes
Your application
We focus on all the Cloud Native tools, your application depends on
DevOps Sandwich
📦
🚀
landscape.cncf.io
Tooling
Beyond applying manifests
Manifests / Kustomize
Helm
Timoni
Glasskube
Kustomize
Patching manifests
Kustomize
Not recommended - but still found in the wild
Helm
About Helm
Started in 2015 as an Hackathon by a Deis Labs (client tool)
In 2016 it merged with “Kubernetes Deployment Manager”
Helm 2.0 was released with a server side component (Tiller)
Helm 3.0 development started in 2018 (client tool)
Helm 3.8 introduced storing charts as OCI images in 2022
Helm
The good things
Application Bundle with the go templating engine inside yaml
files
Offers built in variables, custom values and CRD handling
Release revisions and rollbacks (Stored in Secrets)
Possibility for “subcharts”
Great eco system and ArtifactHub.io as a registry
Helm
Under the hood
Revisions are stored in secrets
Helm
Under the hood
Revisions are stored in secrets
kubectl get secrets sh.helm.release.v1.kube-prometheus-stack.v42 -o jsonpath='{.data.release}' | base64 -d | base64 -d | gzip -d
helm get values kube-prometheus-stack
Helm
The challenges
Go templating engine can lead to messy packages
Most of the commits are about fixing go templates
Helm Charts in OCI images can’t get searched
CRDs get per default no updates
- so are often put into templates
- or Flux can use a helm controller update them
no easy “helm update”, values must be resupplied every time
Helm
The bad things
Umbrella charts install all dependencies into the same
namespace. E.g. keptn & gitlab
https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/doc/index.md#limitations
Helm
The bad things
Helm doesn’t support dependencies
https://keptn.sh/stable/docs/components/certificate-operator/
Glasskube
Just released our 28th version
Glasskube aims to be the next generation Package Manager for
Kubernetes
We don’t reinvent the wheel and use Manifests, Helm und OCI
images (planned) under the hood, but focus on the user and
eco system
Dependencies and compatibility checks
Tested packages, real dependencies, cluster and namespace scoped
GitOps readiness with our Renovate integration (wip)
Glasskube
Architecture
Glasskube
Glasskube in Action. What will happen?
Start a local minikube cluster from scratch
Install Argo CD with Glasskube
Install Glasskube packages as Argo CD apps
Grab Your Free Glasskube Sticker Before They're Gone!
Support us with a Star:
github.com/glasskube/glasskube
PHILIP MIGLINCI
GITHUB
LINKEDIN