Cloud Run Starter Eğiticisi

1. Genel Bakış

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

Knative'den derlenen bu platform sayesinde, container'larınızı Cloud Run ile tümüyle yönetilecek şekilde veya Cloud Run on GKE ile Google Kubernetes Engine kümenizde çalıştırmayı tercih edebilirsiniz.

Öğrenecekleriniz

Bu laboratuvarda şunları yapmayı öğreneceksiniz:

  • Cloud Run uygulamasını dağıtma

Ön koşullar

  • Bu laboratuvarda, Cloud Console ve Cloud Shell ortamlarına aşina olduğunuz varsayılır.

2. Kurulum ve Gereksinimler

Cloud projesi kurulumu

  1. Google Cloud Console'da oturum açın ve 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. Dilediğiniz zaman bunu güncelleyebilirsiniz.
  • Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve sabittir (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dizeyi otomatik olarak oluşturur. Genellikle bu dizenin ne olduğuyla ilgilenmezsiniz. Çoğu codelab'de proje kimliğine (genellikle PROJECT_ID olarak tanımlanır) başvurmanız gerekir. Oluşturulan kimliği beğenmezseniz başka bir rastgele kimlik oluşturabilirsiniz. Dilerseniz kendi adınızı deneyerek kullanılabilir olup olmadığını kontrol edebilirsiniz. Bu adımdan sonra değiştirilemez ve proje süresince geçerli kalır.
  • Bazı API'lerin kullandığı üçüncü bir değer olan Proje Numarası da vardır. Bu üç değer hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
  1. Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırma ücreti alınmaması için kaynakları kapatmak üzere oluşturduğunuz kaynakları veya projenin tamamını silebilirsiniz. Google Cloud'un yeni kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından 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

Yetkilendirmeniz istenirse devam etmek için "Yetkilendir"i tıklayın.

6356559df3eccdda.png

Bu işlem, şuna benzer bir başarılı mesajı oluşturur:

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

3. Uygulamayı hazırlama

Öncelikle, HTTP isteklerine yanıt veren basit bir Express tabanlı Node.js uygulaması hazırlayacaksınız.

Cloud Shell'de starter-nodejs adlı yeni bir dizin oluşturun ve bu dizine geçin:

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, bir başlangıç komut dosyası komutu ve Express web uygulaması çerçevesine bağımlılık içeriyor.

Ardından, 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şkeninin tanımladığı bağlantı noktasında dinleme yapan temel bir web sunucusu oluşturur. Uygulamanız tamamlandı ve kapsayıcıya alınmaya ve 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şturma işlemini 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ülür:

d661616f9b2fffcf.png

Cloud Console'da bu adımların çıktısını inceleyin: Cloud Build, Cloud Storage, Artifact Registry ve Cloud Run.

f536961280192919.png

5. Tebrikler!

Tebrikler! Cloud Run'a 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ğitimde kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini önlemek amacıyla kaynakları içeren projeyi silin veya projeyi koruyup tek tek kaynakları silin.

Projeyi silme

Faturalandırılmanın önüne geçmenin en kolay yolu, eğitim için oluşturduğunuz projeyi silmektir.