mix Flashcards
Wat is de standaard restartPolicy voor een Pod in Kubernetes?
De standaard restartPolicy is Always. Dit betekent dat de container automatisch opnieuw wordt gestart bij een crash.
staat in pod:
spec:
restartPolicy: Always
containers:
Welke restart policies zijn er?
Always: De container(s) in de pod worden altijd opnieuw opgestart, ongeacht de reden waarom de container is gestopt. Dit is de standaardwaarde voor een pod in een Deployment of ReplicaSet.
OnFailure: De container(s) worden alleen opnieuw opgestart als de container faalt (d.w.z. met een niet-nul exitstatus).
Never: De container(s) worden niet opnieuw opgestart, ongeacht de exitstatus van de container.
Wat is het doel van Namespaces in Kubernetes?
Namespaces zorgen voor isolatie en organisatie van Kubernetes-resources binnen een cluster. Ze helpen bij het beheren van toegang en het scheiden van omgevingen zoals productie en ontwikkeling.
Wat is het verschil tussen een ClusterIP en een NodePort service in Kubernetes(services)?
ClusterIP: De service is alleen toegankelijk binnen het cluster.
NodePort: De service is toegankelijk vanaf buiten het cluster via een poort op elke node.
Hoe geef je een Secret door als omgevingsvariabele in een container binnen een pod?
Gebruik valueFrom: SecretKeyRef om een secret als omgevingsvariabele door te geven:
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-secret
key: password
Wat is het verschil tussen een PersistentVolume (PV) en een PersistentVolumeClaim (PVC)?
PersistentVolume (PV): De daadwerkelijke opslagbron die beschikbaar wordt gesteld in het cluster.
PersistentVolumeClaim (PVC): Een verzoek voor opslag dat een pod kan gebruiken. De PVC claimt een PV.
Hoe schaal je het aantal replicas van een Deployment naar 5 met het kubectl commando?
kubectl scale deployment <deployment-name> --replicas=5</deployment-name>
Wat is een Horizontal Pod Autoscaler (HPA) en hoe configureer je deze op basis van CPU-gebruik?
De HPA schaalt automatisch het aantal replicas op basis van de resourcebehoefte, zoals CPU-gebruik. is een aparte yaml.
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: my-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-deployment
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
Wat is het belangrijkste verschil tussen een StatefulSet en een Deployment?
StatefulSet: Geschikt voor stateful applicaties die statische identiteiten (zoals een vast netwerkadres) en persistentie van opslag vereisen.
Deployment: Geschikt voor stateless applicaties die geen permanente opslag of identiteit nodig hebben.
Wat is het doel van affinity en anti-affinity in Kubernetes?
Affinity: Zorgt ervoor dat pods op specifieke nodes worden uitgevoerd, op basis van labels.
Anti-affinity: Zorgt ervoor dat pods niet op bepaalde nodes worden uitgevoerd of niet dicht bij elkaar worden geplaatst.
Hoe stel je resource requests en limits in voor CPU en geheugen in een container?
Gebruik de resources sectie in de container:
resources:
requests:
memory: “500Mi”
cpu: “500m”
limits:
memory: “2Gi”
cpu: “1”
Hoe stel je een CronJob in om elke dag om 6:00 uur een taak uit te voeren?
Gebruik de cron-syntax in de schedule veld van de CronJob:
yaml
Code kopiëren
apiVersion: batch/v1
kind: CronJob
metadata:
name: daily-job
spec:
schedule: “0 6 * * *” # 6:00 AM dagelijks
jobTemplate:
spec:
template:
spec:
containers:
- name: my-container
image: my-image
restartPolicy: OnFailure
Wat is Helm en hoe kan het helpen bij het beheren van applicaties in Kubernetes?
Helm is een package manager voor Kubernetes. Het helpt bij het beheren van Kubernetes-applicaties door het gebruik van charts, die herbruikbare configuraties zijn voor applicaties en hun afhankelijkheden.
Wat is het doel van een NetworkPolicy in Kubernetes?
Een NetworkPolicy beperkt het netwerkverkeer tussen Pods en definieert welke Pods toegang hebben tot andere Pods binnen een cluster. Het verhoogt de beveiliging door verkeer te reguleren.
Hoe kun je debuggen in een Kubernetes-cluster door een shell toe te voegen aan een lopende pod?
kubectl debug -it <pod-name> --image=busybox --target=<container-name></container-name></pod-name>