Kubernetes is een open-source orchestration platform voor containers. Het abstraheert de onderliggende infrastructuur en biedt een platform voor het automatiseren van de implementatie, schaalbaarheid en het beheer van gecontaineriseerde applicaties en diensten. In wezen stelt Kubernetes ontwikkelaars in staat om de gewenste status te definiëren met behulp van declaratieve configuratiebestanden, die Kubernetes vervolgens automatisch beheert en onderhoudt. In deze gids worden de belangrijkste functies en voordelen van Kubernetes besproken, waaronder de architectuur en het ecosysteem.
Ontdek hoe Kubernetes de betrouwbaarheid en schaalbaarheid van applicaties verbetert en leer de best practices voor het implementeren van Kubernetes in uw organisatie. Inzicht in Kubernetes is cruciaal voor het effectief benutten van containerorkestratie.
In veel opzichten lijken containers sterk op virtuele machines, maar het grootste verschil is dat ze minder strikte isolatie-eigenschappen hebben, waardoor het besturingssysteem door verschillende applicaties kan worden gedeeld. Containers zijn lichtgewicht (vooral in vergelijking met VM's), hebben hun eigen bestandssysteem en delen CPU, geheugen en procesruimte.
Containers zijn een uitstekende manier om uw applicaties te bundelen en uit te voeren, maar ze vereisen beheer. Kubernetes is de de facto standaard voor containerorkestratie en -beheer. Het biedt een uitgebreid platform voor het implementeren, schalen en beheren van gecontaineriseerde applicaties.
Waarom Kubernetes gebruiken?
Hier zijn enkele redenen waarom u Kubernetes nodig hebt:
- Schaalbaarheid en hoge beschikbaarheid – Kubernetes maakt het eenvoudig om uw applicatie naar behoefte op te schalen of af te schalen. Het zorgt voor hoge beschikbaarheid door containers die uitvallen automatisch opnieuw op te starten, containers op andere knooppunten opnieuw in te plannen als een knooppunt uitvalt en containers te repliceren om ervoor te zorgen dat uw applicatie altijd beschikbaar is.
- Declaratief – Configuratie Kubernetes gebruikt een declaratieve benadering voor configuratie. U beschrijft de gewenste status van uw applicatie en Kubernetes zorgt voor de rest. Dit betekent dat u zich geen zorgen hoeft te maken over de onderliggende infrastructuur en u zich kunt concentreren op de logica van uw applicatie.
- Automatisering – Kubernetes automatiseert veel taken, zoals het uitrollen van updates, schalen en zelfherstel. Het elimineert handmatige interventies, waardoor de kans op menselijke fouten wordt verkleind en uw team meer tijd overhoudt.
- Overdraagbaarheid – Kubernetes is een draagbaar platform dat op elke cloud, on-premises of hybride omgeving draait. Hiermee kunt u uw applicaties naadloos tussen verschillende omgevingen verplaatsen zonder de onderliggende infrastructuur te wijzigen.
- Ecosysteem – Kubernetes heeft een groot en snelgroeiend ecosysteem met veel beschikbare tools en services.
- Veerkracht – Kubernetes biedt ingebouwde mechanismen om ervoor te zorgen dat applicaties altijd beschikbaar zijn, zelfs als een container of node uitvalt. Het kan containers automatisch opnieuw opstarten, ze migreren naar gezonde knooppunten en ervoor zorgen dat applicaties betrouwbaar werken.
- Flexibiliteit – Kubernetes biedt een flexibel platform voor het implementeren en beheren van applicaties. Het ondersteunt een breed scala aan container-runtimes, waaronder Docker en containers, en stelt u in staat om opslag-, netwerk- en monitoringtools te gebruiken.
Wat zijn containers?
Voordat we dieper ingaan op Kubernetes, gaan we eerst kijken wat containers zijn. Containers zijn lichtgewicht en draagbare uitvoerbare eenheden die applicatiecode en alle bijbehorende afhankelijkheden in één bundel samenbrengen. Ze bieden een consistente runtime-omgeving, ongeacht de onderliggende infrastructuur, waardoor het verplaatsen van applicaties tussen verschillende omgevingen eenvoudiger wordt.
Hoe werkt Kubernetes?

Kubernetes wordt geïmplementeerd in een cluster, terwijl de fysieke server of virtuele machines die deel uitmaken van het cluster bekend staan als werknodestations. Elke worker node beheert een aantal pods, een logische groepering van 1 of meer containers die binnen elke pod draaien.
Kubernetes gebruikt een reeks API's om te communiceren met de onderliggende infrastructuur, zoals containerruntime, opslag en netwerken. Enkele van de kerncomponenten van Kubernetes zijn:
- API-server – Het besturingsvlak van Kubernetes. Het stelt de Kubernetes-API beschikbaar, waarmee clients kunnen communiceren met het Kubernetes-cluster. De API-server is verantwoordelijk voor het authenticeren en autoriseren van clientverzoeken, het valideren en verwerken van API-objecten en het bijwerken van de status van het cluster.
- Controller Manager – Controllers (ook wel kube-controller-manager genoemd) zijn verantwoordelijk voor het handhaven van de gewenste status van uw applicatie. Ze zorgen ervoor dat het juiste aantal pods draait en dat deze gezond en up-to-date zijn. De controllermanager is verantwoordelijk voor het handhaven van de gewenste status van het cluster. Hij bewaakt de status van het cluster via de API-server en vergelijkt deze met de gewenste status die is opgegeven in de Kubernetes-objecten. Als er een verschil is tussen de huidige en de gewenste status, onderneemt de controllermanager passende actie om het cluster weer in de gewenste status te brengen.
- Scheduler – Verantwoordelijk voor het plannen van workloads op de worker nodes van het cluster. Hij let op nieuwe workloads die moeten worden gepland en selecteert een geschikt knooppunt om de workload uit te voeren op basis van de resourcevereisten en de beschikbaarheid van het knooppunt.
- Kubernetes Services – API-objecten die het mogelijk maken om een of meer cluster-pods bloot te stellen aan het netwerk, zowel binnen uw cluster als extern.
- etcd – De gedistribueerde sleutel-waardeopslag voor de configuratiegegevens van een cluster. Het biedt een consistente en betrouwbare manier om configuratiegegevens in het hele cluster op te slaan en op te halen.
Verschillende functies die relevant zijn voor beveiligingsprofessionals om op te letten:
- Namespace – Een logische constructie waarmee resources binnen het cluster kunnen worden geïsoleerd. Een namespace scheidt gebruikers, apps en resources in een specifiek bereik.
- SecurityContext – definieert privileges en mogelijkheden voor individuele pods en containers.
- Helm Chart – Een manifest van YAML-bestanden voor implementaties, services, geheimen en configuratiekaarten om uw Kubernetes-implementatie te configureren.
- DaemonSet – een fundamentele controller die ervoor zorgt dat een specifieke pod op elke node, of een gerichte subset van nodes, binnen een cluster draait. Dit is van cruciaal belang voor het implementeren van services op systeemniveau die een consistente werking vereisen in het hele cluster. Voorbeelden van dergelijke services zijn logcollectors, monitoringagents en netwerkbeheertools. De DaemonSet-controller automatiseert het beheer van deze pods, creëert ze op nieuw toegevoegde knooppunten en verwijdert ze wanneer knooppunten worden verwijderd, waardoor volledige observeerbaarheid, beveiliging en netwerkbeheer binnen de infrastructuur worden gegarandeerd.
Kubernetes-implementatie
Hoewel Kubernetes in het hele spectrum van hybride cloud kan worden geïmplementeerd, wordt het merendeel van de K8s-implementaties beheerd via Infrastructure-as-a-Service (IaaS)-tools, zoals Amazon Elastic Kubernetes Service (EKS), Google GCP's Google Kubernetes Engine (GKE) of Microsoft Azure's Azure Kubernetes Service (AKS). Door gebruik te maken van deze Kubernetes-as-a-service-tools kunnen teams zich concentreren op het bouwen en implementeren, terwijl de cloudserviceprovider (CSP) de kernaspecten van de K8s-services beheert en bijwerkt. Zoals altijd bij cloudserviceproviders is er nog steeds een gedeeld verantwoordelijkheidsmodel waarmee rekening moet worden gehouden als het gaat om beveiliging.
Conclusie
Kortom, hoewel Kubernetes tal van voordelen biedt voor het beheer van gecontaineriseerde applicaties, moet beveiliging altijd een topprioriteit zijn voor bedrijven. Singularity Cloud Security helpt bedrijven zich te beschermen tegen moderne bedreigingen door zowel proactieve als reactieve beveiligingsmaatregelen voor cloud- en containeromgevingen te bieden.Singularity Cloud Workload Security is een agentgebaseerde beveiligingsoplossing die autonome runtime-bescherming en forensische telemetrieverzameling biedt voor alle cloudcomputers en containers, ongeacht hun levensduur. Singularity Cloud Native Security is een agentloze CNAPP voor zichtbaarheid en beveiligingsmaatregelen voor zowel build- als runtime-omgevingen. Beveiliging voor sjablonen, afbeeldingen, hosts, identiteiten, privileges, machtigingen en bijbehorende configuraties.
Door Singularity Cloud Security in hun Kubernetes-omgevingen te integreren, kunnen bedrijven een extra beveiligingslaag toevoegen aan hun gecontaineriseerde applicaties en zichzelf beschermen tegen cyberdreigingen.
Als gevolg hiervan kunnen klanten erop vertrouwen dat hun applicaties en gegevens veilig en beveiligd zijn, waardoor ze zich kunnen concentreren op het bereiken van hun bedrijfsdoelstellingen zonder zich zorgen te hoeven maken over cyberbeveiligingskwesties.
SentinelOne in actie zien
Ontdek hoe AI-gestuurde cloudbeveiliging uw organisatie kan beschermen in een één-op-één demo met een SentinelOne productexpert.
Vraag een demo aanVeelgestelde vragen over Kubernetes
Kubernetes is een open-sourceplatform dat het implementeren, schalen en beheren van gecontaineriseerde applicaties op clusters van servers automatiseert. Het zorgt ervoor dat containers blijven draaien, verdeelt de belasting en verzorgt roll-outs of rollbacks.
Kubernetes is oorspronkelijk ontwikkeld door Google en groepeert containers in logische eenheden die Pods worden genoemd. Het maakt gebruik van een control plane om de gewenste status van applicaties te handhaven, waardoor grootschalige containeroperaties betrouwbaar en herhaalbaar worden.
Een Kubernetes-cluster heeft een besturingsvlak en werkknooppunten. Het besturingsvlak omvat kube-apiserver (de API-frontend), etcd (een key-value store), kube-scheduler en kube-controller-manager.
Werkersnodes draaien kubelet (node agent), kube-proxy (networking) en een container-runtime zoals containerd. Optionele add-ons – DNS, dashboards, logging en monitoring – breiden de functionaliteit uit en ondersteunen de werking.
Een Deployment beheert stateless Pods, zorgt ervoor dat een bepaald aantal wordt uitgevoerd en werkt ze op een gecontroleerde manier bij. Een StatefulSet verwerkt stateful applicaties door elke Pod een stabiele identiteit en permanente opslag te geven, ideaal voor databases. Een DaemonSet voert één Pod per node (of per geselecteerde nodes) uit, waardoor wordt gegarandeerd dat een kopie van een service, zoals een logcollector of node-agent, op elke node wordt uitgevoerd.
Op Linux of Windows kunt u kubeadm gebruiken: installeer Docker of containerd, kubeadm, kubelet en kubectl en voer vervolgens kubeadm init (control plane) of kubeadm join (worker) uit. Voor een lokaal cluster met één node installeert Minikube een VM of container met een control plane en kubelet: minikube start stelt alles automatisch in. Vervolgens gebruik je kubectl om met je cluster te communiceren.
kubectl is de opdrachtregeltool voor Kubernetes. Het stuurt REST API-verzoeken naar de kube-apiserver, waarmee u resources zoals pods, deployments en services kunt maken, inspecteren, bijwerken of verwijderen. U kunt logboeken bekijken (kubectl logs), containers uitvoeren (kubectl exec), YAML-manifesten toepassen (kubectl apply -f) en problemen met clusters oplossen, rechtstreeks vanaf uw terminal.
Prometheus in combinatie met Grafana biedt het verzamelen en visualiseren van statistieken, waarbij CPU, geheugen en aangepaste applicatiegegevens worden bijgehouden. Fluentd of Filebeat kunnen containerlogboeken doorsturen naar Elasticsearch en ze vervolgens visualiseren in Kibana. Andere opties zijn onder meer de Kubernetes Metrics Server voor automatische schaalbaarheid, EFK-stacks (Elasticsearch-Fluentd-Kibana) en gehoste services zoals Datadog of Sysdig.
SentinelOne implementeert een lichtgewicht Sentinel-agent op elke node als een DaemonSet, waardoor live containers tijdens runtime worden beschermd met statische en gedragsmatige AI. Het vult pre-productiescans aan met realtime preventie, detectie en respons voor malware, bestandsloze bedreigingen en ransomware. De agent wordt geïntegreerd in Singularity XDR voor uniforme zichtbaarheid en geautomatiseerde herstelmaatregelen.
Ja. De Kubernetes Sentinel-agent van SentinelOne biedt runtime-bescherming en EDR-zichtbaarheid voor gecontaineriseerde workloads. Het werkt volledig in de gebruikersruimte – zonder kernelmodules – en biedt threat hunting, Storyline Active Response en volledige forensische telemetrie voor alle belangrijke Linux-distributies en beheerde services zoals AWS EKS en Azure AKS.