Pulumi breidt arsenaal uit ter verlichting van Kubernetes-kopzorgen

Verbeterde security, grotere schaalbaarheid én meer flexibiliteit

Pulumi breidt arsenaal uit ter verlichting van Kubernetes-kopzorgen

Pulumi, aanbieder van Infrastructure as Code (IaC)-oplossingen voor het beheren van Kubernetes en cloud-infrastructuur, komt met een reeks nieuwe functies die de security, flexibiliteit en schaalbaarheid verbeteren voor teams die met Kubernetes werken.

De belangrijkste zijn verbeteringen aan de Amazon Elastic Kubernetes Service (EKS) provider, een update van de Pulumi Kubernetes Operator en nieuwe integratie met de External Secrets Operator van Kubernetes. Deze updates zijn bedoeld om het beheer van Kubernetes te vereenvoudigen, de security te verhogen en configuraties in complexe cloud-native omgevingen met elkaar op één lijn te brengen.

Allereerst ondersteunt Pulumi’s nieuwste EKS-provider v3 nu twee belangrijke besturingssystemen – Amazon Linux 2023 en Bottlerocket. De provider is op maat gemaakt voor gebruik met de managed Kubernetes-service van Amazon Web Services (AWS). Ter context: Amazon Linux 2023 is speciaal voor het draaien van general purpose-workloads in AWS-diensten, terwijl het Bottlerocket-OS (dat overigens ook door AWS is ontwikkeld), zich richt op het draaien van gecontaineriseerde applicaties met speciale aandacht voor security.

Toegang op podniveau te controleren

Daarnaast bevat de EKS v3 provider nu EKS Security Groups for Pods en Network Policies. Deze verbeteren de mogelijkheid om netwerktoegang op pod-niveau binnen Kubernetes-clusters te segmenteren en te controleren, waardoor het voor IT-teams eenvoudiger is gevoelige workloads te isoleren en er direct securitybeleid op toe te passen. Met name belangrijk in multi-tenant omgevingen.

Omdat we niet verwachten dat iedere lezer van Techzine al een Kubernetes-kenner is: Pods zijn binnen Kubernetes de kleinste eenheid voor het opzetten van één of meer containers die samen resources delen. Ze kunnen naar believen worden opgezet, geschaald of vernietigd, wat enorm handig kan zijn bij het managen van grote gedistribueerde workloads. Het managen ervan gebeurt via Kubernetes-clusters, van waaruit ook het beheer van nodes en andere componenten geschiedt.

Elke stack zijn eigen pod

Een verdere verbetering is uitgerold voor Pulumi Kubernetes Operator, dat nu aan versie 2 toe is. Hier is sprake van een nieuwe aanpak met dedicated workspace pods. Elke stack is nu geïsoleerd in zijn eigen ‘workspace’-pod, wat een betere scheiding van bronnen en meer security mogelijk maakt voor afzonderlijke multi-team- of multi-project-omgevingen.

Deze aanpak is schaalbaar, geeft teams meer controle over de toewijzing van resources en zorgt ervoor dat workloads netjes binnen hun eigen stack blijven. Deze opzet is volgens Pulumi vooral handig voor teams die een GitOps-workflow gebruiken, waarbij het proces van het bijwerken en beheren van applicaties gebeurt door wijzigingen in de code.

De opzet van Pulumi zorgt ervoor dat elk deel van de applicatie-infrastructuur (zoals servers, netwerken en storage) apart te organiseren zijn. Deze structuur geeft de klant meer controle over elk onderdeel, zelfs als de applicatie bestaat uit meerdere onderling verbonden componenten die van elkaar afhankelijk zijn om goed te werken.

Geheimen als omgevingsvariabele

Pulumi heeft verder een innovatieve manier gevonden om geheime data veilig te houden. Daarvoor integreert het zijn nog niet zo lang geleden geïntroduceerde Environments, Secrets, and Configuration (ESC)-service met de External Secrets Operator (ESO) van Kubernetes zelf. Dankzij deze integratie kunnen geheimen –gevoelige data als wachtwoorden en API-sleutels– rechtstreeks in Kubernetes-applicaties worden geïnjecteerd als omgevingsvariabelen.

Door dergelijke geheimen op te halen uit veilige bronnen zoals Azure Key Vault of 1Password, stelt de ESC/ESO-integratie Kubernetes-toepassingen in staat om referenties op te halen zonder ze bloot te leggen in de applicatiecode. Dat resulteert in eenvoudiger beheer, maar dwingt ook best practices af in het omgaan met secrets. Resultaat: minder kans op misconfiguraties of lekken. Dat is althans de bedoeling.

Deze toevoegingen passen uitstekend in de bredere benadering van Infrastructure-as-Code van Pulumi, waarbij developers hun cloud- en Kubernetes-resources beheren via code in plaats van te moeten vertrouwen op ellenlange YAML-configuraties. Die zijn afzonderlijk weliswaar eenvoudiger op te zetten, maar wie een serieuze hoeveelheid workloads draait over meerdere omgevingen heen, heeft op lange termijn mogelijk veel baat bij de vereenvoudiging die IaC biedt.

Lees ook: Pulumi introduceert ESC voor gecentraliseerd secrets management