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 of 28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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 ...
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 2.0 licensed, package manager Glasskube in the beginning of 2024. Glasskube has already more than 600 stars and is part of the CNCF landscape. In this session, we will learn about the different possibilities for deploying cloud-native applications into a Kubernetes cluster and its configuration options, dependency management, upgrade possibilities, and backups. We will take a look at the inner workings of Helm from both a distributor and user perspective. How can a distributor create a package and distribute it, and how can a user install and use the packages? In addition to Helm, we will provide a brief overview of Timoni, which uses OCI images as package bundles, and compare the advantages and challenges of this approach. We will also introduce https://glasskube.dev – that is designed as a cloud-native application itself and features real dependency management, ArgoCD integration, unified updates, and a GUI. During a live demo we will try out Glasskube and explore the possibilities of using Glasskube in combination with Argo CD and also showcase the possibility to use Apples pkl configuration language to create and maintain type-safe Glasskube packages.
Size: 10.87 MB
Language: en
Added: Jul 26, 2024
Slides: 28 pages
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
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