GCP Cloud Run Üzerine Container Deploy Edilmesi

Cloud Run

  • Tamamen sizin yönetebildiğiniz kaynaklar ile çalışan sunucusuz olarak containerları çalıştırabildiğiniz bir Google Cloud servisidir.
  • Bu servis Containerlarınızı hızlı bir şekilde çalışır hale getirir ve size container içerisindeki uygulamanıza ulaşabileceğiniz SSL sertifikalı bir adres verir.
  • Cloud Run iyi yanlarından biri sıfırdan bir sunucu kurup konfigrasyonu ile zaman kaybetmemenizi sağlar. Ayrıca container çalıştırmasından ötürü dilden bağımsızdır.
  • Diğer bir iyi yanı da containerın trafiğini dinleyerek sadece istek atıldığı sürece yani kaynak kullandığı süre boyunca ücretlendirme yapar.
  • Container Registry Docker imajlarınızı yükleyebildiğiniz ve dağıtımını yapabildiğiniz bir servistir.
  • Cloud Run üzerinde uygulamamızı çalışır hale getirirken Container Registry üzerindeki imajı kullanılıyoruz.
  • Günlük 120 dakika build etme süresini ücretsiz olarak kullanabiliyoruz.

1. Proje Dosyalarının hazırlanması

Proje yapısı şuaşağıdaki şekilde olacaktır.

helloworldproject
-> index.py
-> Dockerfile
index.py dosyasına buradan ulaşabilirsiniz.
Dockerfile dosyasına buradan ulaşabilirsiniz.

2. Google Cloud SDK Kullanarak Yeni Proje Oluşturulması

Aşağıdaki komutu projenizin bulunduğu dizinde terminale yazmalısınız. Eğer login olmamışsanız zaten size bir uyarı veriyor ve uyarıdaki adımları izleyerek Google hesabınız ile giriş yapabilirsiniz.

gcloud projects create helloworldprojesi

3. Proje için Container Registry ve Cloud Run Servislerini Aktif Etme

Servisleri aktif etmeden önce oluşturduğumuz proje için faturalandırma hesabını bağlamamız gerekiyor. Bunu arayüz üzerinden veya gcloud komutları ile yapabilirsiniz.

gcloud services enable cloudbuild.googleapis.com 
gcloud services enable run.googleapis.com

4. Projenin Container Reqistry Üzerine Deploy Edilmesi

Bu aşamada hazırlamış olduğumuz Dockerfile dosyası kullanılarak google cloud platformu üzerinde erişebileceğimiz ve dağıtabileceğimiz bir Docker imaj haline getirilir. Daha sonrası için bu imajı Cloud Run üzerinden kullanacağım.

gcloud builds submit --tag gcr.io/helloworldprojesi/helloworldimage
Oluşturulan Docker imajını arayüz üzerinden de görüntüleyebilirsiniz.

5. Oluşturulan Docker İmajının Cloud Run Servisinde Çalıştırılması

Cloud Run üzerinde Docker imajını çalışır hale getirirken belirli parametreler var. Bu paramatreler şunlardır;

  • Region : Containerın çalışacağı bölgeyi seçmemiz gerekiyor. Zorunludur.
asia-east1 (Taiwan)
asia-northeast1 (Tokyo)
europe-north1 (Finland)
europe-west1 (Belgium)
europe-west4 (Netherlands)
us-central1 (Iowa)
us-east1 (South Carolina)
us-east4 (Northern Virginia)
us-west1 (Oregon)
  • CPU Miktarı : Minimum 1 maksimum 2 seçebiliyoruz ve seçilmezse varsayılan CPU miktarı 1 olarak belirlenir.
  • Bellek Miktarı : Seçilmez ise varsayılan bellek miktarı 256Mb olarak belirlernir. Özel bellek miktarı seçileceği gibi hazır 128Mb, 250Mb, 512Mb, 1Gb ve 2Gb.
  • Container Başına Maksimum İstek Sayısı : Seçilmezse varsayılan 80 istek olarak belirlenir.
  • İstek Zaman Aşımı : Seçilmezse maksimum değer olarak 900 saniye varsayılan olarak belirlenir.
  • Otomatik Ölçekleme : Trafik miktarına göre container’ın ne kadar ölçeklenmesi gerektiği belirlenir. Seçilmezse varsayılan değer 1 olarak belirlenir. Maksimum seçilebilecek değer ise 1000.
gcloud run deploy helloapp --image  gcr.io/helloworldprojesi/helloworldimage --platform managed --region europe-west4 --allow-unauthenticated
Altı çizili kısım çalışan container’a ulaşabileceğimiz adrestir.
gcloud run services describe helloapp --platform managed --region europe-west4

--

--

https://ajiyba.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store