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:
- 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.
- 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.
- 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.
- 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.