arrow_back

Compute Engine'i Kullanarak Google Cloud'da Web Uygulaması Barındırma

Sign in Join
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Compute Engine'i Kullanarak Google Cloud'da Web Uygulaması Barındırma

Lab 1 hour universal_currency_alt 5 Credits show_chart Intermediate
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP662

Google Cloud Rehbersiz Laboratuvarları

Genel Bakış

Google Cloud'da web sitelerini dağıtmanın birçok yolu vardır ve her çözüm farklı özellikler, beceriler ve kontrol seviyeleri sunar. Compute Engine, web sitesini çalıştırırken kullanılan altyapı üzerinde derin bir kontrol seviyesi sunmakla birlikte, Google Kubernetes Engines (GKE), App Engine veya diğer çözümlere göre biraz daha fazla operasyon yönetimi gerektirir. Compute Engine ile altyapının sanal makineler ve yük dengeleyiciler gibi birçok yönü üzerinde ayrıntılı kontrol sahibi olursunuz. Bu laboratuvarda bir web sitesinin Compute Engine ile nasıl kolayca dağıtılabileceğini ve ölçeklendirilebileceğini göstermek için örnek bir uygulama olan "Fancy Store" e-ticaret web sitesini dağıtacaksınız.

Neler öğreneceksiniz?

Laboratuvarın sonunda web sitemize otomatik iyileştirme, yük dengeleme, otomatik ölçeklendirme ve periyodik güncellemeler sağlamak üzere yönetilen örnek gruplarının içinde örnekleriniz olacaktır.

Ortam Kurulumu

Laboratuvarı Başlat düğmesini tıklamadan önce

Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Laboratuvarı Başlat'ı tıkladığınızda başlayan zamanlayıcı, Google Cloud kaynaklarının ne süreyle kullanımınıza açık durumda kalacağını gösterir.

Bu uygulamalı laboratuvarı kullanarak, laboratuvar etkinliklerini gerçek bir bulut ortamında (Simülasyon veya demo ortamında değil.) gerçekleştirebilirsiniz. Bu olanağın sunulabilmesi için size yeni, geçici kimlik bilgileri verilir. Bu kimlik bilgilerini laboratuvar süresince Google Cloud'da oturum açmak ve Google Cloud'a erişmek için kullanırsınız.

Bu laboratuvarı tamamlamak için şunlar gerekir:

  • Standart bir internet tarayıcısına erişim (Chrome Tarayıcı önerilir).
Not: Bu laboratuvarı çalıştırmak için tarayıcıyı gizli pencerede açın. Aksi takdirde, kişisel hesabınızla öğrenci hesabınız arasında oluşabilecek çakışmalar nedeniyle kişisel hesabınızdan ek ücret alınabilir.
  • Laboratuvarı tamamlamak için yeterli süre. (Laboratuvarlar, başlatıldıktan sonra duraklatılamaz)
Not: Kişisel bir Google Cloud hesabınız veya projeniz varsa bu laboratuvarda kullanmayın. Aksi takdirde hesabınızdan ek ücret alınabilir.

Laboratuvarınızı başlatma ve Google Cloud Console'da oturum açma

  1. Laboratuvarı Başlat düğmesini tıklayın. Laboratuvar için ödeme yapmanız gerekiyorsa ödeme yöntemini seçebileceğiniz bir pop-up açılır. Soldaki Laboratuvar Ayrıntıları panelinde şunlar yer alır:

    • Google Console'u Aç düğmesi
    • Kalan süre
    • Bu laboratuvarda kullanmanız gereken geçici kimlik bilgileri
    • Bu laboratuvarda ilerlemek için gerekebilecek diğer bilgiler
  2. Google Console'u Aç'ı tıklayın. Laboratuvar, kaynakları çalıştırır ve sonra Oturum aç sayfasını gösteren başka bir sekme açar.

    İpucu: Sekmeleri ayrı pencerelerde, yan yana açın.

    Not: Hesap seçin iletişim kutusunu görürseniz Başka Bir Hesap Kullan'ı tıklayın.
  3. Gerekirse Laboratuvar Ayrıntıları panelinden Kullanıcı adı'nı kopyalayın ve Oturum aç iletişim kutusuna yapıştırın. Sonraki'ni tıklayın.

  4. Laboratuvar Ayrıntıları panelinden Şifre'yi kopyalayın ve Hoş geldiniz iletişim penceresine yapıştırın. Sonraki'ni tıklayın.

    Önemli: Sol paneldeki kimlik bilgilerini kullanmanız gerekir. Google Cloud Öğrenim Merkezi kimlik bilgilerinizi kullanmayın. Not: Bu laboratuvarda kendi Google Cloud hesabınızı kullanabilmek için ek ücret ödemeniz gerekebilir.
  5. Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:

    • Şartları ve koşulları kabul edin.
    • Geçici bir hesap kullandığınızdan kurtarma seçenekleri veya iki faktörlü kimlik doğrulama eklemeyin.
    • Ücretsiz denemelere kaydolmayın.

Birkaç saniye sonra Cloud Console bu sekmede açılır.

Not: Soldaki Gezinme menüsü'nü tıklayarak Google Cloud ürün ve hizmetlerinin listelendiği menüyü görüntüleyebilirsiniz. Gezinme menüsü simgesi

Cloud Shell'i etkinleştirme

Cloud Shell, çok sayıda geliştirme aracı içeren bir sanal makinedir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Cloud Shell, Google Cloud kaynaklarınıza komut satırı erişimi sağlar.

  1. Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir Cloud Shell'i etkinleştir simgesi simgesini tıklayın.

Bağlandığınızda, kimliğiniz doğrulanmış olur. Proje ise PROJECT_ID'nize göre ayarlanmıştır. Çıkış, bu oturum için PROJECT_ID'yi tanımlayan bir satır içerir:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud, Google Cloud'un komut satırı aracıdır. Cloud Shell'e önceden yüklenmiştir ve sekmeyle tamamlamayı destekler.

  1. (İsteğe bağlı) Etkin hesap adını şu komutla listeleyebilirsiniz:
gcloud auth list
  1. Yetkilendir'i tıklayın.

  2. Çıkışınız aşağıdaki gibi görünecektir:

Çıkış:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (İsteğe bağlı) Proje kimliğini şu komutla listeleyebilirsiniz:
gcloud config list project

Çıkış:

[core] project = <project_ID>

