Uitvoeren van een container

Je kunt nu een container op je cluster uitvoeren. Kubernetes organiseert containers in Pods die een gemeenschappelijke IP-adres te delen, zijn altijd gepland op hetzelfde server (host) en kan opslagvolumes delen.

Controleer eerst of er geen pods (containers) draaien met:

$ kubectl get pods

Laten we beginnen met het controleren van de status van het cluster. Al je nodes zouden in de status GEREED moeten zijn.

 

We maken een implementatie van NGINX met behulp van de NGINX- image.

Je kunt nu de status van je implementatie zien.

Als je meer details over je implementatie wilt zien, kun je de opdracht describe uitvoeren. Het is bijvoorbeeld mogelijk om te bepalen hoeveel replica's van de implementatie worden uitgevoerd. In ons geval verwachten we een replica van 1 actief te zien (dwz 1/1 replica's).

Nu je Nginx-implementatie actief is, wil je misschien de NGINX- service beschikbaar stellen aan een openbaar IP-adres dat bereikbaar is op het internet.

Kubernetes biedt verschillende opties bij het presenteren van je service op basis van een functie genaamd Kubernetes Service-types en ze zijn:

  1. ClusterIP - Dit servicetype stelt de service over het algemeen bloot op een intern IP-adres, dat alleen bereikbaar is binnen het cluster en mogelijk alleen binnen de clusternodes.
  2. NodePort - Dit is de eenvoudigste optie om je service toegankelijk te maken buiten je cluster, op een specifieke poort (de NodePort genoemd ) op elk node in het cluster. We zullen deze optie zo illustreren.
  3. LoadBalancer - Deze optie maakt gebruik van externe load-balancing-services die door verschillende providers worden aangeboden om toegang tot je service mogelijk te maken. Dit is een betrouwbaardere optie wanneer je nadenkt over hoge beschikbaarheid voor je service, en heeft meer functies dan standaardtoegang.
  4. ExternalName - Deze service leidt verkeer om naar services buiten het cluster. Als zodanig wordt de service dus toegewezen aan een DNS-naam die buiten je cluster kan worden gehost. Het is belangrijk op te merken dat dit geen proxy gebruikt.

Het standaard servicetype is ClusterIP .

In ons scenario willen we het NodePort Service-type gebruiken omdat we zowel een openbaar als privé IP-adres hebben en we voorlopig geen externe load balancer nodig hebben. Met dit servicetype wijst Kubernetes deze service toe aan poorten in het bereik van 30000+ .

 

Voer de opdracht get svc uit om een ​​samenvatting van de service en de blootgestelde poorten te zien.

 

Nu kunt je controleren of de Nginx- pagina op alle knooppunten bereikbaar is met het curl-commando.

# curl master-node-IP:32021
# curl node-1-IP:32021 
# curl node-2-IP:32021