Cloud Run Starter Eğiticisi

1. Genel Bakış

Cloud Run, HTTP istekleriyle çağrılabilen durum bilgisiz container'ları çalıştırmanızı sağlayan, tümüyle yönetilen, sunucusuz bir platformdur. Cloud Run sunucusuzdur: Tüm altyapı yönetimini soyutladığı için en önemli işe, yani harika uygulamalar geliştirmeye odaklanabilirsiniz.

Knative üzerinde derlenen bu platform, container'larınızı Cloud Run ile tümüyle yönetilecek şekilde veya Google Kubernetes Engine kümenizde Cloud Run on GKE ile çalıştırmayı seçebilmenizi sağlar.

Öğrenecekleriniz

Bu laboratuvarda aşağıdakileri nasıl yapacağınızı öğreneceksiniz:

  • Cloud Run uygulamasını dağıtma

Ön koşullar

  • Bu laboratuvarda, Cloud Console ve Cloud Shell ortamlarıyla ilgili bilgi sahibi olmanız gerekir.

2. Kurulum ve Gereksinimler

Cloud projesi kurulumu

  1. Google Cloud Console'da oturum açıp yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Proje adı, bu projenin katılımcıları için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. İstediğiniz zaman güncelleyebilirsiniz.
  • Proje Kimliği, tüm Google Cloud projelerinde benzersizdir ve değiştirilemez (belirlendikten sonra değiştirilemez). Cloud Console, otomatik olarak benzersiz bir dize oluşturur. bunun ne olduğunu umursamıyorsunuz. Çoğu codelab'de proje kimliğini (genellikle PROJECT_ID olarak tanımlanır) referans almanız gerekir. Oluşturulan kimliği beğenmezseniz rastgele bir kimlik daha oluşturabilirsiniz. Alternatif olarak, kendi ölçümünüzü deneyip mevcut olup olmadığına bakabilirsiniz. Bu adımdan sonra değiştirilemez ve proje süresince kalır.
  • Bilginiz için bazı API'lerin kullandığı üçüncü bir değer, yani Proje Numarası daha vardır. Bu değerlerin üçü hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
  1. Sonraki adımda, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i çalıştırmanın maliyeti, yüksek değildir. Bu eğitim dışında faturalandırma yapılmaması için kaynakları kapatmak isterseniz oluşturduğunuz kaynakları silebilir veya projenin tamamını silebilirsiniz. Yeni Google Cloud kullanıcıları, 300 ABD doları değerindeki ücretsiz denemeden yararlanabilir.

Ortam Kurulumu

Arama çubuğunun sağındaki simgeyi tıklayarak Cloud Shell'i etkinleştirin.

ecdc43ada29e91b.png

Cloud Shell'den Cloud Run API'yi etkinleştirin:

gcloud services enable run.googleapis.com

Yetki vermeniz istenirse "Yetkilendir"i tıklayın seçeneğini tıklayın.

6356559df3eccdda.png

Bu işlem, aşağıdakine benzer başarılı bir mesaj üretir:

Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.

3. Başvuruyu Hazırla

İlk olarak HTTP isteklerine yanıt veren, ekspres tabanlı basit bir Node.js uygulaması hazırlayacaksınız.

Cloud Shell'de starter-nodejs adında yeni bir dizin oluşturun ve bu dizinde değişiklik yapın:

mkdir starter-nodejs
cd starter-nodejs

Aşağıdaki komutları çalıştırarak bir package.json dosyası oluşturun:

cat > ./package.json << EOF
{
  "name": "cloudrun-starter-app",
  "version": "1.0.0",
  "description": "Node.js Starter Application",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "",
  "license": "Apache-2.0",
  "dependencies": {
    "express": "^4.18.2"
  }
}
EOF

Yukarıdaki dosya, komut dosyası başlat komutu ve Express web uygulaması çerçevesine bağımlılığı içerir.

Daha sonra, aynı dizinde aşağıdaki komutları çalıştırarak bir index.js dosyası oluşturun:

cat > ./index.js << EOF
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  console.log('Received a request.');
  res.send("Hello Cloud Run!");
});

const port = process.env.PORT || 8080;

app.listen(port, () => {
  console.log('Listening on port', port);
});
EOF

Bu kod, PORT ortam değişkeni tarafından tanımlanan bağlantı noktasında dinleme yapan temel bir web sunucusu oluşturur. Uygulamanız tamamlandı. Container mimarisine alınıp dağıtılmaya hazır.

4. Cloud Run Uygulamasını Dağıtma

Uygulamanızı dağıtmak için aşağıdaki komutu çalıştırın:

gcloud run deploy starter-app \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --max-instances=3

Artifact Registry deposu oluşturmayı onaylayın:

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created.

Do you want to continue (Y/n)? y

Önceki komutun sonucunda aşağıdaki adımlar yürütülecektir:

d661616f9b2fffcf.png

Cloud Console'da bu adımların çıkışını keşfedin: Cloud Build, Cloud Storage, Artifact Registry ve Cloud Run.

f536961280192919.png

5. Tebrikler!

Tebrikler! Cloud Run'a az önce bir uygulama dağıttınız.

İşlediğimiz konular:

  • Cloud Run'da başlangıç uygulaması dağıtma

Sıradaki adım:

Diğer Cymbal Eats codelab'lerini keşfedin:

Temizleme

Bu eğiticide kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız kaynakları içeren projeyi silin veya projeyi tutup tek tek kaynakları silin.

Projeyi silme

Faturalandırmayı ortadan kaldırmanın en kolay yolu, eğitim için oluşturduğunuz projeyi silmektir.