Örnek çıkış:

[core] project = qwiklabs-gcp-44776a13dea667a6 Not: gcloud ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'ya genel bakış rehberinde bulabilirsiniz.

Varsayılan alt bölgeyi ve proje yapılandırmasını ayarlayın:

gcloud config set compute/zone us-central1-f

Bölgeler ve Alt Bölgeler dokümanında daha fazla bilgi edinebilirsiniz.

Compute Engine API'yi etkinleştirme

Ardından Compute Engine API'yi etkinleştirin. Compute Engine API'yi etkinleştirmek için aşağıdaki komutu yürütün:

gcloud services enable compute.googleapis.com

GCS paketi oluşturma

Hem derleme kodunuzu hem de başlangıç komut dosyalarınızı barındırmak için bir Google Cloud Storage paketi kullanacaksınız.

Yeni bir GCS paketi oluşturmak için Cloud Shell'in içinden aşağıdakini yürütün:

gsutil mb gs://fancy-store-$DEVSHELL_PROJECT_ID

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. GCS paketi oluşturma

Kaynak depoyu klonlama

Web sitenizin temeli olarak monolith-to-microservices deposuna dayanan mevcut Fancy Store e-ticaret web sitesini kullanacaksınız. Compute Engine'e dağıtmanın ilişkili programlarına odaklanabilmek için kaynak kodunu klonlayacaksınız. Bu laboratuvarın devamında, Compute Engine üzerinde güncelleme işleminin ne kadar basit olduğunu görmek için kodda küçük bir güncelleme yapacaksınız.

git clone https://github.com/googlecodelabs/monolith-to-microservices.git
cd ~/monolith-to-microservices

Uygulamanın yerel olarak çalıştırılmasını sağlamak için kodun ilk derlemesini çalıştırın:

./setup.sh

Bu komut dosyasının tamamlanması birkaç dakika sürer.

Tamamlandıktan sonra aşağıdakini çalıştırarak uygulamayı test edin, microservices dizinine geçin ve web sunucusunu başlatın:

cd microservices
npm start

Aşağıdaki çıkışı görüyor olmalısınız:

Products microservice listening on port 8082!
Frontend microservice listening on port 8080!
Orders microservice listening on port 8081!

Web önizleme simgesini tıklayıp ardından Bağlantı noktası 8080'de önizle'yi seçerek uygulamanızı önizleyin.

6634c06dd0b9172c.png

Yeni bir pencere açılır ve Fancy Store'un ön ucunu iş başında görebilirsiniz.

f075aec979aaffc8.png

Web sitesini görüntüledikten sonra bu pencereyi kapatabilirsiniz ve web sunucusu işlemini durdurmak için terminal penceresinde CTRL+C tuşlarına basın.

GCE örnekleri oluşturma

Artık bazı Compute Engine örneklerini dağıtmaya başlamanın zamanı geldi!

Aşağıdaki adımlarla şunları yapacaksınız:

  1. Örnekleri yapılandırmak için bir başlangıç komut dosyası oluşturma.

  2. Kaynak kodunu klonlama ve Google Cloud Storage'a yükleme.

  3. Arka uç mikro hizmetlerini barındırmak için bir Compute Engine örneği dağıtma.

  4. Arka uç mikro hizmetler örneğini kullanmak için ön uç kodunu yeniden yapılandırma.

  5. Ön uç mikro hizmetini barındırmak için bir Compute Engine örneği dağıtma.

  6. Ağı iletişime olanak tanıyacak şekilde yapılandırma.

Başlangıç Komut Dosyası Oluşturma

Başlangıç komut dosyası, örneğe her başlatıldığında ne yapılacağına ilişkin talimatları vermek için kullanılır. Bu yolla örnekler otomatik olarak yapılandırılır.

Cloud Shell şeridinde kalem simgesini tıklayarak Kod Düzenleyici'yi açın.

cf0147b6cdd21baa.png

monolith-to-microservices klasörüne gidin.

Dosya > Yeni Dosya'yı tıklayın ve startup-script.sh adlı bir dosya oluşturun.

439553c934139b82.png

Aşağıdaki kodu dosyaya ekleyin. Eklendikten sonra kodun bir bölümünü düzenleyeceksiniz:

#!/bin/bash


# Günlük kaydı izleyiciyi yükleyin. İzleyici syslog'a gönderilen günlükleri otomatik olarak
# alacaktır.
curl -s "https://storage.googleapis.com/signals-agents/logging/google-fluentd-install.sh" | bash
service google-fluentd restart &

# apt'den bağımlıları yükleyin
apt-get update
apt-get install -yq ca-certificates git build-essential supervisor psmisc

# nodejs'yi yükleyin
mkdir /opt/nodejs
curl https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.gz | tar xvzf - -C /opt/nodejs --strip-components=1
ln -s /opt/nodejs/bin/node /usr/bin/node
ln -s /opt/nodejs/bin/npm /usr/bin/npm

# Google Cloud Storage paketinden uygulama kaynak kodunu alın.
mkdir /fancy-store
gsutil -m cp -r gs://fancy-store-[DEVSHELL_PROJECT_ID]/monolith-to-microservices/microservices/* /fancy-store/

# Uygulama bağımlılarını yükleyin.
cd /fancy-store/
npm install

# Bir nodeapp kullanıcısı oluşturun. Uygulama bu kullanıcıyla çalıştırılacaktır.
useradd -m -d /home/nodeapp nodeapp
chown -R nodeapp:nodeapp /opt/app

# Düğüm uygulamasını çalıştırmak için süpervizörü yapılandırın.
cat >/etc/supervisor/conf.d/node-app.conf << EOF
[program:nodeapp]
directory=/fancy-store
command=npm start
autostart=true
autorestart=true
user=nodeapp
environment=HOME="/home/nodeapp",USER="nodeapp",NODE_ENV="production"
stdout_logfile=syslog
stderr_logfile=syslog
EOF

supervisorctl reread
supervisorctl update

Dosyada [DEVSHELL_PROJECT_ID] ifadesini bulun ve aşağıdaki komutun çıkışıyla değiştirin:

echo $DEVSHELL_PROJECT_ID

Örnek çıkış:

qwiklabs-gcp-123456789xyz

startup-script.sh içindeki kod satırı şimdi aşağıdakine benzer olmalıdır:

