My Takeaways from KCD Munich 2023 - Part 1

My Takeaways from KCD Munich 2023 - Part 1

Kubernetes Community Days (KCD) was a community-driven event focused on Kubernetes, a popular open-source container orchestration platform. KCD events were organized by local communities around the world and aimed to bring together Kubernetes enthusiasts, developers, and practitioners to share knowledge, experiences, and best practices related to K8S.

We attended KCD Munich 2023 on 17-18 July. This event was full of open-source enthusiasts and companies showcasing their products built on Kubernetes.

There were a couple of talks which are very informative and interesting. I would like to list those here:

Talk 1 - The Cloud Native Platform Dilemma - Turning it into an Opportunity by Andreas Grabner

In this talk, Andreas explained Platform Engineering and how an IDP (Internal Development Platform) can increase the productivity of the whole company.

There was one particular quote I want to mention here from Andi is

Hiring 10x Software Engineers is a Myth

Leaders often feel proud of their high performers. In reality, having "10x engineers" in your software organization may be a sign of an organization that is set out to fail in the long run.

Some useful Links from the talk are below:

Talk 2 - What's New in OpenTelemetry by Dotan Horovits

OpenTelemetry is a collection of APIs, SDKs, and tools. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior. OpenTelemetry is generally available across several languages and is suitable for use.

In this talk, Dotan talked about the vision of unified observability and newly released features/updates in OpenTelementry.

There were a couple of major announcements which are below:

Some useful Links from the talk are below:

Talk 3 - Using Virtual K8S Clusters and Crossplane to power a multi-tenant Internal Developer Platform by Hossein Salahi

This was quite an interesting talk for me.

One of the prominent challenges organizations running K8s in the dev/test stage face is sharing a cluster between multiple teams with one or more various workloads. Organizations often opt for one of the namespace-based (soft or hard) or cluster-based multi-tenancy models. Each of these models has its tradeoffs that affect the isolation level, implementation complexity, operational burden, and cost of service. Vcluster is a fully working, lightweight K8s distribution based on K3s while reusing worker nodes and networking of the host cluster. It has its control plane and schedules all workloads into a single namespace. This solution complements both multi-tenancy models described above so that tenants are restricted to a single namespace with no exceptions needed because they have full control inside the virtual cluster but very restricted access outside the virtual cluster. On the other hand, the use of Corssplane behind an IDP as a self-service platform provides the opportunity to bundle all dependencies (e.g. DBs, storage, etc.) that a tenant requires inside a single namespace. Hossein demonstrated how to achieve a multi-tenant self-service platform, giving full control to tenants inside their namespace to provision cloud resources and spin up virtual K8s clusters on demand.

There is a very good comparison available on Vclusters website which I was referring.

Use Case:

Let's say I have multiple tenants running on the same cluster running on 1.24. One tenant demanded a different version of kubernetes let's say 1.26 and other tenants are fine with the 1.24 version.

In this case, VCluster concept is very useful since Virtual clusters are fully working Kubernetes clusters that run on top of other Kubernetes clusters. Compared to fully separate "real" clusters, virtual clusters reuse worker nodes and networking of the host cluster.

Useful Links:

I hope Part 1 is informative for the audience. Part 2 of this is coming soon.