oefenexamen mix 4 Flashcards

1
Q

Admission Controller

A

Een Admission Controller in Kubernetes is een mechanisme dat controleert en (indien nodig) wijzigt wat er in een cluster gebeurt bij resource-aanvragen (zoals Pods of Deployments). Ze werken na validatie, maar voor de opslag van de resource in de clusterstatus.

Taken van Admission Controllers:
-Validatie: Controleert of een aanvraag voldoet aan bepaalde regels (bijv. geen ongepaste labels).
-Mutatie: Wijzigt aanvragen (bijv. automatisch toevoegen van labels).
-Beleid afdwingen: Zorgt dat bepaalde voorwaarden, zoals resource-limieten, worden nageleefd.

Voorbeelden van Admission Controllers:
-LimitRanger: Dwingt resource-limieten af.
- PodSecurityPolicy: Controleert de beveiliging van Pods.
- ValidatingAdmissionWebhook: Gebruikt webhooks voor validatie.
Ze helpen om beveiliging, compliance en organisatiebeleid in Kubernetes af te dwingen.

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

soorten admission controllers

A

Soorten Admission Controllers:
Mutating Admission Controllers: Deze wijzigen de aanvraag (bijv. automatisch labels toevoegen of standaardwaarden instellen).
Validating Admission Controllers: Deze valideren de aanvraag (bijv. controleren of de Pods voldoen aan bepaalde beveiligingsregels), maar kunnen geen wijzigingen aanbrengen.

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

Belangrijke Admission Controllers voor CKAD

A

LimitRanger: Dwingt resource-limieten af, zoals CPU of geheugen.
NamespaceLifecycle: Zorgt ervoor dat resources niet worden gemaakt in een verwijderde namespace.
PodSecurityPolicy (gearchiveerd in latere versies): Voordat het werd vervangen door PodSecurity, was het een veelgebruikte Admission Controller om beveiligingsstandaarden af te dwingen op Pods.
ValidatingAdmissionWebhook en MutatingAdmissionWebhook: Kunnen externe webhooks gebruiken om validatie of mutatie van resources uit te voeren.

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

wat is fsGroup in security context?

A

fsGroup: 1001 # Groep-ID 1001 voor gedeelde bestanden

Dit maakt het makkelijker om bestanden te delen en samen te werken tussen containers zonder zich zorgen te maken over individuele gebruikers- of groepsinstellingen.

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

wat zijn capabilities in de securityContext

A

Capabilities zorgen ervoor dat je gedetailleerd kunt instellen welke systeemrechten een container heeft, waardoor je de veiligheid van je applicaties kunt verbeteren.

apiVersion: v1
kind: Pod
metadata:
name: cap-example
spec:
containers:
- name: my-container
image: myapp:latest
securityContext:
capabilities:
add: [“NET_ADMIN”] # Geeft de container netwerkbeheerrechten
drop: [“SYS_TIME”] # Verwijdert de mogelijkheid om de systeemklok te veranderen

alleen op container niveau

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

Admission Controller

A

Een soort regel of beleid die bepaalt hoe bepaalde acties (zoals het creëren of bijwerken van resources) in het cluster worden goedgekeurd of gemanipuleerd. het valideert en wijzigt aanvragen om te zorgen dat ze voldoen aan de gewenste configuratie en beveiligingsstandaarden. hij autenticate de user niet

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

wat zijn de- –enable-admission-plugins in de commands van de pod?

A
  • –enable-admission-plugins=NodeRestriction,NamespaceAutoProvision

daarmee kan je admission controllers enabelen

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

wat is een annotation

A

Een annotation in Kubernetes is een manier om extra metadata toe te voegen aan resources, zoals Pods of Services, zonder dat het invloed heeft op de werking of selectie van die resources. In tegenstelling tot labels kunnen annotations grotere hoeveelheden gegevens bevatten en worden ze vaak gebruikt voor informatie zoals logging, versiebeheer en configuraties. (onder metadata)

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

wat gebeurt er als je een service account maakt?

A

een service account resource wordt gemaakt, een service account token wordt automatisch gegenereerd, voor het token wordt automatisch een secret gemaakt en die is automatisch gelinkd naar service account. om dit te zien doe je kubectl describe secret <name-token>. LET OP. dat gebeurde eerst. na verandering niet meer. nu moet je commando uitvoeren kubectl create token <name></name></name-token>

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

is er altijd een default service account?

A

ja iedere namespace heeft een default service account automatisch. Als je een pod runt wordt er automatisch gemount daarnaar.

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

nieuwe service account maken op pod

A

je kan op een bestaande pod geen nieuwe service account maken. dan moet je eerst de pod verwijderen en opnieuw maken.

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

autoMountServiceAccountToken=false

A

optie in yaml om niet automatisch een service account aan te maken

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

resource memory getallen

A

1G (gigabyte)
1M (Megabyte)
1 Gi (gigibyte)
1 Mi (mebibyte)
1 Ki (kikibyte)

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

wat gebeurt er als je teveel cpu of memory gebruikt met de pod?

A

cpu kan je niet meer gebruiken dan het limit maar bij memory kan je wel meer gebruiken dan de limit. maar dan terminate de pod want die gaat out of memory. = OOM error in log

by default zijn er geen limiten, moet je zelf instellen.

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

verschil request en limit

A

request = hoeveel CPU of geheugen een container minimaal nodig heeft om te draaien

limit= maximale hoeveelheid CPU of geheugen specificeert die de container mag gebruiken. Het

request wordt gebruikt om de pod op een node te plannen, terwijl de limit voorkomt dat de container de resources van de node overschrijdt.

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

LimitRange

A

object dat de minimale en maximale resourceverzoeken en -limieten (zoals CPU en geheugen) definieert voor containers binnen een namespace.

je kan er 2 aanmaken. 1 voor cpu en 1 voor memory, kan. niet beide in hetzelfde object

17
Q

ResourceQuota

A

object die harde limieten stelt aan memory en cpu in een namespace (dus over pods heen)

18
Q

Get node resource usage

A

kubectl top node

19
Q
A