gs://fancy-store-qwiklabs-gcp-123456789xyz/monolith-to-microservices/microservices/* /fancy-store/

Dosyayı kaydedin, sonra da kapatın.

Cloud Shell Kod Düzenleyici: "Satır Sonu Dizisi" "CRLF" değil "LF" olarak ayarlanmalıdır. Bunu denetlemek için Kod Düzenleyici'nin sağ alt kısmına bakın: img/935973afd3bdf852.png

Bu CRLF olarak ayarlanmışsa CRLF'yi tıklayın ve açılır menüden LF'yi seçin.

Başlangıç komut dosyası aşağıdaki görevleri yerine getirir:

  • Günlük kaydı aracısını yükler. Aracı syslog'dan günlükleri otomatik olarak toplar.
  • Node.js'yi ve Süpervizörü yükler. Süpervizör uygulamayı bir arka plan programı olarak çalıştırır.
  • GCS Paketinden uygulamanın kaynak kodunu klonlar ve bağımlıları yükler.
  • Uygulamayı çalıştırmak için Süpervizörü yapılandırır. Süpervizör, beklenmedik bir şekilde çıkış yapılırsa veya bir yönetici ya da işlem tarafından durdurulursa uygulamanın yeniden başlatılmasını sağlar. Ayrıca uygulamanın stdout ve stderr akışlarını Günlük kaydı aracısı tarafından toplanması için syslog'a gönderir.

startup-script.sh dosyasını paketinize kopyalamak için aşağıdakini çalıştırın:

gsutil cp ~/monolith-to-microservices/startup-script.sh gs://fancy-store-$DEVSHELL_PROJECT_ID

Artık dosyaya şu adresten erişilebilir: https://storage.googleapis.com/[PAKET_ADI]/startup-script.sh.

[PAKET_ADI], Cloud Storage paketinin adını temsil eder. Bu varsayılan olarak yalnızca yetkili kullanıcılar ve hizmet hesapları tarafından görüntülenebilir, dolayısıyla web tarayıcısı üzerinden erişilemez. Compute Engine örnekleri kendi hizmet hesapları aracılığıyla buna otomatik olarak erişebilir.

Kodu Cloud Storage paketine kopyalama

Örnekler başlatıldığında kodu Cloud Storage paketinden alırlar; böylece kodun .env dosyası içinde bazı yapılandırma değişkenlerini depolayabilirsiniz.

Klonlanan kodu paketinize kopyalayın:

cd ~
rm -rf monolith-to-microservices/*/node_modules
gsutil -m cp -r monolith-to-microservices gs://fancy-store-$DEVSHELL_PROJECT_ID/

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. Başlangıç komut dosyası ve kodunu Cloud Storage paketine kopyalama

Arka uç örneğini dağıtma

Dağıtılacak ilk örnek, Siparişler ve Ürünler mikro hizmetlerini barındıracak olan arka uç örneği olacaktır.

Başlangıç komut dosyasını kullanacak şekilde yapılandırılan bir n1-standard-1 örneği oluşturmak için aşağıdaki komutu yürütün. Bu örnek bir backend örneği olarak etiketlendiğinden buna daha sonra belirli güvenlik duvarı kurallarını uygulayabilirsiniz:

gcloud compute instances create backend \
    --machine-type=n1-standard-1 \
    --tags=backend \
   --metadata=startup-script-url=https://storage.googleapis.com/fancy-store-$DEVSHELL_PROJECT_ID/startup-script.sh

Arka uca bağlantıyı yapılandırma

Uygulamanın ön ucunu dağıtmadan önce yapılandırmayı yeni dağıttığınız arka uca işaret edecek şekilde güncellemeniz gerekir.

Aşağıdaki komutla arka ucun harici IP adresini alın; arka uç örneği için EXTERNAL_IP sekmesinin altına bakın:

gcloud compute instances list

Örnek çıkış:

NAME     ZONE           MACHINE_TYPE  PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP   STATUS
backend  us-central1-f  n1-standard-1                   10.128.0.2   34.68.223.88  RUNNING

Arka uç için Harici IP'yi kopyalayın.

Cloud Shell Gezgini'nde monolith-to-microservices > react-app öğesine gidin.

Kod Düzenleyici'de .env dosyasını görmek için Görünüm > Gizli Dosyaları Aç/Kapat'ı seçin.

e7314ceda643e16.png

.env dosyasını arka ucun Harici IP'sine işaret edecek şekilde düzenleyin. *[ARKA UÇ_ADRESİ] *yukarıdaki gcloud komutunda belirlenen arka uç örneğinin Harici IP adresini temsil eder.

.env dosyasında localhost öğesini [ARKA UÇ_ADRESİ] değerinizle değiştirin:

REACT_APP_ORDERS_URL=http://[ARKA UÇ_ADRESİ]:8081/api/siparisler
REACT_APP_PRODUCTS_URL=http://[ARKA UÇ_ADRESİ]:8082/api/urunler

Dosyayı kaydedin.

Ön uç kodunu güncelleyecek olan react-app öğesini yeniden derleyin:

cd ~/monolith-to-microservices/react-app
npm install && npm run-script build

Ardından uygulama kodunu Cloud Storage paketine kopyalayın:

cd ~
rm -rf monolith-to-microservices/*/node_modules
gsutil -m cp -r monolith-to-microservices gs://fancy-store-$DEVSHELL_PROJECT_ID/

Ön uç örneğini dağıtma

Artık kod yapılandırıldığına göre, ön uç örneğini dağıtın.

Öncekine benzer bir komutla frontend örneğini dağıtmak için aşağıdakini yürütün. Bu örnek güvenlik duvarıyla ilgili amaçlarla frontend olarak etiketlenmiştir:

gcloud compute instances create frontend \
    --machine-type=n1-standard-1 \
    --tags=frontend \
    --metadata=startup-script-url=https://storage.googleapis.com/fancy-store-$DEVSHELL_PROJECT_ID/startup-script.sh

Ağı Yapılandırma

Ön uç için bağlantı noktası 8080'e ve arka uç için de bağlantı noktası 8081-8082'ye erişim sağlayacak güvenlik duvarı kuralları oluşturun. Bu güvenlik duvarı komutlarında, uygulama için örnek oluşturulurken atanan etiketler kullanılır:

gcloud compute firewall-rules create fw-fe \
    --allow tcp:8080 \
    --target-tags=frontend
