ReplicaSet Flashcards

1
Q

Hoe check je het aantal replicas in een ReplicaSet?

A

Gebruik het commando kubectl get replicaset <replicaset-name> om het aantal replicas en hun status te bekijken.</replicaset-name>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Waarom zou je een ReplicaSet gebruiken in plaats van een Deployment?

A

Je zou een ReplicaSet gebruiken als je eenvoudig het aantal replica’s van een pod wilt beheren zonder automatische updates of rollbacks. Dit is nuttig in scenario’s waarin je geen rolling updates nodig hebt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat gebeurt er als je een ReplicaSet verwijdert?

A

Wanneer een ReplicaSet wordt verwijderd, worden de bijbehorende pods ook verwijderd. Dit heeft geen invloed op andere ReplicaSets of Deployments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hoe stel je resource limits in voor een container in een ReplicaSet?

A

Je kunt resource limits instellen onder spec.template.spec.containers.resources:

yaml
Code kopiëren
resources:
limits:
memory: “1Gi”
cpu: “1”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hoe gebruik je een Horizontal Pod Autoscaler (HPA) met een ReplicaSet?

A

De Horizontal Pod Autoscaler kan het aantal replicas van een ReplicaSet aanpassen op basis van CPU-gebruik of andere metrics. Je maakt een HPA object dat de ReplicaSet target:

yaml
Code kopiëren
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: my-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: ReplicaSet
name: my-replicaset
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 80

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hoe stel je affinity rules in voor een ReplicaSet?

A

Je kunt affinity gebruiken om de pod scheduling te beïnvloeden op basis van node labels:

yaml
Code kopiëren
affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: my-app
topologyKey: kubernetes.io/hostname

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

wat betekent requiredDuringSchedulingIgnoredDuringExecution:
en topologyKey
in podaffinity

A

requiredDuringSchedulingIgnoredDuringExecution: Dit geeft aan dat de opgegeven affiniteit- of anti-affinitievoorwaarden moeten worden gecontroleerd tijdens het plannen van de pod, maar niet meer gelden nadat de pod is uitgevoerd (bijvoorbeeld als de pod op een andere node wordt geplaatst door een herplanning).

topologyKey: Dit bepaalt welk kenmerk van de node (zoals kubernetes.io/hostname of topology.kubernetes.io/zone) moet worden gebruikt om de affiniteit- of anti-affinitie te controleren. Het helpt bij het afdwingen van locaties voor je pod binnen een cluster op basis van de topologische structuur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hoe koppel je een volume aan een ReplicaSet?

A

e kunt een volume toevoegen onder spec.template.spec.volumes en vervolgens de volume mounten in de container onder spec.template.spec.containers.volumeMounts:

yaml
Code kopiëren
volumes:
- name: my-volume
emptyDir: {}
containers:
- name: my-container
image: nginx
volumeMounts:
- name: my-volume
mountPath: /mnt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kan een ReplicaSet in een specifieke namespace worden gemaakt?

A

Ja, je kunt een ReplicaSet in een specifieke namespace maken door de metadata.namespace in de YAML te specificeren:

metadata:
name: my-replicaset
namespace: my-namespace

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hoe voeg je een init container toe aan een ReplicaSet?

A

Voeg de initContainers sectie toe aan de spec.template.spec van de ReplicaSet:

yaml
Code kopiëren
initContainers:
- name: init-container
image: busybox
command: [‘sh’, ‘-c’, ‘echo Hello Kubernetes’]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

wat is een initContainer ook alweer?

A

een container die eerst iets uitvoert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hoe kan een PodDisruptionBudget samenwerken met een ReplicaSet?

A

Een PodDisruptionBudget helpt te garanderen dat een bepaald aantal pods van een ReplicaSet beschikbaar blijft, zelfs tijdens een vrijwillige verstoring zoals een update.

yaml
Code kopiëren
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-pdb
spec:
minAvailable: 2
selector:
matchLabels:
app: my-app

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hoe gebruik je labels in een ReplicaSet?

A

Je gebruikt labels om de pods die door de ReplicaSet worden beheerd te identificeren. De labels worden gedefinieerd onder spec.template.metadata.labels en spec.selector.matchLabels:

yaml
Code kopiëren
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hoe stel je resource requests in voor een container in een ReplicaSet?

A

Stel resource requests in onder de resources sectie in de containerconfiguratie:

