Bu eğitici, web uygulamanızı statik bir harici IP adresi üzerinden internete açmak ve uygulamanıza işaret edecek bir alan adı yapılandırmak için Google Kubernetes Engine'i (GKE) nasıl kullanacağınızı gösterir. Bu eğitimde, aşağıdaki gibi kayıtlı bir alan adına sahip olduğunuz varsayılmaktadır: example.com Google aracılığıyla bir alan adı kaydedebilirsiniz Alan adlarınız veya başka bir alan adı kayıt kuruluşu eğer yoksa seçim ## Hedefler Bu eğitimde aşağıdaki adımlar gösterilmektedir: ## Maliyetler Bu eğitimde Google Cloud'un aşağıdaki faturalandırılabilir bileşenleri kullanılır: Tahmini kullanımınıza dayalı bir maliyet tahmini oluşturmak için, Fiyat hesaplayıcıyı kullanın Bu öğreticiyi tamamladığınızda, oluşturduğunuz kaynakları silerek faturalandırmanın devam etmesini önleyebilirsiniz. Daha fazla bilgi için bkz. Temizleme ## Başlamadan önceKubernetes Engine API'sini etkinleştirmek için aşağıdaki adımları izleyin: - Google Cloud konsolundaki Kubernetes Engine sayfasını ziyaret edin - Bir proje oluşturun veya seçin - API'nin ve ilgili hizmetlerin etkinleştirilmesini bekleyin. Bu birkaç dakika sürebilir - Bulut projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını nasıl kontrol edeceğinizi öğrenin Bu öğreticide kullanılan aşağıdaki komut satırı araçlarını yükleyin: - Kubernetes Engine kümelerini oluşturmak ve silmek için kullanılan gcloudis gcloudis dahil gcloudCLI - kubectlis, Kubernetes Engine tarafından kullanılan küme düzenleme sistemi olan Kubernetes'i yönetmek için kullanılır. Yükleyebilirsiniz Kubectlusing : gcloud bileşenleri kubectl'i yükler Örnek kodu GitHub'dan kopyalayın: git klonu httpsgithub.com/GoogleCloudPlatform/kubernetes-engine-samples cd kubernetes-engine-samples/hello-app/manifests için varsayılanları ayarlayın Proje kimliğinizi yazarken zaman kazanmak için ve Compute Engine bölgesi seçenekleri gcloud komut satırı aracı gcloudcommand-line aracını kullanarak varsayılanları ayarlayabilirsiniz: gcloud yapılandırma seti projesi project-idgcloud yapılandırması bilgi işlem/bölge bilgi işlem bölgesini ayarla Bir küme oluşturun Adlı bir kapsayıcı kümesi oluşturun web uygulamanızı dağıtmak için etki alanı testi: gcloud konteyner kümeleri alan testi oluşturuyor ## Web uygulamanızı dağıtma Aşağıdaki bildirimde, örnek bir web uygulaması kapsayıcı görüntüsünü çalıştıran bir Dağıtım açıklanmaktadır: # Telif Hakkı 2021 Google LLC # # Apache Lisansı, Sürüm 2.0 ("Lisans # bu dosyayı Lisansa uygun olmadıkça kullanamazsınız. # Lisansın bir kopyasını # # httpwww.apache.org adresinden edinebilirsiniz. /licenses/LICENSE-2.0 # # # Yürürlükteki yasa gerektirmedikçe veya yazılı olarak kararlaştırılmadıkça, Lisans kapsamında dağıtılan yazılım # "OLDUĞU GİBİ"ESASINDA, # AÇIK VEYA ZIMNİ HERHANGİ BİR GARANTİ VEYA KOŞUL OLMAKSIZIN # dağıtılır. Lisans kapsamında izinleri ve # sınırlamaları yöneten belirli dil için Lisansa bakın. etiketler: uygulama: merhaba katman: web özelliği: kapsayıcılar: - ad: merhaba-uygulama görüntüsü: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 bağlantı noktaları: - containerPort: 8080 kaynaklar: istekler : işlemci: 200m Dağıtımı oluşturmak için aşağıdaki komutu çalıştırın: kubectl uygula -f merhabaweb-deployment.yaml ## Uygulamanızı ifşa etme Aşağıdaki yöntemlerden birini kullanarak uygulamanızı GKE'de kullanıma sunabilirsiniz: Bölgesel IP adresleriyle çalışan bir TCP Ağ Yük Dengeleyici oluşturan bir Hizmet kullanın. HTTP(S) Yük Dengeleyici oluşturan ve genel IP adreslerini destekleyen bir Giriş kullanın Her yöntemin artıları ve eksileri hakkında daha fazla bilgi edinmek için Giriş ile HTTP(S) Yük Dengelemeyi Ayarlama bölümüne bakın. Bir Hizmet Kullanın Uygulamanızın statik bir genel IP adresine sahip olduğundan emin olmak için statik bir IP adresi ayırmanız gerekir. Uygulamanızı bir Hizmet kullanarak ifşa etmeyi seçerseniz, bölgesel bir IP adresi oluşturmanız gerekir. Genel IP adresleri, bir sonraki bölümde açıklandığı gibi yalnızca Giriş kaynak türüyle çalışır Bir Hizmeti kullanmak için, adında statik bir IP adresi oluşturun. merhabaweb-ip içinde bölge us-merkezi1: bulut gcloud bilgi işlem adresleri, helloweb-ip --region us-central1 oluşturur Oluşturduğunuz statik IP adresini bulmak için aşağıdaki komutu çalıştırın: gcloud bilgi işlem adresleri, helloweb-ip --region us-central1Output'u tanımlar: adres: 203.0.113.32 .. Yapılandırma Bağlayıcısı **Not Bu adım şunları gerektirir: Yapılandırma Bağlayıcısı. Takip et Kurulum Talimatları Config Connector'ı kümenize yüklemek için apiVersion: compute.cnrm.cloud.google.com/v1beta1 tür: ComputeAddress meta verileri: ad: merhabaweb-ip özelliği: konum: us-central1 kubectl Apply -f compute-address-regional.yamlStatik IP adresini bulmak için aşağıdaki komutu çalıştırın: kubectl hesaplama adresini al merhabaweb-ip -o jsonpathspec.address}'Aşağıdaki bildirim, genel bir IP'ye sahip Kapsülleri ortaya çıkarmak için bir ağ yük dengeleyici oluşturan LoadBalancer türünde bir Hizmeti açıklamaktadır. Yer değiştirmek Statik IP adresi ile `YOUR.IP.ADDRESS.HERE`: # Telif Hakkı 2021 Google LLC # # Apache Lisansı, Sürüm 2.0 ("Lisans # bu dosyayı Lisansa uygun olmadıkça kullanamazsınız. # Lisansın bir kopyasını # # httpwww.apache.org adresinden edinebilirsiniz. /licenses/LICENSE-2.0 # # # Yürürlükteki yasa gerektirmedikçe veya yazılı olarak kararlaştırılmadıkça, Lisans kapsamında dağıtılan yazılım # "OLDUĞU GİBİ"ESASINDA, # AÇIK VEYA ZIMNİ HERHANGİ BİR GARANTİ VEYA KOŞUL OLMAKSIZIN # dağıtılır. Lisans kapsamında izinleri ve # sınırlamaları yöneten belirli dil için Lisansa bakın. 8080 türü: LoadBalancer loadBalancerIP: "YOUR.IP.ADDRESS.HERE"Ardından, Hizmeti oluşturun: kubectl Apply -f helloweb-service-static-ip.yaml Yük dengeleyici ile ilişkili ayrılmış IP adresini görmek için: kubectl hizmet çıktısını alır: NAME CLUSTER-IP HARİCİ-IP PORT(LAR) YAŞ helloweb 10.31.254.176 203.0.113.32 80:30690/TCP 54s Bir Giriş Kullanın Uygulamanızı bir HTTP(S) Yük Dengeleyici oluşturan bir Giriş kullanarak kullanıma sunmayı seçerseniz, genel bir statik IP adresi ayırmanız gerekir. Bölgesel IP adresleri Ingress ile çalışmaz Uygulamalarınızı internete sunmak için Ingress'i nasıl kullanacağınız hakkında daha fazla bilgi edinmek için Ingress ile HTTP(S) Yük Dengelemeyi Kurma eğitimine bakın. adında global bir statik IP adresi oluşturmak için merhabaweb-ip: bulut gcloud bilgi işlem adresleri helloweb-ip --global oluşturur Oluşturduğunuz statik IP adresini bulmak için: gcloud bilgi işlem adresleri, helloweb-ip --globalOutput'u tanımlar: adres: 203.0.113.32 .. Yapılandırma Bağlayıcısı **Not Bu adım şunları gerektirir: Yapılandırma Bağlayıcısı. Takip et Kurulum Talimatları Config Connector'ı kümenize yüklemek için apiVersion: compute.cnrm.cloud.google.com/v1beta1 tür: ComputeAddress meta verileri: ad: merhabaweb-ip özelliği: konum: global kubectl Apply -f hesaplama-adresi-global.yaml Aşağıdaki bildirim, iki kaynağa sahip statik bir IP üzerindeki bir web uygulaması olan bir Girişi açıklar: - A servis ile tür:NodePort - Bir Hizmet adı ve statik IP notu ile yapılandırılmış giriş # Telif Hakkı 2021 Google LLC # # Apache Lisansı, Sürüm 2.0 ("Lisans # bu dosyayı Lisansa uygun olmadıkça kullanamazsınız. # Lisansın bir kopyasını # # httpwww.apache.org adresinden edinebilirsiniz. /licenses/LICENSE-2.0 # # # Yürürlükteki yasa gerektirmedikçe veya yazılı olarak kararlaştırılmadıkça, Lisans kapsamında dağıtılan yazılım # "OLDUĞU GİBİ"ESASINDA, # AÇIK VEYA ZIMNİ HERHANGİ BİR GARANTİ VEYA KOŞUL OLMAKSIZIN # dağıtılır. Lisans kapsamında izinleri ve # sınırlamaları yöneten belirli dil için Lisansa bakın. -ip etiketleri: uygulama: merhaba belirtim: varsayılanArka uç: hizmet: ad: merhabaweb arka uç bağlantı noktası: sayı: 8080apiVersion: v1 tür: Hizmet meta verileri: ad: merhabaweb arka uç etiketleri: uygulama: merhaba belirtim: tür: NodePort seçici: uygulama: merhaba katman: web bağlantı noktaları: - bağlantı noktası: 8080 hedef Bağlantı Noktası: 8080 bu kubernetes.io/ingress.global-static-ip-name ek açıklaması, adı belirtir HTTP(S) Yükü ile ilişkilendirilecek genel IP adresi kaynağının Dengeleyici Kaynağı kümeye uygulayın: kubectl Apply -f merhabaweb-giriş-statik-ip.yamlÇıkış: giriş "helloweb"oluşturuldu hizmet "helloweb-backend"oluşturuldu Yük dengeleyici ile ilişkili ayrılmış IP adresini görmek için: kubectl ingressOutput'u alır: NAME HOSTS ADRES PORTLAR YAŞ helloweb * 203.0.113.32 80 4m ## Ayrılmış statik IP adresinizi ziyaret etme Yük dengeleyicinin doğru şekilde yapılandırıldığını doğrulamak için bir IP adresini ziyaret etmek veya kullanmak için web tarayıcısı kıvırmak: curl http203.0.113.32/Çıktı: Selam Dünya! Ana bilgisayar adı: helloweb-3766687455-8lvqv ## Alan adı kayıtlarınızı yapılandırma Alan adınızı sorgulayan tarayıcılara sahip olmak için, örneğin example.com veya alt etki alanı gibi isim blog.example.com, ayırdığınız statik IP adresini işaret edin, alan adınızın DNS (Domain Name Server) kayıtlarını güncellemelisiniz. oluşturmanız gerekir **A** (Adres) alan adınız veya alt alan adınız için DNS kaydı yazın isim ve değeri ayrılmış IP adresi ile yapılandırılmış olmalıdır. Alan adınızın DNS kayıtları, ad sunucunuz tarafından yönetilir. Ad sunucunuz, alanınızı kaydettirdiğiniz "kayıt şirketi", Cloud DNS gibi bir DNS hizmeti veya başka bir üçüncü taraf sağlayıcı olabilir. Ad sunucunuz Bulut DNS ise: Uygulamanızın ayrılmış IP adresiyle alan adınız için DNS A kaydını yapılandırmak üzere Bulut DNS Hızlı Başlangıç ​​kılavuzunu izleyin. Ad sunucunuz başka bir sağlayıcıysa: Etki alanı adınızı yapılandırmak için DNS A kayıtlarının ayarlanmasıyla ilgili DNS hizmetinizin belgelerine bakın. Bunun yerine Bulut DNS kullanmayı seçerseniz, Bulut DNS'ye Geçiş bölümüne bakın. ## Alan adınızı ziyaret etme Alan adınızın DNS A kayıtlarının ayırdığınız IP adresine çözümlendiğini doğrulamak için alan adınızı ziyaret edin Alan adınızın A kaydı için bir DNS sorgusu yapmak için, ev sahibi emretmek: host example.comÇıktı: example.com'un 203.0.113.32 adresi vardır Bu noktada web tarayıcınızı alan adınıza yönlendirebilir ve web sitenizi ziyaret edebilirsiniz! ## Temizlemek Bu eğiticide kullanılan kaynaklar için Google Cloud hesabınızdan ücret alınmasını önlemek için, kaynakları içeren projeyi silin veya projeyi koruyarak kaynakları tek tek silin Yük dengeleme kaynaklarını silin: kubectl girişi sil, hizmet -l uygulaması=merhaba Ayrılmış statik IP'yi serbest bırakın.Yük dengeleyici silindikten sonra, kullanılmayan ancak ayrılmış IP adresi artık ücretsiz değildir ve kullanılmayan IP adresi başına ücretlendirilir. Statik IP kaynağını serbest bırakmak için aşağıdaki komutları çalıştırın: Bir Hizmet kullandıysanız: gcloud bilgi işlem adresleri, helloweb-ip --region us-central1'i siler Giriş kullandıysanız: gcloud bilgi işlem adresleri helloweb-ip --global'ı siler - Örnek uygulamayı silin: kubectl silme -f merhabaweb-deployment.yaml Aşağıdaki komutun çıktısını izleyerek yük dengeleyici silinene kadar bekleyin. Çıktı, adında "helloweb"içeren bir yönlendirme kuralı göstermemelidir: gcloud bilgi işlem iletme kuralları listesi Kapsayıcı kümesini silin: gcloud konteyner kümeleri etki alanı testini siler ## Sıradaki ne Google Domains aracılığıyla kendi alan adınızı kaydedin Diğer Kubernetes Engine eğitimlerini keşfedin Google Cloud ile ilgili referans mimarileri, diyagramları, eğiticileri ve en iyi uygulamaları keşfedin. Bulut Mimarisi Merkezimize bir göz atın.