gcloud compute firewall-rules create fw-be \
    --allow tcp:8081-8082 \
    --target-tags=backend

Web sitesi artık tümüyle işlevsel olmalıdır.

frontend harici IP'sine gitmek için adresi bilmeniz gerekir. Aşağıdakini çalıştırın ve frontend örneğinin EXTERNAL_IP değerini bulun:

gcloud compute instances list

Örnek çıkış:

NAME      ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS
backend   us-central1-f  n1-standard-1               10.128.0.2   35.184.46.126   RUNNING
frontend  us-central1-f  n1-standard-1               10.128.0.3   35.223.110.167  RUNNING

Örneğin başlatılması ve yapılandırılması birkaç dakika sürebilir.

30 saniye bekleyin, ardından uygulamanın hazır duruma gelip gelmediğini izlemek için ÖN UÇ_ADRESİ öğesini ön uç örneğinin Harici IP'siyle değiştirerek aşağıdakini yürütün:

watch -n 2 curl http://[ÖN UÇ_ADRESİ]:8080

Aşağıdakine benzer bir çıkış gördüğünüzde web sitesi hazır olacaktır.

80dc8721dc08d7e4.png

Ctrl+C tuşlarına basarak watch komutunu iptal edin.

Yeni bir tarayıcı sekmesi açın ve web sitesine erişmek için http://[ÖN UÇ_ADDRESİ]:8080 adresine gidin; burada [ÖN UÇ_ADRESİ], yukarıda belirlenen ön uç EXTERNAL_IP değeridir.

Ürünler ve Siparişler sayfalarına gitmeyi deneyin; artık gidebiliyor olmalısınız.

a11460a1fffb07d8.png

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. Örnekleri dağıtma ve ağı yapılandırma

Yönetilen Örnek Grupları Oluşturma

Uygulamanın ölçeklendirilmesine olanak sağlamak için yönetilen örnek grupları oluşturulur ve bunlar Örnek Şablonları olarak frontend ve backend örneklerini kullanır.

Yönetilen örnek grubu (MIG), tek bir alt bölgede tek varlık gibi yönetebileceğiniz birbirinin aynı örnekler içerir. Yönetilen örnek grupları, örneklerinizi proaktif olarak kullanılabilir durumda, diğer bir deyişle ÇALIŞIYOR durumda tutarak yüksek kullanılabilirlik sağlar. Otomatik iyileştirme, yük dengeleme, otomatik ölçeklendirme ve periyodik güncellemeler sağlamak için ön uç ve arka uç örneklerimizde yönetilen örnek gruplarını kullanacağız.

Kaynak Örnekten Örnek Şablonu Oluşturma

Yönetilen örnek grubu oluşturabilmek için önce grubun temelini sağlayan bir örnek şablonu oluşturmanız gerekir. Örnek şablonları yeni sanal makine örnekleri oluştururken kullanılacak makine türü, önyükleme diski görüntüsü veya kapsayıcı görüntüsü, ağ ve diğer örnek özelliklerini tanımlamanıza olanak sağlar. Örnek şablonlarını kullanarak yönetilen örnek grubunun içinde örnekler oluşturabileceğiniz gibi tek tek örnekler bile oluşturabilirsiniz.

Örnek şablonunu oluşturmak için daha önce hazırladığınız mevcut örnekleri kullanın.

İlk olarak her iki örneği de durdurun:

gcloud compute instances stop frontend
gcloud compute instances stop backend

Ardından kaynak örneklerin her birinden örnek şablonu oluşturun:

gcloud compute instance-templates create fancy-fe \
    --source-instance=frontend
gcloud compute instance-templates create fancy-be \
    --source-instance=backend

Örnek şablonlarının oluşturulduğunu onaylayın:

gcloud compute instance-templates list

Örnek çıkış:

NAME      MACHINE_TYPE  PREEMPTIBLE  CREATION_TIMESTAMP
fancy-be  n1-standard-1                  2020-02-03T10:34:12.966-08:00
fancy-fe  n1-standard-1                   2020-02-03T10:34:01.082-08:00

Yönetilen örnek grubu oluşturma

Ardından biri ön uç ve diğeri de arka uç için olmak üzere iki yönetilen örnek grubu oluşturun:

gcloud compute instance-groups managed create fancy-fe-mig \
    --base-instance-name fancy-fe \
    --size 2 \
    --template fancy-fe
gcloud compute instance-groups managed create fancy-be-mig \
    --base-instance-name fancy-be \
    --size 2 \
    --template fancy-be

Bu yönetilen örnek grupları örnek şablonlarını kullanır ve her grubun içinde birer örnek olmak üzere iki örneğin başlatılacağı şekilde yapılandırılır. Örnekler base-instance-name temel alınarak otomatik olarak adlandırılır ve sonlarına rastgele karakterler eklenir.

Sizin uygulamanızda frontend mikro hizmeti, bağlantı noktası 8080 üzerinde çalışırken backend mikro hizmeti siparişler için bağlantı noktası 8081 ve ürünler için bağlantı noktası 8082 üzerinde çalışır:

gcloud compute instance-groups set-named-ports fancy-fe-mig \
    --named-ports frontend:8080
gcloud compute instance-groups set-named-ports fancy-be-mig \
    --named-ports siparisler:8081,urunler:8082

Bunlar standart olmayan bağlantı noktaları olduğundan, bunları tanımlamak için adlandırılmış bağlantı noktaları belirtirsiniz. Adlandırılmış bağlantı noktaları, hizmet adını ve bu hizmetin üzerinde çalıştırıldığı bağlantı noktasını temsil eden anahtar:değer çifti meta verileridir. Adlandırılmış bağlantı noktaları bir örnek grubuna atanabilir ve bu da hizmetin gruptaki tüm örneklerde kullanılabilir olduğunu gösterir. Bu bilgiler daha sonra yapılandırılacak olan HTTP Yük Dengeleme hizmeti tarafından kullanılır.

Otomatik iyileştirmeyi yapılandırma

Uygulamanın kendi kullanılabilirliğini geliştirmek ve yanıt verdiğini doğrulamak için yönetilen örnek gruplarına bir otomatik iyileştirme politikası yapılandırın.

Otomatik iyileştirme politikası uygulamanın beklendiği gibi yanıt verdiğini doğrulamak için uygulama tabanlı durum denetimine güvenir. Uygulamanın yanıt verip vermediğini denetlemek, yalnızca örneğin ÇALIŞIYOR durumda olduğunu doğrulamaktan (varsayılan davranış) daha kesin sonuç verir.