yaml
Code kopiëren
resources:
requests:
memory: “500Mi”
cpu: “500m”
limits:
memory: “1Gi”
cpu: “1”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hoe stel je een liveness probe in voor een container in een ReplicaSet?

A

Een liveness probe kan worden toegevoegd aan de container-specificatie in de spec.template.spec van de ReplicaSet:

yaml
Code kopiëren
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 3
periodSeconds: 5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

wat is een liveness probe in een ReplicaSet?

A

Een liveness probe in een ReplicaSet is een mechanisme waarmee Kubernetes controleert of een container in een pod nog steeds goed functioneert. Als de liveness probe faalt, wordt de container opnieuw gestart om ervoor te zorgen dat de applicatie gezond blijft.

17
Q

Naast de liveness probe zijn er ook:

A

Readiness probe: Controleert of een container klaar is om verkeer te ontvangen. Als deze faalt, wordt de pod uit de load balancer gehaald totdat het weer klaar is.

Startup probe: Wordt gebruikt om te controleren of een container correct is opgestart. Dit voorkomt dat Kubernetes de container te snel als niet-gezond beschouwt tijdens de opstartfase.

18
Q

Hoe gebruik je taints en tolerations in een ReplicaSet?

A

Je kunt tolerations toevoegen in de spec.template.spec van de ReplicaSet om ervoor te zorgen dat pods op nodes met bepaalde taints kunnen draaien.

yaml
Code kopiëren
tolerations:
- key: “key”
operator: “Equal”
value: “value”
effect: “NoSchedule”

19
Q

Hoe kun je affinity gebruiken in een ReplicaSet?

A

Je kunt affinity gebruiken in de spec.template.spec van de ReplicaSet om pod scheduling te sturen naar specifieke nodes:

yaml
Code kopiëren
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: disktype
operator: In
values:
- ssd

20
Q

Hoe stel je een nodeSelector in voor een ReplicaSet?

A

Gebruik de nodeSelector in de spec.template.spec sectie van de ReplicaSet:

yaml
Code kopiëren
spec:
template:
spec:
nodeSelector:
disktype: ssd

21
Q

Hoe kun je een ReplicaSet bijwerken?

A

Je kunt een ReplicaSet bijwerken door het aantal replicas te verhogen of te verlagen. Als je de containerafbeelding wilt bijwerken, kun je de ReplicaSet handmatig bijwerken of een Deployment gebruiken voor automatische updates.

22
Q

Waar wordt de pod template gedefinieerd in een ReplicaSet YAML?

A

De pod template wordt gedefinieerd onder spec.template in de ReplicaSet YAML. Hier geef je de containerconfiguraties en labels voor de pods op.

23
Q

Ondersteunt een ReplicaSet rolling updates?

A

Een ReplicaSet ondersteunt geen rolling updates zelf. Hiervoor wordt een Deployment gebruikt, die een ReplicaSet beheert en rolling updates uitvoert.

24
Q

Wat gebeurt er als het aantal replicas in een ReplicaSet wordt gewijzigd?

A

Kubernetes zorgt ervoor dat het opgegeven aantal pods wordt uitgevoerd. Als je bijvoorbeeld het aantal replicas verhoogt, worden er nieuwe pods gestart. Als je het aantal verlaagt, worden de overbodige pods verwijderd.

25
Q

Wat is de functie van de selector in een ReplicaSet?

A

De selector bepaalt welke pods onder het beheer van de ReplicaSet vallen, op basis van de labels die aan de pods zijn toegewezen.

26
Q

Hoe ziet een eenvoudige ReplicaSet YAML eruit?

A

Een eenvoudige ReplicaSet YAML bevat apiVersion, kind, metadata, spec.replicas, en een selector om de juiste pods te selecteren:

yaml
Code kopiëren
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx

27
Q

Wat is het verschil tussen een ReplicaSet en een Deployment?

A

Een ReplicaSet beheert alleen het aantal replica’s van een pod, terwijl een Deployment ook zorgt voor automatische updates, rollbacks en versiebeheer van de pods.

28
Q

Wat is een ReplicaSet?

A

Een ReplicaSet is een Kubernetes-resource die ervoor zorgt dat een specifiek aantal replica’s van een pod draait. Het handhaaft het gewenste aantal pods, zelfs als sommige pods uitvallen of worden verwijderd.

29
Q
A