KubeCon 2024; Kubernetes onder de Eiffeltoren! - deel 3







Na de succesvolle thuiswedstrijd van KubeCon 2023 in Amsterdam, verhuisde de conferentie dit jaar naar het zonnige Parijs. Van 19 t/m 22 maart verzamelden duizenden technologen, developers en key stakeholders uit de cloud native community zich in de Franse hoofdstad om kennis te delen, te netwerken en de toekomst van cloud native computing vorm te geven.
HCS’ers Marcel K, Benoit, Marcel B, Thijs, Erik, Klaas-Pieter, Vincent, Patrick en Wouter waren van de partij om de laatste trends en ontwikkelingen op het gebied van Kubernetes en cloud native te beleven. In deze blogpost blikken we terug op de highlights van de laatste dag. La vie en Cloud Native!
Cilium Mesh in Actie: Versterking van de Beveiliging in Gedistribueerde K8S Clusters
In een presentatie getiteld “Cilium ClusterMesh in Action: Strengthening Security Across Distributed Kubernetes Clusters”, deelt Matheus Morais van Sicredi, een kredietverstrekker op grote schaal met 7,5 miljoen klanten, zijn ervaringen met het beveiligen van hun omgeving met meerdere Kubernetes-clusters.
Sicredi gebruikt een hybride cloud-omgeving met een K8s private cloud gebouwd op Canonical OpenStack, evenals Amazon Web Services (AWS) EKS. Hun GitOps-setup voor on-premises gebruik beheert 7400 pods in productie op 500 Kubernetes-nodes. Hun OpenStack-infrastructuur omvat uitgerekte VLAN’s tussen datacenters, niet-gedeelde storage en verspreide control planes.
Van Flannel naar Cilium ClusterMesh
In 2018 begon Sicredi met Flannel voor netwerkbeheer, maar stapte in 2020 over op Cilium om de beveiliging te verbeteren. Toen ze naar Cilium overgingen, werd het implementeren van securitybeleid voor nieuwe applicaties een knelpunt. Ontwikkelaars schreven geen code met betrekking tot beveiliging, dus was er een oplossing nodig die zonder aanpassing van de broncode kon worden geïmplementeerd.
Service Mesh-opties geëvalueerd
Verschillende service-meshes werden geëvalueerd, waaronder Istio, Consul, Kuma en Cilium ClusterMesh. Tijdens een proof-of-concept (POC) wilden ze:
- Communicatie blokkeren tussen specifieke applicaties
- Layer 7-beleid (L7) implementeren
- Multi-cluster functionaliteit
- Prestaties zonder sidecars
- Mesh-uitbreiding buiten Kubernetes
Istio bleek uitdagingen te hebben met mesh-uitbreiding en vereiste meer resources. Kuma had onvoorziene problemen waardoor testen niet mogelijk waren. Consul had net als Istio vreemde problemen, zoals localhost-binding die nodig was en applicaties die localhost moesten gebruiken om een andere klant te bereiken. Cilium daarentegen blonk uit in de POC.
Waarom Cilium ClusterMesh?
Cilium ClusterMesh voldeed precies aan hun vereisten:
- Network Policies (NP’s) boden de granulaire controle die ze nodig hadden.
- Geen sidecars nodig, wat de prestaties ten goede kwam.
- Cilium gebruikte al eBPF als CNI-plugin, dus was er geen nieuwe software nodig.
- Helm-installatie was geschikt voor automatisering met Terraform en Ansible.
- Hashicorp Vault werd gebruikt voor het opslaan van credentials en certificaten.
Sicredi ontwikkelde een DevConsole voor Cilium Network Policy. Met DevConsole kunnen ontwikkelaars templates kiezen uit een GitLab repository, wat het creëren van Network Policies vereenvoudigt.