frontend ve backend için arka arkaya 3 kez "unhealthy" (kötü durumda) ayarını döndürürse örneği onaran bir durum denetimi oluşturun:

gcloud compute health-checks create http fancy-fe-hc \
    --port 8080 \
    --check-interval 30s \
    --healthy-threshold 1 \
    --timeout 10s \
    --unhealthy-threshold 3
gcloud compute health-checks create http fancy-be-hc \
    --port 8081 \
    --request-path=/api/orders \
    --check-interval 30s \
    --healthy-threshold 1 \
    --timeout 10s \
    --unhealthy-threshold 3

Durum denetimi kontrollerinin 8080-8081 bağlantı noktalarında mikro hizmetlere bağlanmasını sağlamak için bir güvenlik duvarı kuralı oluşturun:

gcloud compute firewall-rules create allow-health-check \
    --allow tcp:8080-8081 \
    --source-ranges 130.211.0.0/22,35.191.0.0/16 \
    --network default

Durum denetimlerini ilgili hizmetlerine uygulayın:

gcloud compute instance-groups managed update fancy-fe-mig \
    --health-check fancy-fe-hc \
    --initial-delay 300
gcloud compute instance-groups managed update fancy-be-mig \
    --health-check fancy-be-hc \
    --initial-delay 300

Otomatik iyileştirmenin gruptaki örnekleri izlemesine biraz zaman tanımak için laboratuvara devam edin. Laboratuvarın sonunda otomatik iyileştirmeyi test etmek için bir hatayı simüle edeceksiniz.

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. Yönetilen örnek grupları oluşturma

Yük Dengeleyiciler Oluşturma

Yönetilen örnek gruplarımızı tamamlamak için, HTTP(S) Yük Dengeleyicilerini kullanarak trafiği ön uç ve arka uç mikro hizmetlerine sunacak ve eşlemeleri kullanarak trafiği yol kuralları temelinde doğru arka uç hizmetlerine göndereceksiniz. Bu sayede, tüm hizmetler için yük dengeli tek bir IP olacaktır.

Google Cloud'da Yük Dengeleme seçenekleri hakkında daha fazla bilgi edinebilirsiniz: Yük Dengelemeye Genel Bakış.

HTTP(S) Yük Dengeleyici Oluşturma

Google Cloud Platform birçok farklı türde yük dengeleyici sunar. Bu laboratuvarda trafiğiniz için HTTP(S) Yük Dengeleyici kullanıyorsunuz. HTTP yük dengeleyici şöyle yapılandırılmıştır:

  1. Bir iletim kuralı gelen istekleri hedef HTTP proxy'ye yönlendirir.
  2. Hedef HTTP proxy isteğe uygun arka uç hizmetini belirlemek için her isteği bir URL eşlemesine göre denetler.
  3. Arka uç hizmeti; ekli arka uçlarının hizmet kapasitesi, alt bölgesi ve örnek durumuna göre her isteği uygun arka uca yönlendirir. Her arka uç örneğinin durumu HTTP durum denetimi kullanılarak doğrulanır. Arka uç hizmeti HTTPS veya HTTP/2 durum denetimi kullanacak şekilde yapılandırıldıysa istek, arka uç örneğine giderken şifrelenir.
  4. Yük dengeleyici ile örnek arasındaki oturumlar HTTP, HTTPS veya HTTP/2 protokolünü kullanabilir. HTTPS veya HTTP/2 kullanırsanız arka uç hizmetlerindeki her örneğin bir SSL sertifikası olmalıdır.

Her hizmette trafik sunabilecek örnekleri belirlemek için kullanılacak durum denetimlerini oluşturun:

gcloud compute http-health-checks create fancy-fe-frontend-hc \
  --request-path / \
  --port 8080
gcloud compute http-health-checks create fancy-be-siparisler-hc \
  --request-path /api/siparisler \
  --port 8081
gcloud compute http-health-checks create fancy-be-urunler-hc \
  --request-path /api/urunler \
  --port 8082

Yük dengeli trafiğin hedefi olan arka uç hizmetlerini oluşturun. Arka uç hizmetleri sizin oluşturduğunuz durum denetimlerini ve adlandırılmış bağlantı noktalarını kullanır:

gcloud compute backend-services create fancy-fe-frontend \
  --http-health-checks fancy-fe-frontend-hc \
  --port-name frontend \
  --global
gcloud compute backend-services create fancy-be-siparisler \
  --http-health-checks fancy-be-siparisler-hc \
  --port-name siparisler \
  --global
gcloud compute backend-services create fancy-be-urunler \
  --http-health-checks fancy-be-urunler-hc \
  --port-name urunler \
  --global

Yük Dengeleyicinin arka uç hizmetlerini ekleyin:

gcloud compute backend-services add-backend fancy-fe-frontend \
  --instance-group fancy-fe-mig \
  --instance-group-zone us-central1-f \
  --global
gcloud compute backend-services add-backend fancy-be-siparisler \
  --instance-group fancy-be-mig \
  --instance-group-zone us-central1-f \
  --global
gcloud compute backend-services add-backend fancy-be-urunler \
  --instance-group fancy-be-mig \
  --instance-group-zone us-central1-f \
  --global

URL eşlemesi oluşturun. URL eşlemesi hangi URL'lerin hangi arka uç hizmetlerine yönlendirildiğini tanımlar:

gcloud compute url-maps create fancy-map \
  --default-service fancy-fe-frontend

/api/siparisler ve /api/urunler yollarının ilgili hizmetlere yönlendirilmesini sağlamak için bir yol eşleştirici oluşturun:

gcloud compute url-maps add-path-matcher fancy-map \
   --default-service fancy-fe-frontend \
   --path-matcher-name siparisler \
   --path-rules "/api/siparisler=fancy-be-siparisler,/api/urunler=fancy-be-urunler"

URL eşlemesine bağlanan bir proxy oluşturun:

gcloud compute target-http-proxies create fancy-proxy \
  --url-map fancy-map

Herkese açık IP adresini ve bağlantı noktasını proxy'ye bağlayan bir genel iletim kuralı oluşturun:

gcloud compute forwarding-rules create fancy-http-rule \
  --global \
  --target-http-proxy fancy-proxy \
  --ports 80

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. HTTP(S) yük dengeleyicilerini oluşturma

