In ons laatste artikel hebben we besproken: hoe een Kubernetes-cluster in te stellen en uit te voeren, laten we bespreken hoe we kunnen inzetten NGINX service op ons cluster.
Ik zal deze implementatie uitvoeren op een virtuele machine die wordt gehost door een openbare cloudprovider. Zoals het is met veel openbare cloudservices, handhaven velen over het algemeen een openbaar en privé IP-schema voor hun virtuele machines.
Hoofdknooppunt - Openbaar IP: 104.197.170.99 en privé IP: 10.128.15.195. Werkknooppunt 1 - Openbaar IP: 34.67.149.37 en privé IP: 10.128.15.196. Worker Node 2 - Openbaar IP: 35.232.161.178 en privé IP: 10.128.15.197.
We zullen deze implementatie uitvoeren vanaf het hoofdknooppunt.
Laten we beginnen met het controleren van de status van het cluster. Al uw knooppunten moeten in a. staan KLAAR staat.
# kubectl krijgt knooppunten.
We maken een implementatie van NGINX de... gebruiken NGINX afbeelding.
# kubectl maak implementatie nginx --image=nginx.
U kunt nu de status van uw implementatie zien.
# kubectl krijgt implementaties.
Als u meer details over uw implementatie wilt zien, kunt u de beschrijven opdracht. Het is bijvoorbeeld mogelijk om te bepalen hoeveel replica's van de implementatie worden uitgevoerd. In ons geval verwachten we een replica van 1 te zien draaien (d.w.z 1/1 replica's).
# kubectl beschrijft implementatie nginx.
Nu je Nginx-implementatie actief is, wil je misschien de NGINX service naar een openbaar IP-adres dat bereikbaar is op internet.
Kubernetes biedt verschillende opties bij het tonen van uw service op basis van een functie genaamd Kubernetes Service-types en deze zijn:
Het standaard servicetype is ClusterIP.
In ons scenario willen we de. gebruiken NodePort-servicetype omdat we zowel een publiek als privaat IP-adres hebben en we voorlopig geen externe load balancer nodig hebben. Met dit servicetype wijst Kubernetes deze service toe aan poorten op de 30000+ bereik.
# kubectl maak servicenodeport nginx --tcp=80:80.
Voer de... uit haal svc commando om een samenvatting van de service en de blootgestelde poorten te zien.
# kubectl krijgt svc.
Nu kunt u controleren of de Nginx pagina is bereikbaar op alle knooppunten met behulp van de curl commando.
# curl master-node: 30386. # curl-knooppunt-1:30386. # curl-knooppunt-2:30386.
Zoals u kunt zien, is de "WELKOM BIJ NGINX!” pagina kan worden bereikt.
Zoals je misschien gemerkt hebt, Kubernetes meldt dat ik geen actieve openbare IP heb geregistreerd, of liever geen EXTERN-IP geregistreerd.
# kubectl krijgt svc.
Laten we controleren of het inderdaad waar is, dat ik geen EXTERN IP heb gekoppeld aan mijn interfaces met behulp van IP-opdracht.
#ipa.
Geen openbaar IP zoals je kunt zien.
Zoals eerder vermeld, voer ik deze implementatie momenteel uit op een Virtuele machine aangeboden door een openbare cloudprovider. Dus hoewel er geen specifieke interface een openbaar IP-adres is toegewezen, heeft de VM-provider een kortstondig extern IP-adres uitgegeven.
Een kortstondig extern IP-adres is een tijdelijk IP-adres dat aan de virtuele machine gekoppeld blijft totdat de virtuele instantie wordt gestopt. Wanneer de virtuele instantie opnieuw wordt gestart, wordt een nieuw extern IP-adres toegewezen. Kortom, het is een eenvoudige manier voor serviceproviders om gebruik te maken van inactieve openbare IP's.
De uitdaging hier, afgezien van het feit dat uw openbare IP niet statisch is, is dat de Kortstondige openbare IP is gewoon een extensie (of proxy) van het privé-IP, en om die reden is de service alleen toegankelijk op poort 30386. Dat betekent dat de service toegankelijk is via de URL, dat is 104.197.170.99:30386, die als u uw browser controleert, u de welkomstpagina zou moeten kunnen zien.
Daarmee hebben we met succes ingezet NGINX op ons Kubernetes-cluster met 3 knooppunten.