pods ai 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.
Hoe kun je ervoor zorgen dat een pod altijd op een specifieke node wordt uitgevoerd?
Gebruik nodeSelector om de node te specificeren:
```yaml
nodeSelector:
disktype: ssd
~~~
Wat is het verschil tussen een sidecar container en een main container in een multicontainer pod?
Main container: De primaire applicatie die de kernfunctionaliteit levert.
Sidecar container: Een ondersteunende container die taken uitvoert zoals logging, monitoring, of proxy’s.
Wat is pod affinity in Kubernetes?
Pod affinity zorgt ervoor dat pods met bepaalde labels samen op dezelfde node of in dezelfde zone worden gepland.
```yaml
affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: my-app
topologyKey: kubernetes.io/hostname
~~~
Wat is pod anti-affinity in Kubernetes?
Pod anti-affinity zorgt ervoor dat pods met bepaalde labels niet samen op dezelfde node of in dezelfde zone worden gepland.
```yaml
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: my-app
topologyKey: kubernetes.io/hostname
~~~
Hoe koppel je een hostPath volume aan een pod?
Gebruik het hostPath volume in de pod-specificatie:
```yaml
volumes:
- name: my-hostpath
hostPath:
path: /path/on/host
type: DirectoryOrCreate
~~~
Hoe stel je resource requests en limits in voor een pod in Kubernetes?
Gebruik de resources sectie binnen een container in een pod:
```yaml
resources:
requests:
memory: “500Mi”
cpu: “500m”
limits:
memory: “2Gi”
cpu: “1”
~~~
Wat zijn de drie mogelijke waarden voor restartPolicy in een pod-spec en wat doen ze?
Always: Pod wordt altijd opnieuw gestart (standaard).
OnFailure: Pod wordt opnieuw gestart bij een crash (non-zero exit code).
Never: Pod wordt niet opnieuw gestart bij een crash.
Wat is het doel van een liveness probe en hoe stel je deze in?
Een liveness probe controleert of een container nog steeds werkt. Als de probe faalt, wordt de container opnieuw gestart.
```yaml
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 3
periodSeconds: 3
~~~
Wat is een init container en waarom zou je deze gebruiken?
Een init container is een tijdelijke container die wordt uitgevoerd voordat de hoofdcontainers van de pod starten. Ze worden vaak gebruikt voor voorbereidingen, zoals het downloaden van configuratiebestanden.
```yaml
initContainers:
- name: init-myservice
image: busybox
command: [‘sh’, ‘-c’, ‘echo Hello Kubernetes!’]
~~~
Wat is het doel van de DNS configuratie voor een pod?
Pod’s worden automatisch toegevoegd aan de Kubernetes DNS. Ze kunnen worden benaderd via hun DNS-naam in de vorm pod-name.namespace.svc.cluster.local.
Wat is een NetworkPolicy en hoe beïnvloedt dit een pod?
Een NetworkPolicy controleert het netwerkverkeer tussen pods. Het kan bepalen welke pods toegang hebben tot andere pods binnen het cluster.
```yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: my-policy
spec:
podSelector:
matchLabels:
role: backend
ingress:
- from:
- podSelector:
matchLabels:
role: frontend
~~~
Wat is het verschil tussen labels en selectors in Kubernetes pods?
Labels: Sleutels/waarden die aan een pod worden toegewezen, waarmee je pods kunt identificeren en organiseren.
Selectors: Een manier om pods te selecteren op basis van hun labels (bijvoorbeeld in Services of Deployments).
Wat is een securityContext in een pod en waarom zou je het gebruiken?
Een securityContext definieert de beveiligingsinstellingen voor een container of pod, zoals gebruikers- en groeps-ID’s, permissies, en meer.
```yaml
securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
~~~
Hoe kun je ervoor zorgen dat een pod niet op een bepaalde node wordt uitgevoerd?
Gebruik nodeAffinity of taints and tolerations om pods te weren van bepaalde nodes.
```yaml
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: disktype
operator: NotIn
values:
- ssd
~~~