
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create Docker Container with Google Cloud Build
/ 20
Deploy Container To Cloud Run
/ 20
Create new revision with lower concurrency
/ 20
Make Changes To The Website
/ 20
Update website with zero downtime
/ 20
Sanal makine, küme, kapsül, hizmet vb. bileşenleri oluşturma ve yönetme görevlerinin getirdiği ek yükle web sitelerini çalıştırmak zorlu olabilir. Büyük ve çok katmanlı uygulamalarda bu durum normal karşılanmakla birlikte yalnızca web sitenizi dağıtıp görünür hale getirmek istiyorsanız tüm bu işlerin oldukça külfetli olduğu söylenebilir.
Google'ın Knative çerçevesinin Google Cloud'daki karşılığı olan Cloud Run sayesinde, sanal makinelerde veya salt Kubernetes temelli dağıtımlarda karşınıza çıkan altyapı yükü olmadan web sitenizi yönetip dağıtabilirsiniz. Yönetim açısından daha basit bir yaklaşım olmakla kalmayıp aynı zamanda web sitenize hiçbir istek gelmediğinde size "sıfıra ölçeklendirme" olanağı da sunar.
Cloud Run, container'lara "sunucusuz" geliştirme özelliği getirir ve kendi Google Kubernetes Engine (GKE) kümelerinizde veya Cloud Run'ın sağladığı tümüyle yönetilen PaaS çözümlerinde çalıştırılabilir. Bu laboratuvarda ikinci senaryo üzerinde çalışacaksınız.
Alıştırmalar, bulut geliştiricilerin sıkça takip ettiği adımlara uygun şekilde sıralanmıştır:
Aşağıda, dağıtım ve Cloud Run barındırma akışını görebilirsiniz.
Cloud Build aracılığıyla oluşturulan bir Docker görüntüsüyle başlayın (Cloud Shell'den tetiklenir). Ardından Cloud Shell'deki bir komutla görüntüyü Cloud Run'a dağıtın.
Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Start Lab'i (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 simülasyon veya demo ortamı yerine gerçek bir bulut ortamında gerçekleştirebilirsiniz. Bunu yapabilmeniz 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 kullanabilirsiniz.
Bu laboratuvarı tamamlamak için gerekenler:
Laboratuvarı Başlat düğmesini tıklayın. Laboratuvar için ödeme yapmanız gerekiyorsa ödeme yöntemini seçebileceğiniz bir iletişim kutusu açılır. Soldaki "Laboratuvar ayrıntıları" panelinde şunlar yer alır:
Google Cloud Console'u aç'ı tıklayın (veya Chrome Tarayıcı'yı kullanıyorsanız sağ tıklayıp Bağlantıyı gizli pencerede aç'ı seçin).
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.
Gerekirse aşağıdaki kullanıcı adını kopyalayıp Oturum açın iletişim kutusuna yapıştırın.
Kullanıcı adını "Laboratuvar ayrıntıları" panelinde de bulabilirsiniz.
İleri'yi tıklayın.
Aşağıdaki şifreyi kopyalayıp Hoş geldiniz iletişim kutusuna yapıştırın.
Şifreyi "Laboratuvar ayrıntıları" panelinde de bulabilirsiniz.
İleri'yi tıklayın.
Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:
Birkaç saniye sonra Google Cloud konsolu bu sekmede açılır.
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.
Google Cloud konsolunun üst kısmından Activate Cloud Shell (Cloud Shell'i etkinleştir) simgesini tıklayın.
Aşağıdaki pencereleri tıklayın:
Bağlandığınızda kimliğiniz zaten doğrulanmıştır. Proje ise Project_ID'nize (
gcloud
, Google Cloud'un komut satırı aracıdır. Cloud Shell'e önceden yüklenmiştir ve sekmeyle tamamlamayı destekler.
Çıkış:
Çıkış:
gcloud
ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'a genel bakış rehberinde bulabilirsiniz.
Mevcut bir web sitesini dağıtacağınız için yalnızca kaynağı klonlamanız yeterlidir, böylece Docker görüntüleri oluşturup Cloud Run'a dağıtmaya odaklanabilirsiniz.
Bunun çalışması birkaç dakika sürer. Tamamlandığında işlemin başarılı olduğunu belirten bir mesaj görüntülenir.
Çıkış:
Bunu yaptığınızda Fancy Store web sayfanızı çalışır halde görebileceğiniz yeni bir pencere açılacaktır.
Kaynak dosyalarınız artık hazır olduğuna göre sıra, uygulamanızı Docker'a uygun hale getirmeye geldi.
Normalde bu süreç iki adımda tamamlanır: Bir Docker container'ı derlenir ve görüntünün, GKE'nin çekebileceği şekilde depolanması için bu container bir kayıt defterine aktarılır. İşinizi kolaylaştırmak için Docker container'ını Cloud Build yardımıyla oluşturun ve görüntüyü tek bir komutla Artifact Registry'ye yerleştirin. Docker dosyalarını manuel olarak nasıl oluşturup aktaracağınızı öğrenmek için Container Registry hızlı başlangıç kılavuzu sayfasına göz atın.
Cloud Build, dizindeki dosyaları sıkıştırır ve bir Cloud Storage paketine taşır. Ardından, derleme işlemi sırasında paketteki tüm dosyalar alınır ve aynı dizinde bulunan Dockerfile üzerinden Docker derleme işlemi çalıştırılır.
Herhangi bir görüntüyü aktarmadan önce depo oluşturmanız gerekir. Görüntü aktarıldığında otomatik olarak depo oluşturulmaz. Cloud Build hizmet hesaplarının depo oluşturma izni yoktur.
Gezinme menüsünün CI/CD bölümünde Artifact Registry > Repositories'e (Depolar) gidin.
Create Repository'i (Kod deposu oluştur) tıklayın.
Depoyu monolith-demo
olarak adlandırın.
Biçimi Docker olarak ayarlayın.
Location Type (Konum Türü) olarak Region'ı (Bölge) ve konum olarak
Create'i (Oluştur) tıklayın.
Görüntü çekme veya aktarmadan önce Docker'ı, Artifact Registry'e gelen isteklerin kimliğini Google Cloud CLI ile doğrulayacak şekilde yapılandırın.
Bu komut Docker yapılandırmanızı günceller. Artık Google Cloud projenizde görüntüleri Artifacy Registry ile çekebilir ve aktarabilirsiniz.
Daha önce derlediğiniz görüntüyü dağıtacağınız adıma geldik.
Build ID'yi (Derleme Kimliği) tıklarsanız derlemenin günlük çıktısı da dahil olmak üzere tüm ayrıntılarını görebilirsiniz.
Build Details (Derleme Ayrıntıları) sayfasında Execution Details (Yürütme Ayrıntıları) sekmesini ve ardından görüntü bağlantısını tıklayarak yeni oluşturulan container görüntüsünü görebilirsiniz.
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Web sitenizi container mimarisine aldığınıza ve container'ı Artifact Registry'ye aktardığınıza göre sıra Cloud Run'a dağıtım yapmaya geldi.
Cloud Run'a dağıtım yapmak için iki yaklaşım mevcuttur:
[monolith]
'e yapılan kimliği doğrulanmamış çağrılara izin vermeniz istendiğinde Y yazın.Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Çıkış:
Bu çıkışta birkaç şey gösterilir. Dağıtımın yanı sıra dağıtım yapan kullanıcıyı (kendi e-postanızı) ve uygulamaya erişmek için kullanabileceğiniz URL'yi görebilirsiniz. Bu durumda her şey başarıyla oluşturulmuş demektir.
Bu bölümde parametrelerden birini düzenleyerek uygulamanızı tekrar dağıtacaksınız.
Varsayılan olarak bir Cloud Run uygulamasının eşzamanlılık değeri 80'dir, yani her container örneği tek seferde en fazla 80 isteğe hizmet verir. Bu, bir örneğin tek seferde bir isteği işlediği Hizmet olarak işlevler modeline kıyasla büyük bir farktır.
En son oluşturulan dağıtımın ayrıntıları sağ taraftadır.
Eşzamanlılık değerinin "1"e düştüğünü görürsünüz.
Test için bu yapılandırma yeterli olsa da çoğu üretim senaryosunda birden çok eşzamanlı isteği destekleyen container'larınız olur.
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Yeniden dağıtım yapmadan ilk eşzamanlılık değerini geri yükleyebilirsiniz. Eşzamanlılığı tekrar varsayılan "80" değerine ayarlayabilir veya "0" şeklinde ayarlayarak eşzamanlılık kısıtlamalarını kaldırıp varsayılan maksimum değerde (yani 80) belirleyebilirsiniz.
80
'e ayarlayıp mevcut düzeltmeyi güncelleyin:Yeni bir düzeltmenin oluşturulduğunu, trafiğin yönlendirilmeye başladığını ve eşzamanlılığın tekrar 80 olduğunu fark edeceksiniz.
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 memnun etmek için ana sayfaya bazı metinler ekleyeceksiniz. Geliştiricilerimizden biri, istenen değişiklikleri index.js.new
adlı bir dosyada hazırlamış. Bu dosyayı index.js
dosyasına kopyalarsanız değişiklikleriniz sayfaya yansıtılacaktır. Uygun değişiklikleri yapmak için aşağıdaki talimatları uygulayın.
Bu işlem sonucunda elde edilen kod aşağıdaki gibi görünmelidir:
React bileşenlerini güncellediniz ancak statik dosyaları oluşturmak için React uygulamasını derlemeniz gerekiyor.
Kod güncellendiğine göre Docker container'ını yeniden derleyip Artifact Registry'de yayınlayın. Aynı komutu önceki gibi tekrar kullanabilirsiniz ancak bu kez sürüm etiketini güncelleyin.
Sonraki bölümde, kapalı kalma süresi olmadan uygulamanızı güncellemek için bu görüntüyü kullanacaksınız.
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Değişiklikler tamamlandı ve pazarlama ekibi yaptığınız güncellemelerden memnun kaldı. Sırada, kullanıcıların işlerini kesintiye uğratmadan web sitesini güncellemek var. Cloud Run tüm dağıtımları önce online hale getirilen, daha sonra kendisine trafik yönlendirilen yeni bir Düzeltme olarak değerlendirir.
Varsayılan olarak, bir hizmete gelen trafiğin %100'ü en son düzeltmeye atanır. Hizmet içindeki farklı düzeltmelere farklı oranlarda trafik paylaştırmak için "Rotalar" kullanılabilir. Web sitenizi güncellemek için aşağıdaki talimatları izleyin.
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Çıkış:
Burada artık hizmetin, yeni bir düzeltmede dağıtılmış olan görüntünüzün son sürümünü kullandığını görürsünüz.
Değişiklikleri doğrulamak için Cloud Run hizmetinin harici URL'sine gidin, sayfayı yenileyin ve uygulama başlığının güncellenmiş olup olmadığına bakın.
Cloud Run'da başarılı bir şekilde web sitenizin dağıtımını yaptınız, ölçeğini küçülttünüz, yeniden ölçeklendirmesini ve güncellemesini yaptınız.
Bu yönlendirmesiz öğrenim laboratuvarı, Website on Google Cloud (Google Cloud'da Web Sitesi) görevinin bir parçasıdır. Görevler, bir öğrenme rotasını oluşturan birbiriyle bağlantılı laboratuvar dizilerini ifade eder. Bir görevi tamamladığınızda başarınızın ödülü olarak rozet kazanırsınız. Rozetlerinizi herkese açık hâle getirebilir ve rozetin bağlantısını online özgeçmişinizde veya sosyal medya hesabınızda paylaşabilirsiniz. Bu laboratuvarı içeren herhangi bir göreve kaydolun ve tamamlama kredisini anında kazanın. Görevlerin tamamını Google Cloud Öğrenim Merkezi kataloğunda bulabilirsiniz.
Bu ürünlere aşina değilseniz aşağıdaki bağlantılardan daha fazla bilgi edinebilirsiniz:
Kılavuzun Son Güncellenme Tarihi: 13 Aralık 2023
Laboratuvarın Son Test Edilme Tarihi: 13 Aralık 2023
Telif Hakkı 2025 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.
This content is not currently available
We will notify you via email when it becomes available
Great!
We will contact you via email if it becomes available
One lab at a time
Confirm to end all existing labs and start this one