Problemen ondervonden
Sicredi ondervond een aantal problemen:
- Palo Alto firewalls genereerden VXLAN-packets.
- Er was een bug met geheugenlek in Cilium Agent (13446), welke is opgelost in versie 1.13.9.
- De combinatie van Cilium CLI en Helm-installatie bleek verwarrend.
Deze problemen werden verholpen, en Cilium ClusterMesh zorgt nu voor een consistente en veiligheidsbeleid over alle verspreide Kubernetes-clusters van Sicredi.
eBPF’s Krachten en Beperkingen: De Waarheid
Liz Rice en John Fastabend van Isovalent lichten in hun presentatie “eBPF’s Abilities and Limitations: The Truth” een aantal hardnekkige misverstanden over eBPF op. eBPF is veelzijdiger dan je denkt, aldus Liz. Zaken als het beëindigen van HTTP2 of TLS-sessies lijken wellicht te complex, maar dat hoeft niet zo te zijn. Ook de bewering dat eBPF niet Turing Compleet is, blijkt onjuist.
Toch is eBPF niet geschikt voor alle denkbare taken. Sommige toepassingen profiteren juist van begrensde berekeningen. Denk bijvoorbeeld aan een HTTP-parser die gegarandeerd geen DDoS-aanvallen kan uitvoeren of een DSL voor het traceren van systeem-calls of de kernel met een gelimiteerde overhead. Beperkingen kunnen soms juist wenselijk zijn!

Liz demonstreerde zelfs een Turing Compleet programma: Conway’s Game of Life. De eBPF-verifier zorgt er gelukkig voor dat eBPF programma’s veilig kunnen draaien. Dat wil zeggen, eBPF controleert of er geen instructies inzitten die zouden kunnen falen. Laag-niveau programmeren is immers complex en vereist specifieke kennis. De verifier helpt programmeurs met een hogere-niveau achtergrond. Tetragon, gebaseerd op Conway’s Game of Life, is hier een mooi voorbeeld van.

Niet alleen de presentaties van KubeCon waren interessant om te volgen. Ook het bezoeken van sommige stands was zeer leerzaam. Zoals het bezoek aan SteadyBit, een Chaos and Resilience Engineering platform, waar een zeer goede uitleg en demo kregen (en uiteraard leuke sokken). Of een bezoek aan StackState stand, een out-of-the-box full stack monitoring en observability tool. Maar niet alleen commerciële stands waren interessant, ook de Cloud Native Computing Foundation project pavilion was leuk. Hier stonden diverse CNCF stands om over hun project te vertellen. Konveyor, is zo’n voorbeeld. Konveyor is de opensource product van Migration Tool for Applications. We kregen hier een uitgebreide demo van Ramon Roman Nissen van Red Hat. Tevens was het leuk om de Open Spaces te bezoeken, waar je o.a. gratis boeken kon krijgen, die gesigneerd werden door schrijvers. Al met al een bezoek waard naast de vele presentaties.
Ga je met 9 collega’s naar KubeCon, dan heb je natuurlijk veel te veel gezien om in een blog te kunnen delen. Deze editie was voor ons allemaal weer een complete ervaring. Van het volgen van interessante sessies tot lekker ontspannen tijdens een feestje. En tijdens dat alles veel bekende en nieuwe gezichten gesproken. Erg waardevol voor ons om mee te krijgen wat er speelt in de open-source community en andere organisaties. Al met al heeft KubeCon Parijs dit jaar laten zien dat er veel met AI wordt gedaan en dat er veel nieuwe projecten binnen CNCF meters maken en worden doorontwikkeld. Wat we ook voor verschillende workloads draaien op onze Kubernetes clusters, of dit nu ‘oude’ of ‘nieuwe’ zijn, we moeten ons bewust worden van de efficiëntie hiervan en kijken of er een verbeterslag gemaakt kan worden.
Ben je nou naar aanleiding van deze blog benieuwd naar onze ervaringen op een specifiek gebied? De deur bij HCS company staat altijd voor je open, dus schroom niet om contact te zoeken!
