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örevleriyle birlikte 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:
Bu lab'da şunları öğreneceksiniz:
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. Docker container'ı oluşturma ve görüntüyü Artifact Registry'ye yerleştirme işlemlerini Cloud Build'de tek bir komutla yapabilirsiniz.
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.
Konsolda arama alanına Artifact Registry yazarak arama yapın, ardından Artifact Registry sonucunu tıklayın.
Create Repository'i (Depo 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'ye 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 Artifact 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 vardır:
[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 şirketiniz ve ne tür ürünler sattığınız hakkında daha fazla bilgi vermesi 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 ürünlere aşina değilseniz aşağıdaki bağlantılardan daha fazla bilgi edinebilirsiniz:
Kılavuzun Son Güncellenme Tarihi: 31 Aralık 2025
Laboratuvarın Son Test Edilme Tarihi: 31 Aralık 2025
Telif Hakkı 2026 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