Kif tuża Nginx fuq Kubernetes Cluster


Fl-aħħar artiklu tagħna, iddiskutejna kif twaqqaf u tħaddem Kubernetes Cluster, ejja niddiskutu kif nistgħu niskjeraw is-servizz NGINX fuq il-cluster tagħna.

Se nmexxi dan l-iskjerament fuq Magna Virtwali Ospitata minn fornitur pubbliku tal-cloud. Kif inhu ma 'ħafna servizzi cloud pubbliċi, ħafna ġeneralment iżommu skema IP pubblika u privata għall-Magni Virtwali tagħhom.

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

L-iskjerament ta' NGINX fuq Kubernetes Cluster

Aħna se nħaddmu dan l-iskjerament mill-master-node.

Ejja nibdew billi niċċekkjaw l-istatus tal-cluster. In-nodi kollha tiegħek għandhom ikunu fi stat LESTI.

# kubectl get nodes

Aħna noħolqu skjerament ta 'NGINX billi tuża l-immaġni NGINX.

# kubectl create deployment nginx --image=nginx

Issa tista' tara l-istat tal-iskjerament tiegħek.

# kubectl get deployments

Jekk tixtieq tara aktar dettall dwar l-iskjerament tiegħek, tista 'tmexxi l-kmand jiddeskrivi. Pereżempju, huwa possibbli li jiġi ddeterminat kemm qed jaħdmu repliki tal-iskjerament. Fil-każ tagħna, nistennew li naraw replika ta '1 taħdem (jiġifieri repliki 1/1).

# kubectl describe deployment nginx

Issa l-iskjerament Nginx tiegħek huwa attiv, tista 'tixtieq tesponi s-servizz NGINX għal IP pubbliku li jista' jintlaħaq fuq l-internet.

Kubernetes joffri diversi għażliet meta tesponi s-servizz tiegħek ibbażat fuq karatteristika msejħa Kubernetes Service-types u huma:

  1. ClusterIP – Dan it-tip ta' Servizz ġeneralment jesponi s-servizz fuq IP intern, li jista' jintlaħaq biss fil-cluster, u possibilment biss fi ħdan il-cluster-nodes.
  2. NodePort – Din hija l-iktar għażla bażika li tesponi s-servizz tiegħek biex ikun aċċessibbli barra mill-cluster tiegħek, fuq port speċifiku (imsejjaħ NodePort) fuq kull node fil-cluster. Aħna ser nuru din l-għażla dalwaqt.
  3. LoadBalancer – Din l-għażla tisfrutta servizzi esterni ta' Load-Balancing offruti minn diversi fornituri biex jippermettu aċċess għas-servizz tiegħek. Din hija għażla aktar affidabbli meta taħseb dwar disponibbiltà għolja għas-servizz tiegħek, u għandha aktar karatteristika lil hinn mill-aċċess default.
  4. ExternalName – Dan is-servizz jidderieġi mill-ġdid it-traffiku lejn servizzi barra mill-cluster. Bħala tali s-servizz huwa għalhekk immappjat għal isem DNS li jista 'jkun ospitat barra mill-cluster tiegħek. Huwa importanti li wieħed jinnota li dan ma jużax proxy.

It-tip ta' Servizz default huwa ClusterIP.

Fix-xenarju tagħna, irridu nużaw it-tip tas-Servizz NodePort għaliex għandna indirizz IP kemm pubbliku kif ukoll privat u m'għandniex bżonn bilanċjar tat-tagħbija esterna għalissa. B'dan it-tip ta 'servizz, Kubernetes se jassenja dan is-servizz fuq portijiet fuq il-medda 30000+.

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

Mexxi l-kmand get svc biex tara sommarju tas-servizz u l-portijiet esposti.

# kubectl get svc

Issa tista 'tivverifika li l-paġna Nginx tista' tintlaħaq fuq in-nodi kollha billi tuża l-kmand tal-curl.

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

Kif tistgħu taraw, il-\MERĦBA GĦAL NGINX! paġna tista' tintlaħaq.

Kif forsi innotajt, Kubernetes jirrapporta li m'għandi l-ebda IP Pubblika attiva rreġistrata, jew aħjar l-ebda IP ESTERNA rreġistrata.

# kubectl get svc

Ejja nivverifikaw jekk hux tassew veru, li m'għandi l-ebda IP ESTERNA mehmuża mal-interfaces tiegħi bl-użu tal-kmand tal-IP.

# ip a

L-ebda IP pubbliku kif tistgħu taraw.

Kif issemma qabel, bħalissa qed inmexxi dan l-iskjerament fuq Magna Virtwali offruta minn fornitur pubbliku tal-cloud. Għalhekk, filwaqt li m'hemm l-ebda interface partikolari assenjat IP pubbliku, il-fornitur tal-VM ħareġ indirizz IP estern Ephemeral.

Indirizz IP estern effimeru huwa indirizz IP temporanju li jibqa' mwaħħal mal-VM sakemm titwaqqaf l-istanza virtwali. Meta l-istanza virtwali terġa' tinbeda, jiġi assenjat IP estern ġdid. Bażikament, huwa mod sempliċi biex il-fornituri tas-servizz jisfruttaw fuq IPs pubbliċi inattivi.

L-isfida hawnhekk, minbarra l-fatt li l-IP pubbliku tiegħek mhuwiex statiku, hija li l-IP Pubbliku Effimeru huwa sempliċement estensjoni (jew prokura) tal-IP Privat, u għal dik ir-raġuni, is-servizz se jkun aċċessat biss fuq il-port 30386. Dan ifisser li s-servizz se jiġi aċċessat fuq il-URL , jiġifieri 104.197.170.99:30386, li jekk tiċċekkja l-browser tiegħek, għandek tkun tista 'tara l-paġna ta' merħba.

B'hekk, skjerajna b'suċċess NGINX fuq il-cluster Kubernetes tagħna bi 3 nodi.