Kuinka ottaa Nginx käyttöön Kubernetes-klusterissa
Viimeisessä artikkelissamme olemme keskustelleet Kubernetes-klusterin perustamisesta ja ajamisesta, keskustellaan siitä, miten voimme ottaa NGINX-palvelun käyttöön klusterissamme.
Suoritan tämän käyttöönoton virtuaalikoneella, jota isännöi julkinen pilvipalvelu. Kuten monien julkisten pilvipalvelujen kohdalla, monet ylläpitävät yleensä virtuaalikoneidensa julkista ja yksityistä IP-järjestelmää.
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 tulisi olla VALMIS tilassa.
# kubectl get nodes
Luomme NGINX-käyttöönoton NGINX-kuvan avulla.
# kubectl create deployment nginx --image=nginx
Näet nyt käyttöönoton tilan.
# kubectl get deployments
Jos haluat lisätietoja käyttöönotosta, voit suorittaa kuvaus-komennon. Esimerkiksi on mahdollista määrittää, kuinka monta kopiota asennuksesta on käynnissä. Meidän tapauksessamme odotamme nähdä yhden käynnissä olevan kopion (ts. 1/1 kopiota).
# kubectl describe deployment nginx
Nyt Nginx-käyttöönotto on aktiivinen, saatat haluta altistaa NGINX-palvelun Internetin julkiselle IP-osoitteelle.
Kubernetes tarjoaa useita vaihtoehtoja paljastettaessa palvelua Kubernetes-palvelutyypiksi kutsutun ominaisuuden perusteella, ja ne ovat:
- ClusterIP - Tämä palvelutyyppi paljastaa palvelun yleensä sisäisellä IP-osoitteella, joka on tavoitettavissa vain klusterin sisällä ja mahdollisesti vain klusterisolmuissa.
- NodePort - Tämä on kaikkein perustavanlaatuisin vaihtoehto paljastaa, että palvelusi on käytettävissä klusterin ulkopuolella, tietyssä portissa (nimeltään NodePort) jokaisessa klusterin solmussa. Havainnollistamme tätä vaihtoehtoa pian.
- LoadBalancer - Tämä vaihtoehto hyödyntää ulkoisten kuormituksen tasapainotuspalveluiden tarjoamia palveluntarjoajia. Tämä on luotettavampi vaihtoehto ajatellessasi palvelun korkeaa saatavuutta, ja sillä on enemmän ominaisuuksia kuin oletusyhteydet.
- ExternalName - Tämä palvelu ohjaa liikenteen uudelleen klusterin ulkopuolisiin palveluihin. Sellaisena palvelu on siis yhdistetty DNS-nimeen, joka voidaan isännöidä ulos klusteristasi. On tärkeää huomata, että tämä ei käytä välityspalvelinta.
Oletuspalvelutyyppi on ClusterIP.
Skenaariossa haluamme käyttää NodePort Service -tyyppiä, koska meillä on sekä julkinen että yksityinen IP-osoite, emmekä tarvitse toistaiseksi ulkoista kuormituksen tasapainotinta. Tämän palvelutyypin avulla Kubernetes määrittää tämän palvelun 30000+ -alueen portteihin.
# kubectl create service nodeport nginx --tcp=80:80
Suorita get svc -komento nähdäksesi yhteenvedon palvelusta ja paljastetuista porteista.
# kubectl get svc
Nyt voit varmistaa, että Nginx-sivu on tavoitettavissa kaikilla solmuilla käpristyskomennolla.
# curl master-node:30386 # curl node-1:30386 # curl node-2:30386
Kuten näette, "TERVETULOA NGINX: ään!" sivulle pääsee.
Kuten olet ehkä huomannut, Kubernetes ilmoittaa, että minulla ei ole aktiivista julkista IP-rekisteröintiä tai pikemminkin ei ULKOINEN-IP-rekisteröintiä.
# kubectl get svc
Tarkistetaan, onko se totta, että minulla ei ole ULKOISIA IP-osoitteita liitettyinä käyttöliittymiini IP-komennolla.
# ip a
Ei julkista IP-osoitetta, kuten näet.
Kuten aiemmin mainitsin, suoritan tällä hetkellä tätä käyttöönottoa virtuaalikoneessa, jonka tarjoaa julkinen pilvipalveluntarjoaja. Joten vaikka julkiselle IP: lle ei ole määritetty mitään erityistä käyttöliittymää, virtuaalikoneiden tarjoaja on antanut lyhyen ulkoisen IP-osoitteen.
Välitön ulkoinen IP-osoite on väliaikainen IP-osoite, joka pysyy liitettynä virtuaalikoneeseen, kunnes virtuaalinen esiintymä pysäytetään. Kun virtuaalinen ilmentymä käynnistetään uudelleen, määritetään uusi ulkoinen IP. Pohjimmiltaan, se on yksinkertainen tapa palveluntarjoajille hyödyntää käyttämättömiä julkisia IP-osoitteita.
Tässä haasteena on se, että julkinen IP-osoitteesi ei ole staattinen, että Ephemeral Public IP on yksinkertaisesti yksityisen IP: n laajennus (tai välityspalvelin), ja tästä syystä palvelua käytetään vain portissa 30386. Tämä tarkoittaa, että palvelua käytetään URL-osoitteella
, joka on 104.197.170.99:30386, ja jos tarkistat selaimesi, sinun pitäisi pystyä näkemään tervetulosivu.
Sen avulla olemme ottaneet NGINXin onnistuneesti käyttöön 3-solmun Kubernetes-klusterissamme.