Service AI Flashcards

1
Q

Wat is een Service in Kubernetes?

A

Een Service is een abstractie die een manier biedt om toegang te krijgen tot een set van pods in Kubernetes. Het zorgt voor load balancing en het beheren van de netwerkomstandigheden voor toegang tot de pods.

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

Welke soorten Services zijn er in Kubernetes?

A

De vier hoofdtypen van Services in Kubernetes zijn:
- ClusterIP (standaard)
- NodePort
- LoadBalancer
- ExternalName

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

Wat is een ClusterIP Service?

A

Een ClusterIP Service maakt de service toegankelijk binnen het cluster via een interne IP-adres. Het is de standaard en meest gebruikte service in Kubernetes.

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

Hoe werkt een NodePort Service?

A

Een NodePort Service maakt een poort op elke node beschikbaar, zodat de service van buiten het cluster bereikbaar is via nodeIP:nodePort.

```yaml
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
nodePort: 30001
~~~

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

Wat is het doel van een LoadBalancer Service?

A

Een LoadBalancer Service maakt gebruik van een externe load balancer (bijvoorbeeld van een cloudprovider) om verkeer naar de pods te verdelen. Dit is handig voor toegang vanaf buiten het cluster.

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

Wat is een ExternalName Service in Kubernetes?

A

Een ExternalName Service maakt een DNS-record aan voor een externe resource, zodat je een externe URL kunt gebruiken als een interne service.

```yaml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ExternalName
externalName: example.com
~~~

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

Wat is het doel van een selector in een Kubernetes Service?

A

De selector van een Service bepaalt welke pods er door de Service worden blootgesteld. Het zoekt naar pods die overeenkomen met de labels in de selector.

```yaml
spec:
selector:
app: my-app
~~~

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

Wat is het verschil tussen port en targetPort in een Kubernetes Service?

A
  • port: Het poortnummer waarop de Service zelf luistert.
  • targetPort: Het poortnummer waarop de applicatie in de pod luistert.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kun je een Service maken zonder een selector? Wat is het doel?

A

Ja, je kunt een Service maken zonder een selector, bijvoorbeeld voor externalName of als de Service handmatig pods target via een ander mechanisme zoals een endpoint.

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

Wat is een headless Service en wanneer zou je die gebruiken?

A

Een headless Service heeft geen ClusterIP en wordt gebruikt wanneer je geen load balancing wilt en direct toegang wilt tot individuele pods, bijvoorbeeld voor StatefulSets.

```yaml
spec:
clusterIP: None
~~~

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

Wat is een Endpoint in Kubernetes?

A

Een Endpoint in Kubernetes is een object dat de IP-adressen en poorten van de pods die bij een Service horen, bijhoudt.

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

Hoe wordt de DNS-naam van een Service in Kubernetes gevormd?

A

De DNS-naam van een Service wordt gevormd als service-name.namespace.svc.cluster.local.

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

Hoe kun je toegang krijgen tot een NodePort Service van buiten het cluster?

A

Je kunt toegang krijgen tot een NodePort Service via nodeIP:nodePort, waarbij nodeIP het IP-adres van een node is in het cluster en nodePort de toegewezen poort is.

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

Hoe wordt een LoadBalancer Service geconfigureerd in een cloudomgeving?

A

In een cloudomgeving (zoals AWS of GCP) maakt Kubernetes automatisch een externe load balancer aan en wijst deze een extern IP-adres toe voor toegang tot de Service.

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

Hoe definieer je meerdere poorten voor een Service in Kubernetes?

A

Je kunt meerdere poorten definiëren door meerdere items in de ports lijst te plaatsen:

```yaml
spec:
ports:
- port: 80
targetPort: 8080
- port: 443
targetPort: 8443
~~~

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

Hoe definieer je de naam en poort van een Service in Kubernetes?

A

De naam van een Service wordt gedefinieerd in de metadata en de poort wordt gedefinieerd in de spec.ports:

```yaml
metadata:
name: my-service
spec:
ports:
- port: 8080
targetPort: 80
~~~

17
Q

Kun je een Service direct koppelen aan tolerations? Waarom of waarom niet?

A

Nee, tolerations zijn een eigenschap van pods en niet van Services. Ze worden gebruikt om pods toe te staan om te draaien op nodes met specifieke taints.

18
Q

Hoe gebruik je Kubernetes DNS om een Service binnen een pod te bereiken?

A

Gebruik de naam van de Service in de vorm service-name.namespace.svc.cluster.local om de Service binnen een pod te bereiken.

19
Q

Hoe kun je een Service een External IP toewijzen?

A

Je kunt een External IP toewijzen door de spec.externalIPs in de Service te configureren:

```yaml
spec:
externalIPs:
- 192.168.1.1
~~~

20
Q

Kun je een ServiceAccount aan een Service toewijzen in Kubernetes?

A

Nee, een ServiceAccount is gerelateerd aan pods en niet direct aan Services. Het wordt gebruikt voor de identiteit van een pod bij toegang tot de Kubernetes API.

21
Q

Hoe maak je een ClusterIP Service toegankelijk voor andere namespaces?

A

Je kunt een ClusterIP Service vanuit een andere namespace bereiken door de volledige DNS-naam service-name.namespace.svc.cluster.local te gebruiken.

22
Q

Kun je meerdere selectors gebruiken in een Service?

A

Nee, je kunt slechts één selector gebruiken per Service. Meerdere selectors kunnen worden bereikt door gebruik te maken van labels en label selectors.

23
Q

Hoe werkt een NetworkPolicy met een Service?

A

Een NetworkPolicy kan worden gebruikt om het netwerkverkeer tussen pods te beperken, inclusief toegang tot een Service. Het bepaalt welke pods toegang kunnen hebben tot de service op basis van labels en selectors.

24
Q

Wat gebeurt er als je een Service van het type ExternalName maakt?

A

Een ExternalName Service creëert een DNS-naam die naar een extern domein verwijst. Er worden geen pods of endpoints gecreëerd, de service wijst naar een extern DNS-naam.

25
Q

Hoe gebruik je kubectl port-forward met een Service?

A

Gebruik het kubectl port-forward commando om verkeer naar een specifieke pod van een Service door te sturen:

```bash
kubectl port-forward svc/my-service 8080:80
~~~

26
Q

wat is de range van een nodeport

A

30000 -32767

27
Q

welke soorten port zijn er?

A

nodeport (om de node in te komen), targetport. (op de pod), port (op de service 8080)

28
Q

wat is de default service type?

A

ClusterIP

29
Q
A