Checkpoints
Download the monolith code and build your container
/ 10
Create a kubernetes cluster and deploy the application
/ 20
Create a containerized version of orders and product Microservices
/ 20
Deploy the new microservices
/ 20
Create a containerized version of the Frontend microservice
/ 10
Deploy the Frontend microservice
/ 20
Google Cloud'da Web Sitesi Derleme: Yarışma Laboratuvarı
- GSP319
- Giriş
- Kurulum
- Yarışma senaryosu
- 1. görev: Monolit kodu indirme ve container'ınızı derleme
- 2. görev: Kubernetes kümesi oluşturma ve uygulamayı dağıtma
- 3. görev: Yeni mikro hizmetler oluşturma
- 4. görev: Yeni mikro hizmetleri dağıtma
- 5. görev: Ön uç mikro hizmetini yapılandırma ve dağıtma
- 6. görev: Ön uç mikro hizmetinin container mimarisine alınmış bir sürümünü oluşturma
- 7. görev: Ön uç mikro hizmetini dağıtma
- Tebrikler!
GSP319
Giriş
Yarışma laboratuvarında size bir senaryo ve birtakım görevler verilir. Adım adım talimatları uygulamak yerine, görevleri kendi başınıza nasıl tamamlayacağınızı bulmak için bu süreçte laboratuvarlardan öğrendiğiniz becerileri pratiğe dökersiniz. Otomatik bir puan sistemi (bu sayfada gösterilir), görevlerinizi gerektiği şekilde tamamlayıp tamamlamadığınızla ilgili geri bildirim verir.
Bir yarışma laboratuvarı'na katıldığınızda size yeni Google Cloud kavramları öğretilmez. Varsayılan değerleri değiştirmek ve kendi hatalarınızı düzeltmek için hata mesajlarını okuyup araştırma yapmak gibi öğrendiğiniz becerileri geliştirmeniz beklenir.
%100'e ulaşmak için tüm görevleri verilen süre içinde başarıyla tamamlamanız gerekir.
Bu laboratuvar Build a Website on Google Cloud görevine kaydolan öğrenciler için önerilir. Yarışmaya hazır mısınız?
Kurulum
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).
- Laboratuvarı tamamlamak için yeterli süre. (Laboratuvarlar, başlatıldıktan sonra duraklatılamaz)
Yarışma senaryosu
FancyStore A.Ş. adlı şirkette yeni bir işe başladınız.
Göreviniz, şirketin mevcut monolit e-ticaret web sitesini alıp bir dizi mantıksal olarak ayrılmış mikro hizmete bölmek. Mevcut monolit kod bir GitHub deposunda duruyor, sizden ise bu uygulamayı container mimarisine alıp yeniden düzenlemeniz bekleniyor.
Bu görevler için gereken becerilere ve bilgiye sahip olmanız bekleniyor, yani adım adım açıklamalı kılavuz beklemeyin.
Önceki ekip monolit uygulamanın sorunlarıyla baş edemeyip doğaya dönmeyi seçti; gerçekten de bir lavanta çiftliği kurdular. Dolayısıyla artık bu göreve sizin liderlik etmeniz isteniyor. Kaynak kodu almanız, bundan bir container derlemeniz (çiftçilerden biri size bir Dockerfile bırakmıştı) ve daha sonra bunu GKE'ye aktarmanız gerekiyor.
Önce monoliti derlemeli, dağıtmalı ve kaynak kodun sağlam olduğundan emin olmak için test etmelisiniz. Bunun ardından bileşen hizmetleri kendi mikro hizmet dağıtımlarına ayırmalısınız.
Uymanız gereken bazı FancyStore A.Ş. standartları şunlardır:
-
Kümenizi
bölgesinde oluşturun. -
Adlandırma ekip-kaynak şeklinde olmalıdır, yani bir örnek fancystore-orderservice1 olarak adlandırılabilir.
-
Uygun maliyetli kaynak boyutları ayırın. Projeler izlenmekte olup aşırı kaynak kullanımı projenin sonlandırılmasına neden olur.
-
Aksi belirtilmediği takdirde
e2-medium
makine türünü kullanın.
Yarışma konusu
Masanıza oturup yeni dizüstü bilgisayarınızı açar açmaz gördüğünüz talep listesinde aşağıdaki görevleri tamamlamanız gerekiyor. İyi şanslar!
1. görev: Monolit kodu indirme ve container'ınızı derleme
-
Yeni projenize giriş yapın ve Cloud Shell'i açın.
-
Her şeyden önce ekibinizin Git deposunu klonlamanız gerekir. Monolit container'ınızı derleyebilmeniz için projenin kök dizininde bulunan setup.sh komut dosyasını çalıştırmalısınız.
-
setup.sh
komut dosyasını çalıştırdıktan sonra Cloud Shell'inizin nodeJS'in son sürümünü çalıştırdığından emin olun:
Derlenip aktarılabilecek birkaç farklı proje olacaktır.
-
monolith
dizininde bulunan monolit yapıyı Google Container Registry'ye aktarın.~/monotlith-to-microservices/monolith
klasöründe, uygulama container'ını derlemek için kullanabileceğiniz bir Dockerfile dosyası vardır. -
Container'ı derlemek için Cloud Build'i (monolit klasöründe) çalıştırmanız ve ardından GCR'ye aktarmanız gerekir.
-
Yapınızı aşağıdaki gibi adlandırın:
- GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
- Image name:
- Image version: 1.0.0
İpucu:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
2. görev: Kubernetes kümesi oluşturma ve uygulamayı dağıtma
Görüntü oluşturulduğuna ve Container Registry'de hazır durumda beklediğine göre şimdi bunu dağıtacağınız kümeyi oluşturma zamanı geldi.
Size
- Kümenizi aşağıdaki gibi oluşturun:
-
Küme adı:
-
Bölge:
-
Düğüm sayısı: 3
İpucu:
Kümenizin
Görüntü oluşturduğunuza ve küme çalıştırdığınıza göre şimdi uygulamanızı dağıtabilirsiniz.
Derlediğiniz görüntüyü kümenize dağıtmanız gerekir. Böylece uygulamanız çalışır ancak dış dünyaya sunulmadığı sürece uygulamaya erişilemez. Ekibiniz size uygulamanın 8080 numaralı bağlantı noktasında çalıştığını söyledi ama sizin daha tüketici dostu olan 80 numaralı bağlantı noktasını kullanmanız gerekiyor.
- Dağıtımınızı aşağıdaki gibi oluşturup kullanıma sunun:
- Cluster name:
- Container name:
- Container version: 1.0.0
- Application port: 8080
- Externally accessible port: 80
- Dağıtımı kullanıma sunma işleminde atanan IP adresini not edin. Artık tarayıcınızdan bu IP adresini ziyaret edebilirsiniz!
Aşağıdaki ekranı görmeniz gerekir:
İpucu:
Dağıtımınızın
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
FancyStore monolit uygulamanızı derleyip dağıtabildiğinize göre uygulamayı mikro hizmetlere ayırmaya hazırsınız!
Monoliti mikro hizmetlere taşıma
Mevcut monolit web siteniz GKE'de çalıştığına göre şimdi hizmetleri mikro hizmetlere ayırmaya başlayabilirsiniz. Genellikle, hangi hizmetlerin daha küçük parçalara ayrılacağı konusunda planlama yapılması gerekir. Bu planlama çoğu zaman uygulamanın iş alanı gibi belirli kısımları etrafında yapılır.
Bu yarışmaya özel olarak biraz ileri sarın ve monoliti başarıyla Siparişler, Ürünler ve Ön Uç şeklinde bir dizi mikro hizmete ayırdığınızı varsayın. Kodunuz hazır, şimdi hizmetleri dağıtmanız gerekiyor.
3. görev: Yeni mikro hizmetler oluşturma
Kendi container'larına ayrılması gereken 3 hizmet var. Tüm hizmetleri container'lara taşımak istediğiniz için her bir hizmete ait şu bilgileri izlemeniz gerekir:
- Hizmetin kök klasörü (container'ı burada derleyeceksiniz)
- Container'ı yükleyeceğiniz depo
- Container yapısının adı ve sürümü
Mikro hizmetlerinizin container mimarisine alınmış bir sürümünü oluşturma
Container mimarisine alınması gereken hizmetler aşağıda verilmiştir.
- Aşağıda sözü edilen kaynak köklere gidin ve oluşturulan yapıları, verilen meta verilerle birlikte Google Container Registry'ye yükleyin:
Siparişler Mikro Hizmeti |
|
Ürünler Mikro Hizmeti |
|
- Bu mikro hizmetler container mimarisine alındıktan ve görüntüleri GCR'ye yüklendikten sonra hizmetleri dağıtıp kullanıma sunmalısınız.
İpucu:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
4. görev: Yeni mikro hizmetleri dağıtma
- Dağıtımlarınızı aşağıdaki gibi oluşturup kullanıma sunun:
Siparişler Mikro Hizmeti |
|
Ürünler Mikro Hizmeti |
|
NOT: Kullanıma sunulduktan sonra lütfen hem Siparişler hem de Ürünler hizmetlerinin IP adreslerini not edin. İlerideki adımlarda bu adreslere ihtiyacınız olacak.
- Dağıtımların başarılı olduğunu ve hizmetlerin kullanıma sunulduğunu doğrulamak için tarayıcınızda şu URL'lere gidebilirsiniz:
http://ORDERS_EXTERNAL_IP/api/siparisler
http://PRODUCTS_EXTERNAL_IP/api/urunler
Dağıtımlar başarılı olduysa tüm hizmetlerin bir JSON dizesi döndürdüğünü görürsünüz.
İpucu: Dağıtımlarınızın
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
5. görev: Ön uç mikro hizmetini yapılandırma ve dağıtma
Siparişler ve Ürünler mikro hizmetlerini çıkardığınıza göre şimdi bunlara işaret edecek ön uç hizmetini yapılandırmanız ve dağıtmanız gerekir.
Ön uç mikro hizmetini yeniden yapılandırma
- Yerel URL'yi yeni Ürünler mikro hizmetlerinin IP adresiyle değiştirmek için
nano
düzenleyiciyi kullanın:
Düzenleyici açıldığında dosyanız şu şekilde görünmelidir:
-
REACT_APP_PRODUCTS_URL
kısmını, Siparişler ve Ürünler mikro hizmetlerinizin IP adresleriyle değiştirirken aşağıdakiyle eşleşecek şekilde yeni biçimle değiştirin:
-
Dosyayı
nano
düzenleyicide kaydetmek için CTRL+O, ENTER ve ardından CTRL+X tuşlarına basın. -
Şimdi ön uç uygulamasını container mimarisine almadan önce yeniden derleyin:
6. görev: Ön uç mikro hizmetinin container mimarisine alınmış bir sürümünü oluşturma
Siparişler ve Ürünler mikro hizmetleri artık container mimarisine alınıp dağıtıldığına ve ön uç hizmeti de bunlara işaret edecek şekilde yapılandırıldığına göre son adım, ön uç hizmetini container mimarisine almak ve dağıtmaktır.
Frontend hizmetinin içeriğini paketlemek ve Google Container Registry'ye aktarmak için Cloud Build'i kullanın.
- Service root folder: ~/monolith-to-microservices/microservices/src/frontend
- GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
- Image name:
- Image version: 1.0.0
Bu işlem birkaç dakika alabilir, biraz bekleyin.
İpucu:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
7. görev: Ön uç mikro hizmetini dağıtma
"Siparişler" ve "Ürünler" mikro hizmetleri için izlediğiniz yolu izleyerek bu yeni container'ı dağıtın.
- Dağıtımınızı aşağıdaki gibi oluşturup kullanıma sunun:
- Cluster name:
- Container name:
- Container version: 1.0.0
- Application port: 8080
- Externally accessible port: 80
- Dağıtımın başarılı olduğunu ve mikro hizmetlerin düzgün bir biçimde kullanıma sunulduğunu doğrulamak için tarayıcınızda ön uç hizmetinin IP adresine gidebilirsiniz.
Yeni mikro hizmetlerinizle desteklenen Ürünler ve Siparişler sayfa bağlantılarının yer aldığı FancyStore ana sayfasını görürsünüz.
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Tebrikler!
Bir sonraki beceri rozetinizi kazanma
Bu yönlendirmesiz öğrenim laboratuvarı, Google Cloud'da Web Sitesi Derleme beceri rozeti görevinin bir parçasıdır. Bu beceri rozeti görevini tamamladığınızda başarınızın ödülü olarak yukarıdaki rozeti alırsınız. Rozetinizi özgeçmişinizde ve sosyal platformlarda kullanabilir ve #GoogleCloudBadge etiketini kullanarak başarınızı duyurabilirsiniz.
Bu beceri rozeti Google Cloud Altyapı Modernizasyonu portföyünün bir parçasıdır. Katalogda, kaydolabileceğiniz 20'den fazla beceri rozeti görevi için arama yaparak öğrenme yolculuğunuza devam edin.
Google Cloud eğitimi ve sertifikası
...Google Cloud teknolojilerinden en iyi şekilde yararlanmanıza yardımcı olur. Derslerimizde teknik becerilere odaklanırken en iyi uygulamalara da yer veriyoruz. Gerekli yetkinlik seviyesine hızlıca ulaşmanız ve öğrenim maceranızı sürdürebilmeniz için sizlere yardımcı olmayı amaçlıyoruz. Temel kavramlardan ileri seviyeye kadar farklı eğitim programlarımız mevcut. Ayrıca, yoğun gündeminize uyması için talep üzerine sağlanan, canlı ve sanal eğitim alternatiflerimiz de var. Sertifikasyonlar ise Google Cloud teknolojilerindeki becerilerinizi ve uzmanlığınızı doğrulamanıza ve kanıtlamanıza yardımcı oluyor.
Kılavuzun Son Güncellenme Tarihi: 5 Aralık 2023
Laboratuvarın Son Test Edilme Tarihi: 5 Aralık 2023
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.