Kuinka ottaa Nginx käyttöön Kubernetes-klusteriin
Edellisessä artikkelissamme olemme keskustelleet Kubernetes-klusterin määrittämisestä ja käyttämisestä. Keskustellaan siitä, kuinka voimme ottaa NGINX-palvelun käyttöön klusterissamme.
Suoritan tämän käyttöönoton julkisen pilvipalvelun tarjoajan isännöimässä virtuaalikoneessa. Kuten monissa julkisissa pilvipalveluissa, monet yleensä ylläpitävät julkista ja yksityistä IP-järjestelmää virtuaalikoneita varten.
Testausympäristö
Master Node - Public IP: 104.197.170.99 and Private IP: 10.128.15.195
Worker Node 1 - Public IP: 34.67.149.37 and Private IP: 10.128.15.196
Worker Node 2 - Public IP: 35.232.161.178 and Private IP: 10.128.15.197
NGINX:n käyttöönotto Kubernetes-klusterissa
Suoritamme tämän käyttöönoton pääsolmusta.
Aloitetaan tarkistamalla klusterin tila. Kaikkien solmujen tulee olla VALMIS-tilassa.
kubectl get nodes
Luomme NGINX-asennuksen NGINX-kuvan avulla.
kubectl create deployment nginx --image=nginx
Voit nyt nähdä käyttöönoton tilan.
kubectl get deployments
Jos haluat nähdä lisätietoja käyttöönotostasi, voit suorittaa describe-komennon. On esimerkiksi mahdollista määrittää, kuinka monta kopiota käyttöönotosta on käynnissä. Meidän tapauksessamme odotamme näkevämme 1:n replikan käynnissä (eli 1/1-kopiot).
kubectl describe deployment nginx
Nyt Nginx-asennus on aktiivinen, joten sinun kannattaa altistaa NGINX-palvelu julkiselle IP-osoitteelle, joka on tavoitettavissa Internetistä.
Nginx-palvelusi paljastaminen julkiselle verkolle
Kubernetes tarjoaa useita vaihtoehtoja, kun paljastat palvelusi Kubernetes-palvelutyypeiksi kutsutun ominaisuuden perusteella, ja ne ovat:
- ClusterIP – Tämä palvelutyyppi paljastaa palvelun yleensä sisäisessä IP-osoitteessa, joka on tavoitettavissa vain klusterin sisällä ja mahdollisesti vain klusterin solmuissa.
- NodePort – Tämä on yksinkertaisin vaihtoehto tarjota palvelusi käytettäväksi klusterin ulkopuolella tietyssä portissa (nimeltään NodePort) jokaisessa klusterin solmussa. Kuvaamme tämän vaihtoehdon pian.
- LoadBalancer – Tämä vaihtoehto hyödyntää useiden palveluntarjoajien tarjoamia ulkoisia kuormituksen tasapainotuspalveluita, jotka mahdollistavat pääsyn palveluihisi. Tämä on luotettavampi vaihtoehto, kun ajatellaan palvelusi korkeaa käytettävyyttä, ja siinä on enemmän ominaisuuksia kuin oletuskäyttö.
- ExternalName – Tämä palvelu ohjaa liikenteen uudelleen klusterin ulkopuolisiin palveluihin. Näin ollen palvelu on kartoitettu DNS-nimeen, jota voidaan isännöidä klusterin ulkopuolella. On tärkeää huomata, että tämä ei käytä välityspalvelinta.
Oletuspalvelutyyppi on ClusterIP.
Skenaariossamme haluamme käyttää NodePort-palvelutyyppiä, koska meillä on sekä julkinen että yksityinen IP-osoite, emmekä tarvitse ulkoista kuormitustasainta toistaiseksi. Tämän palvelutyypin avulla Kubernetes määrittää tämän palvelun porteille, jotka ovat alueella 30 000+.
kubectl create service nodeport nginx --tcp=80:80
Suorita get svc -komento nähdäksesi yhteenvedon palvelusta ja näkyvistä porteista.
kubectl get svc
Nyt voit varmistaa, että Nginx-sivu on tavoitettavissa kaikissa solmuissa curl-komennolla.
curl master-node:30386
curl node-1:30386
curl node-2:30386
Kuten näet, TERVETULOA NGINX! -sivulle pääsee.
Väliaikaisten JULKISTEN IP-osoitteiden saavuttaminen
Kuten olet ehkä huomannut, Kubernetes ilmoittaa, että minulla ei ole rekisteröityä aktiivista julkista IP-osoitetta tai pikemminkin ULKOISTA IP-osoitetta.
kubectl get svc
Varmistetaan, onko se todella totta, että minulla ei ole IP-komennolla liitetty ULKOISTA IP-osoitetta liitäntöihini.
ip a
Ei julkista IP-osoitetta, kuten näet.
Kuten aiemmin mainittiin, käytän tällä hetkellä tätä käyttöönottoa julkisen pilvipalvelun tarjoajan virtuaalikoneella. Joten vaikka julkista IP-osoitetta ei ole määrätty erityiselle rajapinnalle, virtuaalikoneen tarjoaja on antanut lyhytaikaisen ulkoisen IP-osoitteen.
Väliaikainen ulkoinen IP-osoite on väliaikainen IP-osoite, joka pysyy liitettynä virtuaalikoneeseen, kunnes virtuaalinen ilmentymä pysäytetään. Kun virtuaalinen ilmentymä käynnistetään uudelleen, uusi ulkoinen IP-osoite määritetään. Periaatteessa se on yksinkertainen tapa palveluntarjoajille hyödyntää käyttämättömiä julkisia IP-osoitteita.
Haaste tässä muussa kuin se, että julkinen IP-osoitteesi ei ole staattinen, on se, että lyhytaikainen julkinen IP on yksinkertaisesti yksityisen IP-osoitteen laajennus (tai välityspalvelin), ja tästä syystä palvelu voidaan käyttää vain portin 30386 kautta. Tämä tarkoittaa, että palvelua käytetään URL-osoitteesta
, joka on 104.197.170.99:30386, mikä jos valitset selaimessasi, sinun pitäisi voida nähdä tervetulosivu.
Tämän ansiosta olemme onnistuneesti ottaneet NGINX käyttöön 3-solmun Kubernetes-klusteriimme.