Lesi sifundo sibonisa indlela yokusebenzisa i-Google Kubernetes Engine (GKE) ukuze uveze isicelo sakho sewebhu ku-inthanethi ekhelini le-IP langaphandle elimile futhi ulungise igama lesizinda ukuze likhombe isicelo sakho. Lesi sifundo sithatha ukuthi ungumnikazi wegama lesizinda elibhalisiwe, njenge example.com Ungabhalisa igama lesizinda nge-Google Izizinda noma omunye umbhali wesizinda sakho ukukhetha uma ungenayo ## Izinjongo Lesi sifundo sibonisa izinyathelo ezilandelayo: ## Izindleko Lesi sifundo sisebenzisa izingxenye ezilandelayo ezikhokhisekayo ze-Google Cloud: Ukuze wenze isilinganiso sezindleko ngokusekelwe ekusebenziseni kwakho okucatshangelwayo, sebenzisa umshini wokubala amanani Uma uqeda lesi sifundo, ungagwema ukuqhubeka nokukhokhisa ngokususa izinsiza ozidalile. Ukuze uthole ukwaziswa okwengeziwe, bheka Hlanza ## Ngaphambi kokuthi uqaleThatha izinyathelo ezilandelayo ukuze unike amandla i-Kubernetes Engine API: - Vakashela ikhasi le-Kubernetes Engine kukhonsoli ye-Google Cloud - Dala noma khetha iphrojekthi - Lindela i-API kanye nezinsizakalo ezihlobene ukuthi zinikwe amandla. Lokhu kungathatha imizuzu embalwa - Qiniseka ukuthi inkokhelo inikwe amandla kuphrojekthi yakho Yefu. Funda ukuthi ungabheka kanjani ukuthi inkokhelo ivuliwe kuphrojekthi Faka amathuluzi omugqa womyalo alandelayo asetshenziswe kulesi sifundo: - I-gcloudis isetshenziselwa ukudala nokususa amaqoqo e-Kubernetes Engine gcloudis ifakiwe ku gcloudCLI - kubectlis esetshenziselwa ukuphatha i-Kubernetes, isistimu ye-cluster orchestration esetshenziswa i-Kubernetes Engine. Ungakwazi ukufaka kubectlusing i-gcloud: izingxenye ze-gcloud faka i-kubectl Hlanganisa ikhodi yesampula evela ku-GitHub: git clone httpsgithub.com/GoogleCloudPlatform/kubernetes-engine-samples cd kubernetes-engine-samples/hello-app/manifests Setha okuzenzakalelayo kwe Ukuze wonge isikhathi ngokuthayipha i-ID yephrojekthi yakho kanye nezinketho zezoni Yenjini Yekhompyutha ku ithuluzi lomugqa womyalo we-gcloud gcloudcommand-line ithuluzi, ungasetha okuzenzakalelayo: gcloud config set project iphrojekthi-idgcloud config set compute/zone compute-zone Dala iqoqo Dala iqoqo leziqukathi eliqanjwe igama isizinda-test ukuze usebenzise uhlelo lwakho lwewebhu: amaqoqo esiqukathi se-gcloud adala ukuhlolwa kwesizinda ## Ithumela isicelo sakho sewebhu I-manifest elandelayo ichaza Ukukhishwa okusebenzisa isampula yesithombe sesiqukathi sohlelo lokusebenza lwewebhu: # I-Copyright 2021 Google LLC # # Ilayisensi ngaphansi kwe-Apache License, Inguqulo 2.0 ("Ilayisensi # akumele usebenzise leli fayela ngaphandle kokuthi uthobela Ilayisensi. # Ungathola ikhophi Yelayisensi ku-# # httpwww.apache.org /license/LICENSE-2.0 # # Ngaphandle kwalapho kudingwa ngumthetho osebenzayo noma kuvunyelwene ngokubhala phansi, isofthiwe # esatshalaliswa ngaphansi kwelayisensi isakazwa “NJENGOBA IFANA”, # NGAPHANDLE KWEZIQINISEKISO NOMA IMIBANDELA YANOMA YILUPHI UHLOBO, kungaba obala noma okushiwo. # Bona Ilayisensi yezimvume eziphethe ulimi oluthile kanye nemikhawulo engu-# ngaphansi Kwelayisensi.apiVersion: apps/v1 uhlobo: Imethadatha yokusebenzisa: igama: amalebula we-helloweb: uhlelo lokusebenza: sawubona spec: isikhethi: matchAmalebula: uhlelo lokusebenza: isiqephu se-hello: isifanekiso sewebhu: imethadatha: amalebula: uhlelo lokusebenza: sawubona isigaba: i-web spec: iziqukathi: - igama: isithombe sohlelo lokusebenza: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 izimbobo: - containerPort: 8080 izinsiza: izicelo : CPU: 200m Qalisa umyalo olandelayo ukuze udale Ukuthunyelwa: kubectl isicelo -f helloweb-deployment.yaml ## Ukuveza isicelo sakho Ungadalula isicelo sakho ku-GKE usebenzisa noma iyiphi kulezi zindlela ezilandelayo: Sebenzisa Isevisi, edala i-TCP Network Load Balancer esebenza namakheli e-IP wesifunda. Sebenzisa i-Ingress, eyenza i-HTTP(S) Load Balancer futhi isekele amakheli e-IP womhlaba wonke Ukuze ufunde kabanzi mayelana nobuhle nobubi bendlela ngayinye, bheka Ukusetha Ukulinganisela Komthwalo we-HTTP(S) nge-Ingress. Sebenzisa Isevisi Ukuqinisekisa ukuthi uhlelo lwakho lokusebenza linekheli lasesizindeni se-inthanethi elimile, kufanele ubeke ikheli le-IP elimile Uma ukhetha ukuveza isicelo sakho usebenzisa Isevisi, kufanele udale ikheli le-IP lesifunda. Amakheli e-IP yomhlaba wonke asebenza kuphela ngohlobo lwensiza ye-Ingress, njengoba kuchazwe esigabeni esilandelayo Ukuze usebenzise Isevisi, dala ikheli le-IP elimile eliqanjwe hellowb-ip ku isifunda us-central1: gcloud gcloud compute ikheli dala helloweb-ip --region us-central1 Ukuthola ikheli le-IP elimile olidalile, sebenzisa umyalo olandelayo: gcloud compute amakheli achaza helloweb-ip --region us-central1Output: ikheli: 203.0.113.32 .. Lungiselela Isixhumi **Qaphela Lesi sinyathelo sidinga Lungiselela Isixhumi. Landela i- imiyalelo yokufaka ukuze ufake i-Config Connector kuqoqo lakho I-apiVersion: compute.cnrm.cloud.google.com/v1beta1 uhlobo: Imethadatha ye-ComputeAddress: igama: i-helloweb-ip spec: indawo: us-central1 kubectl apply -f compute-address-regional.yamlUkuthola ikheli le-IP elimile, sebenzisa umyalo olandelayo: kubectl thola ikheli lekhompyutha helloweb-ip -o jsonpathspec.address}'I-manifest elandelayo ichaza Isevisi yohlobo lwe-LoadBalancer, edala isilinganisi somthwalo wenethiwekhi ukuze sidalule ama-Pods ane-IP yomphakathi. Faka esikhundleni `YOUR.IP.ADDRESS.HERE` enekheli le-IP elimile: # I-Copyright 2021 Google LLC # # Ilayisensi ngaphansi kwe-Apache License, Version 2.0 ("Ilayisensi # awukwazi ukusebenzisa leli fayela ngaphandle kokuthi uthobela Ilayisensi. # Ungathola ikhophi Yelayisensi ku-# # httpwww.apache.org /license/LICENSE-2.0 # # Ngaphandle kwalapho kudingwa ngumthetho osebenzayo noma kuvunyelwene ngokubhala phansi, isofthiwe # esatshalaliswa ngaphansi kwelayisensi isakazwa “NJENGOBA IFANA”, # NGAPHANDLE KWEZIQINISEKISO NOMA IMIBANDELA YANOMA YILUPHI UHLOBO, kungaba obala noma okushiwo. # Bona Ilayisensi yezimvume ezilawula ulimi oluthile kanye nemikhawulo engu-# ngaphansi Kwelayisense. apiVersion: v1 uhlobo: Imethadatha yesevisi: igama: amalebula we-helloweb: uhlelo lokusebenza: sawubona spec: isikhethi: uhlelo lokusebenza: sawubona isigaba: izimbobo zewebhu: - port: 80 targetPort: 8080 uhlobo: LoadBalancer loadBalancerIP: "YOUR.IP.ADDRESS.HERE"Bese, dala Isevisi: kubectl isicelo -f helloweb-service-static-ip.yaml Ukuze ubone ikheli le-IP eligodliwe elihlobene nesilinganisi somthwalo: kubectl uthole isevisiOkuphumayo: IGAMA I-CLUSTER-IP EXTERNAL-IP PORT(IZI-) ubudala helloweb 10.31.254.176 203.0.113.32 80:30690/TCP 54s Sebenzisa i-Ingress Uma ukhetha ukuveza uhlelo lwakho lokusebenza usebenzisa i-Ingress, edala i-HTTP(S) Load Balancer, kufanele ugcine ikheli le-IP elimile lomhlaba jikelele. Amakheli e-IP esifunda awasebenzi nge-Ingress Ukuze ufunde kabanzi mayelana nendlela yokusebenzisa i-Ingress ukuze uveze izinhlelo zakho zokusebenza ku-inthanethi, bheka Isifundo Sokuhlela Ukulinganisa Komthwalo we-HTTP(S) nge-Ingress. Ukuze udale ikheli le-IP elingaguquki lomhlaba eliqanjwe helloweb-ip: gcloud gcloud compute amakheli adala helloweb-ip --global Ukuze uthole ikheli le-IP elimile olidalile: gcloud compute amakheli achaza helloweb-ip --globalOutput: ikheli: 203.0.113.32 .. Lungiselela Isixhumi **Qaphela Lesi sinyathelo sidinga Lungiselela Isixhumi. Landela i- imiyalelo yokufaka ukuze ufake i-Config Connector kuqoqo lakho i-apiVersion: compute.cnrm.cloud.google.com/v1beta1 uhlobo: Imethadatha ye-ComputeAddress: igama: i-helloweb-ip spec: indawo: global kubectl apply -f compute-address-global.yaml I-manifest elandelayo ichaza i-Ingress hard application yewebhu ku-IP emile enezinsiza ezimbili: - A Isevisi nge uhlobo:NodePort -A I-Ingressconfigured negama lesevisi nesichasiselo se-IP esimile # I-Copyright 2021 Google LLC # # Ilayisensi ngaphansi kwe-Apache License, Version 2.0 ("Ilayisensi # awukwazi ukusebenzisa leli fayela ngaphandle kokuthi uthobela Ilayisensi. # Ungathola ikhophi Yelayisensi ku-# # httpwww.apache.org /license/LICENSE-2.0 # # Ngaphandle kwalapho kudingwa ngumthetho osebenzayo noma kuvunyelwene ngokubhala phansi, isofthiwe # esatshalaliswa ngaphansi kwelayisensi isakazwa “NJENGOBA IFANA”, # NGAPHANDLE KWEZIQINISEKISO NOMA IMIBANDELA YANOMA YILUPHI UHLOBO, kungaba obala noma okushiwo. # Bona Ilayisensi yezimvume eziphethe ulimi oluthile kanye nemikhawulo engu-# ngaphansi kweLayisense. apiVersion: networking.k8s.io/v1 uhlobo: Imethadatha yokungena: igama: izichasiselo ze-helloweb: kubernetes.io/ingress.global-static-ip-name: helloweb -ip amalebula: uhlelo lokusebenza: sawubona spec: okuzenzakalelayoUkubuyela emuva: isevisi: igama: imbobo ye-helloweb-backend: inombolo: 8080apiVersion: v1 uhlobo: Imethadatha yesevisi: igama: amalebula we-helloweb-backend: uhlelo lokusebenza: sawubona spec: uhlobo: Isikhethi se-NodePort: uhlelo lokusebenza: sawubona isigaba: izimbobo zewebhu: - port: 8080 targetPort: 8080 I kubernetes.io/ingress.global-static-ip-name isichasiselo sicacisa igama yesisetshenziswa sekheli le-IP yomhlaba wonke esizohlotshaniswa Nomthwalo we-HTTP(S). Ibhalansi Sebenzisa insiza kuqoqo: kubectl apply -f helloweb-ingress-static-ip.yamlOutput: ingress "helloweb"idale insizakalo ethi "helloweb-backend"idaliwe Ukuze ubone ikheli lasesizindeni se-intanethi elihlotshaniswa nesilinganisi somthwalo: kubectl get ingressOkukhiphayo: IGAMA LAMAKHETHI IKHELI AMATHEKO AGE helloweb * 203.0.113.32 80 4m ## Ukuvakashela ikheli lakho le-IP elingashintshi Ukuze uqinisekise ukuthi isilinganisi somthwalo simiswe ngendlela efanele, ungasebenzisa i-a isiphequluli sewebhu ukuvakashela ikheli le-IP noma usebenzise curl: curl http203.0.113.32/Okukhiphayo: Sawubona Mhlaba! Igama lomethuleli: helloweb-3766687455-8lvqv ## Ilungiselela amarekhodi egama lesizinda sakho Ukuze ube neziphequluli ezibuza igama lakho lesizinda, njenge example.com, noma isizinda esingaphansi kwesinye igama, njenge blog.example.com, khomba ekhelini le-IP elimile oligcinile, kufanele ubuyekeze i-DNS (Domain Name Server) amarekhodi egama lakho lesizinda Kufanele udale i **A** (Ikheli) thayipha irekhodi le-DNS lesizinda sakho noma isizinda esingaphansi kwesinye igama futhi inani layo lilungiswe ngekheli le-IP eligodliwe Amarekhodi e-DNS esizinda sakho aphethwe yi-nameserver yakho. I-nameserver yakho ingase ibe "isibhalisi"lapho ubhalise khona isizinda sakho, isevisi ye-DNS efana ne-Cloud DNS, noma omunye umhlinzeki wenkampani yangaphandle. Uma i-nameserver yakho kuyi-Cloud DNS:Landela i-Cloud DNS Quickstart guide ukuze ulungiselele i-DNS Irekhodi legama lesizinda sakho nekheli le-IP eligodliwe lohlelo lwakho lokusebenza. Uma i-nameserver yakho ingomunye umhlinzeki:Bheka emibhalweni yesevisi ye-DNS yakho ekusetheni amarekhodi e-DNS A ukuze ulungiselele igama lakho lesizinda. Uma ukhetha ukusebenzisa i-Cloud DNS esikhundleni salokho, bhekisa kokuthi Ukuthuthela ku-Cloud DNS ## Ukuvakashela igama lesizinda sakho Ukuqinisekisa ukuthi amarekhodi esizinda sakho se-DNS A axazulula ikheli le-IP oligodlile, vakashela igama lakho lesizinda. Ukwenza umbuzo we-DNS wegama lakho lesizinda A irekhodi, uqalise umsingathi umyalo: umsingathi example.comOutput: example.com inekheli elithi 203.0.113.32 Kuleli qophelo, ungakhomba isiphequluli sakho sewebhu egameni lakho lesizinda bese uvakashela iwebhusayithi yakho! ## Hlanza Ukuze ugweme ukungena ezindlekweni ku-akhawunti yakho ye-Google Cloud ngezisetshenziswa ezisetshenziswe kulesi sifundo, susa iphrojekthi equkethe izinsiza, noma gcina iphrojekthi futhi ususe izinsiza ezingazodwana. Susa izinsiza zokulinganisa umthwalo: kubectl delete ingress,service -l app=hello Khipha i-IP emile egodliwe.Ngemva kokuthi isilinganisi somthwalo sesisusiwe, ikheli le-IP elingasetshenzisiwe kodwa eligodliwe alisakhokhiswa futhi likhokhiswa inani lentengo lekheli le-IP elingasetshenzisiwe. Qalisa imiyalo elandelayo ukuze ukhulule insiza ye-IP emile: Uma usebenzise Isevisi: gcloud compute addresses delete helloweb-ip --region us-central1 Uma usebenzise i-Ingress: gcloud compute ikheli susa helloweb-ip --global - Susa isampula yohlelo lokusebenza: kubectl susa -f helloweb-deployment.yaml Linda kuze kususwe isilinganisi somthwalo ngokubuka okukhiphayo komyalo olandelayo. Okukhiphayo akufanele kubonise umthetho wokudlulisela oqukethe "helloweb"egameni layo: Uhlu lwemithetho yokudlulisela phambili ye-gcloud Susa iqoqo lesiqukathi: amaqoqo esiqukathi se-gcloud asusa ukuhlolwa kwesizinda ## Yini elandelayo Bhalisa elakho igama lesizinda ngokusebenzisa Izizinda ze-Google Hlola ezinye izinketho ezise- Kubernetes Engine Hlola izakhiwo eziyisethenjwa, imidwebo, okokufundisa, nemikhuba ehamba phambili mayelana ne-Google Cloud. Bheka i-Cloud Architecture Center yethu.