Tutorial iki nduduhake carane nggunakake Google Kubernetes Engine (GKE) kanggo mbukak aplikasi web sampeyan menyang internet ing alamat IP eksternal statis lan ngatur jeneng domain kanggo ngarahake menyang aplikasi sampeyan. Tutorial iki nganggep sampeyan duwe jeneng domain sing wis kadhaptar, kayata contone.com Sampeyan bisa ndhaptar jeneng domain liwat Google Domain utawa registrar domain liyane sampeyan pilihan yen sampeyan ora duwe ## Tujuan Tutorial iki nuduhake langkah-langkah ing ngisor iki: ## Biaya Tutorial iki nggunakake komponen Google Cloud sing bisa ditagih ing ngisor iki: Kanggo nggawe prakiraan biaya adhedhasar proyeksi panggunaan sampeyan, nggunakake kalkulator rega Yen wis rampung tutorial iki, sampeyan bisa ngindhari tagihan terus kanthi mbusak sumber daya sing digawe. Kanggo informasi luwih lengkap, waca Ngresiki ## Sadurunge miwiti, tindakake langkah ing ngisor iki kanggo ngaktifake API Kubernetes Engine: - Bukak kaca Kubernetes Engine ing konsol Google Cloud - Gawe utawa pilih proyek - Enteni API lan layanan sing gegandhengan diaktifake. Iki bisa njupuk sawetara menit - Priksa manawa tagihan diaktifake kanggo proyek Cloud sampeyan. Sinau carane mriksa yen tagihan diaktifake ing proyek Instal alat baris perintah ing ngisor iki sing digunakake ing tutorial iki: - gcloudis digunakake kanggo nggawe lan mbusak klompok Kubernetes Engine gcloudis kalebu ing gcloudCLI - kubectlis digunakake kanggo ngatur Kubernetes, sistem orkestrasi kluster digunakake dening Kubernetes Engine. Sampeyan bisa nginstal kubectlusing gcloud: komponen gcloud nginstal kubectl Kloning kode sampel saka GitHub: git clone httpsgithub.com/GoogleCloudPlatform/kubernetes-engine-samples cd kubernetes-engine-samples/hello-app/manifests Setel standar kanggo Kanggo ngirit wektu ngetik ID proyek sampeyan lan opsi zona Compute Engine ing alat baris perintah gcloud gcloudcommand-line tool, sampeyan bisa nyetel standar: gcloud config nyetel proyek project-idgcloud config nyetel compute/zone compute-zone Nggawe kluster Nggawe kluster wadhah jenenge domain-test kanggo masang aplikasi web sampeyan: kluster wadhah gcloud nggawe tes domain ## Masang aplikasi web sampeyan Manifes ing ngisor iki nggambarake Deployment sing mbukak conto gambar wadah aplikasi web: # Hak Cipta 2021 Google LLC # # Dilisensi miturut Lisensi Apache, Versi 2.0 ("Lisensi # sampeyan ora bisa nggunakake file iki kajaba tundhuk karo Lisensi. # Sampeyan bisa entuk salinan Lisensi ing # # httpwww.apache.org /licenses/LICENSE-2.0 # # Kajaba diwajibake dening hukum sing ditrapake utawa disetujoni kanthi nulis, piranti lunak # sing disebarake miturut Lisensi didistribusikake kanthi "AS IS", # TANPA JAMINAN UTAWA KONDISI APA PUN, kanthi nyata utawa diwenehake. # Deleng Lisensi kanggo basa tartamtu sing ngatur idin lan # watesan ing Lisensi. apiVersion: apps/v1 kind: Metadata penyebaran: jeneng: label helloweb: app: hello spec: selector: matchLabels: app: hello tier: web template: metadata: label: app: hello tier: web spec: wadhah: - jeneng: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 ports: - containerPort: 8080 resources: requests : cpu: 200m Jalanake printah ing ngisor iki kanggo nggawe Deployment: kubectl aplikasi -f helloweb-deployment.yaml ## Mbukak aplikasi sampeyan Sampeyan bisa mbukak aplikasi sampeyan ing GKE nggunakake salah siji saka cara ing ngisor iki: Gunakake Layanan, sing nggawe TCP Network Load Balancer sing bisa digunakake karo alamat IP regional. Gunakake Ingress, sing nggawe HTTP(S) Load Balancer lan ndhukung alamat IP global Kanggo mangerteni sing luwih lengkap babagan pro lan kontra saka saben cara, waca Nggawe HTTP(S) Load Balancing karo Ingress Gunakake Layanan Kanggo mesthekake yen aplikasi sampeyan duwe alamat IP umum statis, sampeyan kudu nyimpen alamat IP statis Yen sampeyan milih mbukak aplikasi nggunakake Layanan, sampeyan kudu nggawe alamat IP regional. Alamat IP global mung bisa digunakake karo jinis sumber daya Ingress, kaya sing diterangake ing bagean sabanjure Kanggo nggunakake Layanan, gawe alamat IP statis jenenge helloweb-ip ing wilayah us-pusat 1: gcloud alamat komputasi gcloud nggawe helloweb-ip --region us-central1 Kanggo nemokake alamat IP statis sing digawe, jalanake printah ing ngisor iki: alamat komputasi gcloud nggambarake helloweb-ip --region us-central1Output: alamat: 203.0.113.32 .. Konektor Konfigurasi ** Wigati Langkah iki mbutuhake Konektor Konfigurasi. Tindakake instruksi instalasi kanggo nginstal Config Connector ing kluster sampeyan apiVersion: compute.cnrm.cloud.google.com/v1beta1 jenis: ComputeAddress metadata: jeneng: helloweb-ip spec: lokasi: us-central1 kubectl apply -f compute-address-regional.yamlKanggo nemokake alamat IP statis, jalanake printah ing ngisor iki: kubectl njaluk computeaddress helloweb-ip -o jsonpathspec.address}'Manifest ing ngisor iki nggambarake Layanan saka jinis LoadBalancer, sing nggawe penyeimbang beban jaringan kanggo mbukak Pod kanthi IP umum Ganti `YOUR.IP.ADDRESS.HERE` kanthi alamat IP statis: # Hak Cipta 2021 Google LLC # # Dilisensi miturut Lisensi Apache, Versi 2.0 ("Lisensi # sampeyan ora bisa nggunakake file iki kajaba tundhuk karo Lisensi. # Sampeyan bisa entuk salinan Lisensi ing # # httpwww.apache.org /licenses/LICENSE-2.0 # # Kajaba diwajibake dening hukum sing ditrapake utawa disetujoni kanthi nulis, piranti lunak # sing disebarake miturut Lisensi didistribusikake kanthi "AS IS", # TANPA JAMINAN UTAWA KONDISI APA PUN, kanthi nyata utawa diwenehake. # Deleng Lisensi kanggo basa tartamtu sing ngatur ijin lan # watesan ing Lisensi apiVersion: v1 jenis: Metadata layanan: jeneng: label helloweb: app: hello spec: pamilih: app: hello tier: port web: - port: 80 targetPort: Tipe 8080: LoadBalancer loadBalancerIP: "ANDA.IP.ADDRESS.HERE"Banjur, gawe Service: kubectl aplikasi -f helloweb-service-static-ip.yaml Kanggo ndeleng alamat IP sing dilindhungi sing digandhengake karo load balancer: kubectl njaluk serviceOutput: NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloweb 10.31.254.176 203.0.113.32 80:30690/TCP 54s Gunakake Ingress Yen sampeyan milih mbukak aplikasi nggunakake Ingress, sing nggawe HTTP(S) Load Balancer, sampeyan kudu nyimpen alamat IP statis global. Alamat IP regional ora bisa digunakake karo Ingress Kanggo mangerteni sing luwih lengkap babagan carane nggunakake Ingress kanggo mbukak aplikasi sampeyan menyang internet, waca Tutorial Nyiyapake HTTP(S) Load Balancing karo Ingress. Kanggo nggawe alamat IP statis global jenenge helloweb-ip: gcloud alamat komputasi gcloud nggawe helloweb-ip --global Kanggo nemokake alamat IP statis sing digawe: alamat komputasi gcloud nggambarake helloweb-ip --globalOutput: alamat: 203.0.113.32 .. Konektor Konfigurasi ** Wigati Langkah iki mbutuhake Konektor Konfigurasi. Tindakake instruksi instalasi kanggo nginstal Config Connector ing kluster sampeyan apiVersion: compute.cnrm.cloud.google.com/v1beta1 jenis: ComputeAddress metadata: jeneng: helloweb-ip spec: lokasi: global kubectl aplikasi -f compute-address-global.yaml Manifest ing ngisor iki nggambarake Ingress yaiku aplikasi web ing IP statis kanthi rong sumber: - A Layanan karo jinis: NodePort - Lan Ingressconfigured kanthi jeneng layanan lan anotasi IP statis # Hak Cipta 2021 Google LLC # # Dilisensi miturut Lisensi Apache, Versi 2.0 ("Lisensi # sampeyan ora bisa nggunakake file iki kajaba tundhuk karo Lisensi. # Sampeyan bisa entuk salinan Lisensi ing # # httpwww.apache.org /licenses/LICENSE-2.0 # # Kajaba diwajibake dening hukum sing ditrapake utawa disetujoni kanthi nulis, piranti lunak # sing disebarake miturut Lisensi didistribusikake kanthi "AS IS", # TANPA JAMINAN UTAWA KONDISI APA PUN, kanthi nyata utawa diwenehake. # Deleng Lisensi kanggo basa tartamtu sing ngatur ijin lan # watesan ing Lisensi. apiVersion: networking.k8s.io/v1 jenis: Ingress metadata: jeneng: helloweb anotasi: kubernetes.io/ingress.global-static-ip-name: helloweb -ip label: app: hello spec: defaultBackend: service: name: helloweb-backend port: nomer: 8080apiVersion: v1 jenis: Service metadata: jeneng: helloweb-backend labels: app: hello spec: jinis: NodePort selector: app: hello tier: port web: - port: 8080 targetPort: 8080 Ing kubernetes.io/ingress.global-static-ip-name anotasi nemtokake jeneng saka sumber alamat IP global sing bakal digandhengake karo HTTP(S) Load Balancer Gunakake sumber daya menyang kluster: kubectl aplikasi -f helloweb-ingress-static-ip.yamlOutput: ingress "helloweb"digawe layanan "helloweb-backend"digawe Kanggo ndeleng alamat IP cadangan sing digandhengake karo load balancer: kubectl njaluk ingressOutput: NAMA Host ALAMAT PORTS AGE helloweb * 203.0.113.32 80 4m ## Ngunjungi alamat IP statis sing dilindhungi Kanggo verifikasi manawa load balancer wis diatur kanthi bener, sampeyan bisa nggunakake a browser web kanggo ngunjungi alamat IP utawa nggunakake nggulung: curl http203.0.113.32/Output: Hello, donya! Jeneng Host: helloweb-3766687455-8lvqv ## Konfigurasi cathetan jeneng domain Kanggo duwe browser takon jeneng domain, kayata conto. com, utawa subdomain jeneng, kayata blog.example.com, arahake menyang alamat IP statis sing sampeyan reserved, sampeyan kudu nganyari cathetan DNS (Domain Name Server) saka jeneng domain Sampeyan kudu nggawe a **A** (Alamat) ketik rekaman DNS kanggo domain utawa subdomain sampeyan jeneng lan duwe nilai diatur karo alamat IP sing dilindhungi undhang-undhang Cathetan DNS domain sampeyan dikelola dening nameserver sampeyan. Nameserver sampeyan bisa dadi "registrar"ing ngendi sampeyan ndhaptar domain, layanan DNS kayata Cloud DNS, utawa panyedhiya pihak katelu liyane Yen nameserver sampeyan Cloud DNS: Tindakake Cloud DNS Pandhuan Quickstart kanggo ngatur DNS A rekaman kanggo jeneng domain sampeyan karo alamat IP sing dilindhungi saka aplikasi sampeyan. Yen nameserver sampeyan minangka panyedhiya liyane: Deleng dokumentasi layanan DNS sampeyan babagan nyetel cathetan DNS A kanggo ngatur jeneng domain sampeyan. Yen sampeyan milih nggunakake Cloud DNS tinimbang, deleng Migrasi menyang Cloud DNS ## Ngunjungi jeneng domain sampeyan Kanggo verifikasi manawa jeneng domain DNS A cathetan mutusake kanggo alamat IP sing dilindhungi undhang-undhang, bukak jeneng domain Kanggo nggawe pitakon DNS kanggo rekaman A jeneng domain sampeyan, jalanake tuan rumah dhawuh: conto host. comOutput: example.com nduweni alamat 203.0.113.32 Ing jalur iki, sampeyan bisa ngarahake browser web menyang jeneng domain lan ngunjungi situs web sampeyan! ## Ngresiki Supaya ora kena biaya kanggo akun Google Cloud kanggo sumber daya sing digunakake ing tutorial iki, mbusak proyek sing ngemot sumber daya, utawa tetep proyek kasebut lan mbusak sumber daya individu. Mbusak sumber daya imbangan beban: kubectl delete ingress,service -l app=hello Ngeculake IP statis sing dilindhungi undhang-undhang. Sawise load balancer dibusak, alamat IP sing ora digunakake nanging dilindhungi undhang-undhang ora gratis lan ditagih saben rega alamat IP sing ora digunakake. Jalanake perintah ing ngisor iki kanggo ngeculake sumber IP statis: Yen sampeyan nggunakake Layanan: alamat komputasi gcloud mbusak helloweb-ip --region us-central1 Yen sampeyan nggunakake Ingress: alamat komputasi gcloud mbusak helloweb-ip --global - Mbusak conto aplikasi: kubectl mbusak -f helloweb-deployment.yaml Enteni nganti load balancer dibusak kanthi nonton output saka printah ing ngisor iki. Output ngirim ora nuduhake aturan penerusan sing ngemot "helloweb"ing jenenge: daftar aturan penerusan gcloud compute Mbusak kluster wadah: kluster wadhah gcloud mbusak domain-test ## Apa maneh Ndhaptar jeneng domain dhewe liwat Google Domains Jelajahi tutorial Kubernetes Engine liyane Jelajahi arsitektur referensi, diagram, tutorial, lan praktik paling apik babagan Google Cloud. Deleng ing Pusat Arsitektur Cloud kita.