Basis termen Flashcards
Pods
Een Pod is de kleinste eenheid in Kubernetes die één of meer containers bevat die samen draaien op dezelfde host en gedeelde netwerkbronnen hebben.
Images
Een image is een kant-en-klare, opgestarte versie van een container, vaak gedefinieerd door een Dockerfile, die alle benodigde bestanden en afhankelijkheden bevat voor het draaien van de applicatie.
ReplicaSet
Zorgt voor het onderhouden van een specifiek aantal identieke kopieën (replica’s) van een Pod om hoge beschikbaarheid en schaalbaarheid te waarborgen.
Namespace
Een namespace in Kubernetes is een manier om resources te isoleren en organiseren binnen een cluster, zodat meerdere projecten of teams gescheiden kunnen werken.
Deployment
Een Deployment is een Kubernetes-object waarmee je de declaratieve status van een applicatie kunt beheren, inclusief het aantal replica’s en het beheren van updates en rollbacks.
Secret
Een Secret is een Kubernetes-object dat gevoelige informatie zoals wachtwoorden, API-sleutels of certificaten veilig opslaat en beheert.
DNS
DNS (Domain Name System) in Kubernetes is een manier om services en pods in het cluster te benaderen via een DNS-naam in plaats van een IP-adres.
ConfigMap
Een ConfigMap is een Kubernetes-object dat configuratiegegevens zoals omgevingsvariabelen of configuratiebestanden opslaat, zodat applicaties eenvoudig geconfigureerd kunnen worden zonder de containerimage zelf aan te passen.
Taints en Tolerations
Taints zijn labels die aan nodes worden toegevoegd om aan te geven dat bepaalde Pods niet op die node mogen draaien, terwijl tolerations door Pods worden ingesteld om deze taints te accepteren en toch op de betreffende node te draaien.
Node
Een fysieke of virtuele machine die deel uitmaakt van een Kubernetes-cluster en verantwoordelijk is voor het draaien van Pods.
Kubernetes Cluster
Een set van nodes die samen een Kubernetes-systeem vormen, met één of meer master nodes en worker nodes.
Service
Een Kubernetes-object dat een consistente netwerktoegang biedt tot een set van Pods, vaak gebruikt voor load balancing.
ClusterIP
Het standaard servicetype in Kubernetes dat een intern IP-adres toewijst voor communicatie tussen services binnen het cluster. Tegenhanger is NodePort
NodePort
Een servicetype dat een vast extern IP-adres en poort toewijst voor toegang tot een service van buiten het cluster. Tegenhanger is ClusterIP
LoadBalancer
Een servicetype dat een externe load balancer configureert om verkeer naar een Kubernetes-service te sturen, vaak gebruikt in cloudomgevingen.
Ingress
Een Kubernetes-object dat HTTP- en HTTPS-verkeer (extern) naar services binnen het cluster routert, vaak met routingregels op basis van URL of hostnaam.
Persistent Volume (PV):
Een abstractie voor opslagbronnen die door Kubernetes-clusters kunnen worden gebruikt voor dataopslag die buiten de levensduur van een Pod blijft bestaan.
Persistent Volume Claim (PVC)
Een verzoek van een gebruiker om opslag te reserveren, waarmee toegang tot een Persistent Volume wordt aangevraagd.
StatefulSet
Een controller in Kubernetes voor het beheren van stateful applicaties, waarbij een unieke naam en persistent storage per Pod behouden blijven.
Job
Een Kubernetes-object dat ervoor zorgt dat een specifieke taak of set van taken precies één keer wordt uitgevoerd of totdat het succesvol is voltooid.
CronJob
Een Kubernetes-object dat taken op geplande tijdstippen uitvoert, vergelijkbaar met cron jobs in Linux.
Horizontal Pod Autoscaler (HPA)
Een object in Kubernetes dat automatisch het aantal Pods in een Deployment of ReplicaSet schaling op basis van de CPU-belasting of andere metrische waarden.
Vertical Pod Autoscaler (VPA)
Een Kubernetes-object dat automatisch de resources (CPU en geheugen) van een Pod aanpast, afhankelijk van de werkelijke belasting.
Affinity and Anti-Affinity
Regels voor het bepalen van hoe Pods moeten worden toegewezen aan nodes op basis van labels en voorkeuren, zowel voor het clusteren van Pods (affinity) als het verspreiden van Pods (anti-affinity).
Resource Requests and Limits
Definities van de hoeveelheid CPU en geheugen die een Pod vereist (request) en de maximumwaarden die het mag gebruiken (limit) om overbelasting te voorkomen.
Container
Een lichtgewicht, op zichzelf staand, uitvoerbaar pakket dat alles bevat wat nodig is om een applicatie uit te voeren, zoals code, afhankelijkheden en configuraties.
Docker
Een open-source platform dat containers maakt, beheert en uitvoert, vaak gebruikt voor het ontwikkelen en verzenden van applicaties in containerformaten.
kubectl
De command-line interface (CLI) voor interactie met Kubernetes-clusters
Helm
Een pakketbeheerder voor Kubernetes waarmee je applicaties kunt installeren en beheren door gebruik te maken van Charts, vooraf gedefinieerde pakketten van Kubernetes-resources
Kubelet
Een agent die op elke node draait en ervoor zorgt dat de containers die in Pods draaien, goed functioneren en dat de gewenste status van de Pod wordt gehandhaafd.
Kube-Proxy
Een netwerkproxy die zorgt voor service-discovery en load balancing binnen het Kubernetes-cluster door verkeer naar de juiste Pods te routeren.
Kubernetes Scheduler
De component in Kubernetes die bepaalt op welke node een Pod moet draaien op basis van beschikbare resources en andere factoren zoals affiniteit en taints.
Pod Disruption Budget (PDB)
Een Kubernetes-object dat de minimale beschikbaarheid van Pods binnen een applicatie definieert tijdens onderhouds- of schalingactiviteiten.
ClusterRole and Role
Een ClusterRole definieert toegangspolicies voor alle namespaces in een cluster, terwijl een Role toegangspolicies voor een specifieke namespace definieert.
ServiceAccount
Een account waarmee Pods en services binnen een Kubernetes-cluster kunnen communiceren met de API-server, vaak in combinatie met RBAC (Role-Based Access Control).
Role-Based Access Control (RBAC)
Een mechanisme voor het beheren van toegang tot Kubernetes-resources door gebruikers en services, gebaseerd op rollen en bijbehorende permissies.
NetworkPolicy
Een Kubernetes-object dat bepaalt hoe Pods met elkaar en met andere netwerkbronnen communiceren, bijvoorbeeld door toegangsregels op basis van IP, poort of label te definiëren.
Sidecar Pattern
Een ontwerppatroon waarbij een secundaire container in dezelfde Pod draait en aanvullende functionaliteit levert, zoals logging, monitoring of proxy.
Kubernetes Operator
Een methodologie voor het beheren van Kubernetes-applicaties, waarbij een operator een controller is die bedrijfslogica toepast om de lifecycle van een applicatie te beheren.
Admission Controller
Een extensie van de Kubernetes API-server die beslissingen maakt over de goedkeuring of afwijzing van API-aanvragen op basis van vooraf gedefinieerde regels of beleid.
Metrics Server
Een component die de verzameling van resourcegebruikstatistieken (zoals CPU- en geheugengebruik) in Kubernetes-clusters verzorgt, essentieel voor autoscalers.
Pod Security Policy (PSP):
Een beleidsmaatregel die restricties oplegt aan de beveiliging van Pods, zoals het gebruik van privileges, gebruikers, en netwerktoegang.
Custom Resource (CR)
Een door de gebruiker gedefinieerd type resource binnen Kubernetes, zoals een applicatie-specifiek object, waarvoor een bijbehorende controller kan worden ontwikkeld.
Custom Controller
Een controller die bedrijfslogica implementeert voor het beheer van custom resources. een manier om Kubernetes uit te breiden met je eigen logica voor het beheren van specifieke resources en processen in het cluster. Het maakt gebruik van CRDs en een controller die events monitoren en actie ondernemen om resources te beheren
Webhook
Een HTTP-call die kan worden ingesteld om een service of systeem extern te informeren over gebeurtenissen in Kubernetes, zoals veranderingen in de API-server.
ServiceAccount
Een object dat wordt gebruikt door Pods om toegang te verkrijgen tot de Kubernetes API, meestal in combinatie met RBAC (Role-Based Access Control).
Kubernetes API
Het hart van Kubernetes waarmee alle interacties binnen het cluster plaatsvinden, zowel intern voor de clustercomponenten als extern voor gebruikers en applicaties.
Pod Template
Een sjabloon dat wordt gebruikt door een Kubernetes-controller (zoals een Deployment of StatefulSet) om de configuratie van Pods die het beheert te definiëren.
Pod Selector
Een mechanisme voor het selecteren van Pods, vaak gebruikt in services of replication controllers, op basis van labels die aan de Pods zijn toegewezen.
DNS Service Discovery
Een mechanisme waarmee Kubernetes-services automatisch DNS-namen kunnen krijgen die door andere services of Pods in het cluster kunnen worden benaderd.
ClusterRoleBinding
Een RBAC-object dat een rol (ClusterRole) bindt aan een gebruiker of een serviceaccount op cluster-niveau, zodat die persoon of service toegang heeft tot bepaalde resources.
RoleBinding:
Een RBAC-object dat een rol (Role) bindt aan een gebruiker of serviceaccount op namespace-niveau.
Deployment Strategy
Strategieën die bepalen hoe nieuwe Pods in een Deployment worden uitgerold. “RollingUpdate” zorgt voor gefaseerde uitrol, terwijl “Recreate” alle oude Pods vervangt.
Job Completion
Een Kubernetes-Job is voltooid wanneer alle Pod-instanties de taak succesvol hebben uitgevoerd. Jobs worden gebruikt voor het uitvoeren van eenmalige of batchtaken.
StatefulSet Pod Identity
In tegenstelling tot een Deployment, biedt een StatefulSet elke Pod een stabiele, unieke naam en persistentie voor opslag, waardoor het geschikt is voor stateful applicaties.
Ephemeral Containers
Containers die tijdelijk aan een Pod kunnen worden toegevoegd voor doeleinden zoals debuggen, zonder dat de Pod zelf wordt gewijzigd.
Pod Lifecycle
De fasen die een Pod doorloopt van creatie tot verwijdering: Pending, Running, Succeeded, Failed, en Unknown.
kubeadm
Een tool die wordt gebruikt om een Kubernetes-cluster op te zetten, te initialiseren en te beheren.
Controller Manager
De component in Kubernetes die de controllers uitvoert die verantwoordelijk zijn voor het beheren van de resources in het cluster, zoals de ReplicaSet controller en de Deployment controller.
Scheduler
De component die bepaalt op welke node een Pod wordt uitgevoerd, rekening houdend met de beschikbaarheid van resources en andere factoren.
Helm Chart
Een pakket dat een set van Kubernetes-objecten en configuraties bevat, waarmee applicaties snel en efficiënt kunnen worden gedeployed binnen een Kubernetes-cluster.
Operator Pattern
Een patroon voor het beheren van de lifecycle van een applicatie in Kubernetes door een operator die de status van een applicatie bewaakt en acties onderneemt op basis van bedrijfslogica.
Cloud Provider Integration
Integratie van Kubernetes met cloudplatformen zoals AWS, GCP of Azure om toegang te krijgen tot cloud-specifieke resources zoals load balancers, persistent storage of auto-scaling.
Service Discovery
Het mechanisme waarmee Kubernetes-services automatisch worden gedetecteerd door andere applicaties of Pods in het cluster, meestal via DNS.