Yapılandırmayı Güncelleme

Artık yeni bir statik IP adresiniz olduğuna göre frontend kodunu daha önce kullanılan ve backend örneğine işaret eden geçici adres yerine bu yeni adrese işaret edecek şekilde güncelleyin.

Cloud Shell'de içinde yapılandırmanın bulunduğu .env dosyasını barındıran react-app klasörüne geçin:

cd ~/monolith-to-microservices/react-app/

Yük Dengeleyicinin IP adresini bulun:

gcloud compute forwarding-rules list --global

Örnek çıkış:

NAME                    REGION  IP_ADDRESS     IP_PROTOCOL  TARGET
fancy-http-rule          34.102.237.51  TCP          fancy-proxy

Cloud Shell Düzenleyiciye dönün ve .env dosyasını düzenleyerek Yük Dengeleyicinin Herkese açık IP'sine işaret etmesini sağlayın. [LB_IP] yukarıda belirlenen arka uç örneğinin Harici IP adresidir.

REACT_APP_ORDERS_URL=http://[LB_IP]/api/siparisler
REACT_APP_PRODUCTS_URL=http://[LB_IP]/api/urunler

Dosyayı kaydedin.

Ön uç kodunu güncelleyecek olan react-app öğesini yeniden derleyin:

cd ~/monolith-to-microservices/react-app
npm install && npm run-script build

Uygulama kodunu pakete kopyalayın:

cd ~
rm -rf monolith-to-microservices/*/node_modules
gsutil -m cp -r monolith-to-microservices gs://fancy-store-$DEVSHELL_PROJECT_ID/

Ön uç örneklerini güncelleme

Artık yeni bir kod ve yapılandırma olduğuna göre, yönetilen örnek grubunun içindeki ön uç örneklerinin yeni kodu almasını istersiniz. Örnekleriniz kodu başlatma sırasında aldığından periyodik bir yeniden başlatma komutu düzenleyebilirsiniz:

gcloud compute instance-groups managed rolling-action replace fancy-fe-mig \
    --max-unavailable 100%

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. Ön uç örneklerini güncelleme

Web sitesini test etme

Örneklerin işlenmesine zaman tanımak için rolling-action replace komutu gönderildikten sonra 30 saniye kadar bekleyin ve ardından örnekler listede gösterilene kadar yönetilen örnek grubunun durumunu denetleyin:

watch -n 2 gcloud compute instance-groups list-instances fancy-fe-mig

Öğeler listede görüntülenince Ctrl+C tuşlarına basarak watch komutundan çıkın.

Hizmetin HEALTHY (İyi Durumda) olarak listelendiğini onaylamak için aşağıdakini çalıştırın:

watch -n 2 gcloud compute backend-services get-health fancy-fe-frontend --global

İki hizmet de HEALTHY (İyi Durumda) olarak listelenene kadar bekleyin.

Örnek çıkış:

---
backend: https://www.googleapis.com/compute/v1/projects/my-gce-codelab/zones/us-central1-a/instanceGroups/fancy-fe-mig
status:
  healthStatus:
  - healthState: HEALTHY
    instance: https://www.googleapis.com/compute/v1/projects/my-gce-codelab/zones/us-central1-a/instances/fancy-fe-x151
    ipAddress: 10.128.0.7
    port: 8080
  - healthState: HEALTHY
    instance: https://www.googleapis.com/compute/v1/projects/my-gce-codelab/zones/us-central1-a/instances/fancy-fe-cgrt
    ipAddress: 10.128.0.11
    port: 8080
  kind: compute#backendServiceGroupHealth

Her iki öğe de listede HEALTHY olarak görüntülendiğinde Ctrl+C tuşlarına basarak watch komutundan çıkın.

Compute Engine'i Ölçeklendirme

Şimdiye kadar her birinde iki örnek bulunan iki yönetilen örnek grubu oluşturdunuz. Bu tam olarak işlevsel ama yükten bağımsız olarak statik bir yapılandırmadır. Şimdi her yönetilen örnek grubunu otomatik olarak ölçeklendirmek üzere kullanım tabanlı bir otomatik ölçeklendirme politikası oluşturacaksınız.

Kullanıma Göre Otomatik Olarak Yeniden Boyutlandırma

Otomatik ölçeklendirme politikası oluşturmak için aşağıdaki kodu yürütün:

gcloud compute instance-groups managed set-autoscaling \
  fancy-fe-mig \
  --max-num-replicas 2 \
  --target-load-balancing-utilization 0.60
gcloud compute instance-groups managed set-autoscaling \
  fancy-be-mig \
  --max-num-replicas 2 \
  --target-load-balancing-utilization 0.60

Bu komutlar, yönetilen örnek gruplarında kullanım %60'ın üzerine çıktığında otomatik olarak örnek ekleyen ve yük dengeleyici %60 kullanım oranının altına düştüğünde örnek kaldıran bir otomatik ölçeklendirici oluşturur.

İçerik Yayınlama Ağını Etkinleştirme

Ölçeklendirmeye yardımcı olabilecek bir diğer özellik, ön uç için önbelleğe alma sağlamak üzere İçerik Yayınlama Ağı hizmetini etkinleştirmektir.

Ön uç hizmetinde aşağıdaki komutu yürütün:

gcloud compute backend-services update fancy-fe-frontend \
    --enable-cdn --global

Kullanıcı HTTP(S) yük dengeleyiciden içerik istediğinde istek, Google Front End (GFE) hizmetine gelir ve bu hizmet de kullanıcı isteğinin yanıtı için ilk olarak Cloud CDN önbelleğine bakar. GFE önbelleğe alınmış bir yanıt bulursa önbellekteki yanıtı kullanıcıya gönderir. Bu önbellek isabeti olarak adlandırılır.

GFE istek için önbelleğe alınmış bir yanıt bulamazsa doğrudan arka uca istekte bulunur. Bu isteğin yanıtı önbelleğe alınabiliyorsa GFE yanıtı Cloud CDN önbelleğinde depolar ve bu şekilde sonraki isteklerde önbellek kullanılabilir.

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. GCE'yi Ölçeklendirme

Web sitesini güncelleme

Örnek Şablonunu Güncelleme

Mevcut örnek şablonları üzerinde düzenleme yapılamaz; bununla birlikte, örnekleriniz durum bilgisiz olduğundan ve tüm yapılandırma başlangıç komut dosyası yoluyla gerçekleştirildiğinden, şablon ayarlarını değiştirmek istediğinizde örnek şablonunu değiştirmeniz yeterlidir. Şimdi daha büyük bir makine türü kullanmak ve bunu dışarı çıkarmak için basit bir değişiklik yapacaksınız.

Örnek şablonuna temel oluşturan frontend örneğini güncelleyin. Güncelleme sırasında örnek şablonu görüntüsünün güncellenmiş sürümüne bir dosya yerleştirecek, ardından örnek şablonunu güncelleyecek, yeni şablonu kullanıma sunacak ve dosyanın yönetilen örnek grubu örneklerinde mevcut olduğunu onaylayacaksınız.

Şimdi n1-standard-1 makine türünden 4 vCPU ve 3840MiB RAM içeren bir özel makine türüne geçerek örnek şablonunuzun makine türünü değiştirin.

Aşağıdaki komutu çalıştırarak ön uç örneğinin makine türünü değiştirin:

gcloud compute instances set-machine-type frontend --machine-type custom-4-3840

Yeni Örnek Şablonunu oluşturun:

gcloud compute instance-templates create fancy-fe-new \
    --source-instance=frontend \
    --source-instance-zone=us-central1-f

Güncellenen örnek şablonunu Yönetilen Örnek Grubunun kullanımına sunun:

gcloud compute instance-groups managed rolling-action start-update fancy-fe-mig \
    --version template=fancy-fe-new

30 saniye bekleyin, ardından güncellemenin durumunu izlemek için aşağıdaki komutu çalıştırın:

watch -n 2 gcloud compute instance-groups managed list-instances fancy-fe-mig

Bu işlem kısa süre içinde tamamlanır.

Aşağıdaki durumda en az 1 örneğiniz olduğunda:

  • STATUS: RUNNING
  • ACTION None olarak ayarlanmış
  • INSTANCE_TEMPLATE: yeni şablon adı (fancy-fe-new)

Sonraki komutta kullanmak üzere listelenen makinelerden birinin adını kopyalayın.

watch işleminden çıkmak için Ctrl+C tuşlarına basın.

Sanal makinenin yeni makine türünü (custom-4-3840) kullanıp kullanmadığını görmek için aşağıdakini çalıştırın; burada [SANAL MAKİNE_ADI], yeni oluşturulan örnektir:

gcloud compute instances describe [SANAL MAKİNE_ADI] | grep machineType

Beklenen örnek çıkış:

machineType: https://www.googleapis.com/compute/v1/projects/project-name/zones/us-central1-f/machineTypes/custom-4-3840

Web sitesinde değişiklikler yapma

Senaryo: Pazarlama ekibiniz sizden sitenizin ana sayfasını değiştirmenizi istedi. Bu sayfanın şirketinizin kimliği ve aslında nelerin satışını yaptığı konusunda daha bilgilendirici olması gerektiğini düşünüyorlar.

Görev: Pazarlama ekibini mutlu etmek için ana sayfaya biraz metin ekleyin! Geliştiricilerden biri istenen değişiklikleri index.js.new adlı bir dosyada zaten hazırlamış. Bu dosyayı index.js dosyasına kopyalarsanız değişiklikler sayfaya yansıtılacaktır. Uygun değişiklikleri yapmak için aşağıdaki talimatları uygulayın.

Aşağıdaki komutları çalıştırarak güncellenmiş dosyayı kopyalayın ve dosya adının doğru olmasını sağlayın:

cd ~/monolith-to-microservices/react-app/src/pages/Home
mv index.js.new index.js

Değişiklikleri doğrulamak için dosyanın içeriğini yazdırın:

cat ~/monolith-to-microservices/react-app/src/pages/Home/index.js

Bu işlem sonucunda elde edilen kod aşağıdaki gibi görünmelidir:

/*
Telif Hakkı 2019 Google LLC

Apache Lisansı Sürüm 2.0 ("Lisans") kapsamında lisanslanmıştır;
Lisans ile uyumlu olmadıkça bu dosyayı kullanamazsınız.
Lisansın bir kopyasını şu adresten edinebilirsiniz:

    https://www.apache.org/licenses/LICENSE-2.0

Geçerli yasalar gerektirmedikçe veya yazılı olarak kabul edilmedikçe, yazılım
Lisans kapsamında
"OLDUĞU GİBİ" ESASINDA, açık veya zımni HERHANGİ BİR GARANTİ VEYA KOŞUL olmaksızın dağıtılır.
Lisans kapsamında belirli diller için olan izinler ve kısıtlamalar hakkında
bilgi edinmek için Lisansa bakın.
*/

