Kubginetes toparynda Nginx-i nädip ýerleşdirmeli


Geçen makalamyzda Kubernetes klasterini nädip gurmalydygyny we işlemelidigini ara alyp maslahatlaşdyk, geliň, NGINX hyzmatyny öz toparymyzda nädip ýerleşdirip boljakdygyny ara alyp maslahatlaşalyň.

Bu ýerleşdirmäni köpçülikleýin bulut üpjün edijisi tarapyndan ýerleşdirilen wirtual maşynda işlederin. Köpçülikleýin bulut hyzmatlarynda bolşy ýaly, köpüsi wirtual maşynlary üçin döwlet we hususy IP shemasyny saklaýarlar.

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

Kubernetes toparynda NGINX ýerleşdirmek

Bu ýerleşdirmäni baş düwünden işlederis.

Klasteriň ýagdaýyny barlamakdan başlalyň. Nhli düwünleriňiz Taýýar ýagdaýda bolmaly.

# kubectl get nodes

NGINX şekilini ulanyp, NGINX ýerleşdirýäris.

# kubectl create deployment nginx --image=nginx

Indi ýerleşdiriş ýagdaýyňyzy görüp bilersiňiz.

# kubectl get deployments

Gurnamaňyz barada has jikme-jik görmek isleseňiz, düşündiriş buýrugyny işledip bilersiňiz. Mysal üçin, ýerleşdirmegiň näçe nusgasynyň işleýändigini kesgitlemek mümkin. Biziň ýagdaýymyzda, 1 ylgawyň göçürmesini görmäge garaşýarys (ýagny 1/1 göçürme).

# kubectl describe deployment nginx

Indi Nginx enjamlaşdyryşyňyz işjeň, NGINX hyzmatyny internetde elýeterli köpçülige açyk IP-e açmak isläp bilersiňiz.

Kubernetes, Kubernetes Hyzmat görnüşleri diýilýän aýratynlyk esasynda hyzmatyňyzy paş edende birnäçe wariant hödürleýär we olar:

  1. ClusterIP - Bu Hyzmat görnüşi, adatça, diňe bir toparyň içinde we mümkin diňe klaster düwünleriniň içinde elýeterli içerki IP-de hyzmaty paş edýär.
  2. NodePort - Toparyňyzyň daşyndaky, belli bir portda (NodePort diýlip atlandyrylýan) klasterdäki her düwünde hyzmatyňyzy açyp görkezmegiň iň esasy warianty. Bu opsiýany gysga wagtda suratlandyrarys.
  3. LoadBalancer - Bu opsiýa, hyzmatyňyza girmek üçin dürli üpjün edijiler tarapyndan hödürlenýän daşarky Load-Balans hyzmatlaryna esaslanýar. Hyzmatyňyz üçin ýokary elýeterlilik hakda pikir edeniňizde, bu has ygtybarly warianty we deslapky girişden has köp aýratynlygy bar.
  4. ExternalName - Bu hyzmat, toparyň daşyndaky hyzmatlara traffigi gönükdirýär. Şeýlelik bilen, hyzmatlar toparyňyzdan ýerleşdirilip bilinjek DNS adyna düzüldi. Munuň proksi ulanmaýandygyny bellemek möhümdir.

Adaty Hyzmat görnüşi ClusterIP.

Biziň ssenariýimizde, NodePort Hyzmat görnüşini ulanmak isleýäris, sebäbi döwlet we hususy IP adresimiz bar we häzirlikçe daşarky ýük balansy gerek däl. Bu hyzmat görnüşi bilen Kubernetes bu hyzmaty 30000+ aralygyndaky portlarda bellär.

# kubectl create service nodeport nginx --tcp=80:80

Hyzmatyň gysgaça mazmunyny we açylan portlary görmek üçin get svc buýrugyny işlediň.

# kubectl get svc

Indi, egri buýrugyny ulanyp, ähli düwünlerde Nginx sahypasynyň elýeterlidigini barlap bilersiňiz.

# curl master-node:30386
# curl node-1:30386
# curl node-2:30386

Görşüňiz ýaly\NGINX-a hoş geldiňiz! sahypasyna baryp bolýar.

Üns beren bolmagyňyz mümkin, Kubernetes meniň işjeň IP-de hasaba alynmandygymy, has dogrusy, Daşarky IP hasaba alynmandygyny habar berýär.

# kubectl get svc

Geliň, hakykatdanam dogrudygyny ýa-da IP buýrugyny ulanyp, interfeýslerimde daşarky IP ýokdugymyzy barlap göreliň.

# ip a

Görşüňiz ýaly köpçülige açyk IP ýok.

Öň bellenip geçilişi ýaly, häzirki wagtda köpçülikleýin bulut üpjün edijisi tarapyndan hödürlenýän Wirtual Maşyn bilen işleýärin. Şeýlelik bilen, köpçülige açyk IP berlen aýratyn interfeýs ýok bolsa-da, VM üpjün ediji Ephemeral daşarky IP adresi berdi.

Efemer daşarky IP adresi, wirtual mysal togtadylýança VM-e birikdirilen wagtlaýyn IP adresi. Wirtual mysal täzeden açylanda täze daşarky IP bellenilýär. Esasan, hyzmat üpjün edijiler üçin boş jemgyýetçilik IP-lerini ulanmagyň ýönekeý usuly.

Bu ýerdäki kynçylyk, köpçülige açyk IP-iňiziň statik däldiginden başga-da, “Ephemeral Public IP” -iň diňe şahsy IP-iň giňeldilmegi (ýa-da proksi) bolmagy we şonuň üçin bu hyzmatyň diňe 30386 portda elýeterli bolmagydyr. Bu, hyzmatyň URL koduna girip boljakdygyny aňladýar, ýagny 104.197.170.99:30386, brauzeriňizi barlasaňyz, hoş geldiňiz sahypasyny görüp bilersiňiz.

Munuň bilen 3 düwünli Kubernetes toparymyzda NGINX-ni üstünlikli ýerleşdirdik.