stackconf 2024 | Rethinking Package Management in Kubernetes with Helm and Glasskibe by Philip Miglinci.pdf

NETWAYS 47 views 28 slides Jul 26, 2024
Slide 1
Slide 1 of 28
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28

About This Presentation

Package Management on Kubernetes is one of the most pressing issues in the Cloud Native community. A concept which is widely known from other ecosystems like desktop and mobile computing has not yet been realized for cloud computing. In order to solve this issue, we released our Open Source, Apache ...


Slide Content

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
GITHUBLINKEDIN