import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import Paper from "@material-ui/core/Paper";
import Typography from "@material-ui/core/Typography";
const useStyles = makeStyles(theme => ({
  root: {
    flexGrow: 1
  },
  paper: {
    width: "800px",
    margin: "0 auto",
    padding: theme.spacing(3, 2)
  }
}));
export default function Home() {
  const classes = useStyles();
  return (
    <div className={classes.root}>
      <Paper className={classes.paper}>
        <Typography variant="h5">
          Fancy Fashion &amp; Style Online
        </Typography>
        <br />
        <Typography variant="body1">
          Ana akım moda fikirlerinden, popüler trendler ve toplumsal normlardan sıkıldınız mı?
          Bu yaşam tarzı ürünleriyle Fancy markasının sunduğu farklı stili yakalayıp kendi kişisel tarzınızı yansıtabilirsiniz.
          Fancy ile alışverişe hemen başlayın!
        </Typography>
      </Paper>
    </div>
  );
}

React bileşenlerini güncellediniz ama statik dosyaların oluşturulması için React uygulamasını derlemeniz gerekiyor.

React uygulamasını derlemek ve herkese açık monolit dizinine kopyalamak için aşağıdaki komutu çalıştırın:

cd ~/monolith-to-microservices/react-app
npm install && npm run-script build

Ardından bu kodu pakete yeniden aktarın:

cd ~
rm -rf monolith-to-microservices/*/node_modules
gsutil -m cp -r monolith-to-microservices gs://fancy-store-$DEVSHELL_PROJECT_ID/

Periyodik değişiklikleri aktarma

Şimdi tüm örnekleri güncellemeyi almak için değiştirilmeye zorlayın:

gcloud compute instance-groups managed rolling-action replace fancy-fe-mig \
    --max-unavailable=100%

Hedefi doğrulamak için İlerleme durumumu kontrol et seçeneğini tıklayın. Web sitesini güncelleme

Örneklerin işlenmesine zaman tanımak için rolling-action replace komutu gönderildikten sonra 30 saniye kadar bekleyin ve ardından örnekler listede gösterilene kadar yönetilen örnek grubunun durumunu denetleyin:

watch -n 2 gcloud compute instance-groups list-instances fancy-fe-mig

Öğeler listede görüntülenince Ctrl+C tuşlarına basarak watch komutundan çıkın.

Hizmetin HEALTHY (İyi Durumda) olarak listelendiğini onaylamak için aşağıdakini çalıştırın:

watch -n 2 gcloud compute backend-services get-health fancy-fe-frontend --global

Her iki hizmetin de görüntülenmesi ve HEALTHY duruma geçmesi için biraz bekleyin.

Örnek çıkış:

---
backend: https://www.googleapis.com/compute/v1/projects/my-gce-codelab/zones/us-central1-a/instanceGroups/fancy-fe-mig
status:
  healthStatus:
  - healthState: HEALTHY
    instance: https://www.googleapis.com/compute/v1/projects/my-gce-codelab/zones/us-central1-a/instances/fancy-fe-x151
    ipAddress: 10.128.0.7
    port: 8080
  - healthState: HEALTHY
    instance: https://www.googleapis.com/compute/v1/projects/my-gce-codelab/zones/us-central1-a/instances/fancy-fe-cgrt
    ipAddress: 10.128.0.11
    port: 8080
  kind: compute#backendServiceGroupHealth

Öğeler listede görüntülenince Ctrl+C tuşlarına basarak watch komutundan çıkın.

Web sitesine http://[LB_IP] üzerinden göz atabilirsiniz; burada [LB_IP], Yük Dengeleyici için belirlenen IP_ADDRESS değeridir ve aşağıdaki komutla bulunabilir:

gcloud compute forwarding-rules list --global

Yeni web sitesi değişiklikleri artık görülebiliyor olmalıdır.

b081b8e885bf0723.png

Hata Simülasyonu

Durum denetiminin çalıştığını onaylamak için bir örneğe giriş yapın ve hizmetleri durdurun.

Örnek adını bulmak için aşağıdakini yürütün:

gcloud compute instance-groups list-instances fancy-fe-mig

Bir örnek adı kopyalayın, ardından örnekte kabuğun güvenliğini sağlamak için aşağıdakini çalıştırın; burada ÖRNEK_ADI, listedeki örneklerden biridir:

gcloud compute ssh [ÖRNEK_ADI]

Onaylamak için "y" yazın ve parola kullanmamak için Enter tuşuna iki kez basın.

Örneğin içinde supervisorctl kullanarak uygulamayı durdurun:

sudo supervisorctl stop nodeapp; sudo killall node

Örnekten çıkın:

exit

Onarım işlemlerini izleyin:

watch -n 2 gcloud compute operations list \
--filter='operationType~compute.instances.repair.*'

Bunun tamamlanması birkaç dakika sürer.

Aşağıdaki örnek çıkışı bulun:

NAME                                                  TYPE                                       TARGET                                 HTTP_STATUS  STATUS  TIMESTAMP
repair-1568314034627-5925f90ee238d-fe645bf0-7becce15  compute.instances.repair.recreateInstance  us-central1-a/instances/fancy-fe-1vqq  200          DONE    2019-09-12T11:47:14.627-07:00

Yönetilen örnek grubu örneği onarmak için yeniden oluşturdu.

Ayrıca Console üzerinden de izleyebilirsiniz; Gezinme menüsü > Compute Engine > Sanal makine örnekleri'ne gidin.

Tebrikler!

Web sitenizi Compute Engine üzerinde başarıyla dağıttınız, ölçeklendirdiniz ve güncellediniz. Artık Compute Engine, Yönetilen Örnek Grupları, Yük Dengeleyiciler ve Durum Denetimleri konularında deneyimli bir kullanıcısınız!

BuildingWebsitesOnGoogleCloud_125.png

Görevinizi Tamamlama

Rehbersiz tamamlanabilen bu laboratuvar, Qwiklabs Google Cloud'da Web Sitesi Görevi'nin bir parçasıdır. Görevler, bir öğrenme yolunu oluşturan birbiriyle bağlantılı laboratuvar dizilerini ifade eder. Bu laboratuvara katıldıysanız Göreve kaydolun ve tamamlama kredisini anında kazanın. Kaydolabileceğiniz diğer Qwiklabs Görevlerine göz atın.

Becerilerinizi gösterip bilgilerinizi doğrulamak için uygulamalı bir yarışma laboratuvarına katılmak ister misiniz? Bu görevi bitirdikten sonra ek yarışma laboratuvarını tamamlayarak özel bir Google Cloud dijital rozeti kazanın.

Final_BuildWebsite.png

Sonraki laboratuvarınıza katılma

Eğitiminize Google Kubernetes Engine'de Web Sitenizi Dağıtma, Ölçeklendirme ve Güncelleme konusuyla devam edin veya aşağıdaki önerileri gözden geçirin:

Sıradaki Adımlar / Daha Fazla Bilgi Edinin

Laboratuvarınızı sonlandırma

Laboratuvarınızı tamamladığınızda Laboratuvarı Sonlandır'ı tıklayın. Hesabınız ve kullandığınız kaynaklar laboratuvar platformundan kaldırılır.

Laboratuvar deneyimine puan vermeniz istenir. Uygun sayıda yıldız seçin, bir yorum yazın ve Gönder'i tıklayın.

Yıldız sayıları şu anlama gelir:

  • 1 yıldız = Hiç memnun kalmadım
  • 2 yıldız = Memnun kalmadım
  • 3 yıldız = Normal
  • 4 yıldız = Memnun kaldım
  • 5 yıldız = Çok memnun kaldım

Geri bildirim göndermek istemiyorsanız iletişim kutusunu kapatabilirsiniz.

Geri bildirim, öneriler ve düzeltme talepleri için lütfen Destek sekmesini kullanın.

Kılavuzun Son Güncellenme Tarihi: 23 Haziran 2020
Laboratuvarın Son Test Edilme Tarihi: 23 Haziran 2020

Telif Hakkı 2024 Google LLC Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.