Cloud Code ile Geliştirme

1. Hedefler

Bu laboratuvarda şunları yapacaksınız:

  • Cloud Code eklentilerini keşfetme
  • Kubernetes kümesine dağıtma
  • Kubernetes günlüklerini yayınlama
  • Değişikliklerin anında yeniden yüklenmesinden yararlanma
  • Canlı Kubernetes uygulamalarında hata ayıklama

2. Çalışma alanınızı hazırlama

Uygulamayı klonlama

Depoyu klonlamak ve geliştirme ortamınızda açmak için:

  1. Aşağıdaki URL'yi ziyaret ederek Cloud Shell Düzenleyici'yi açın.

https://ide.cloud.google.com

  1. Terminal penceresinde, aşağıdaki komutu kullanarak uygulama kaynağını klonlayın:

git clone https://github.com/viglesiasce/sample-app.git -b golden-path

  1. Dizine geçin ve IDE çalışma alanını depo köküne ayarlayın.

cd sample-app && cloudshell workspace .

Minikube'u başlatma

Bu bölümde, Minikube adlı yerel bir Kubernetes sürümünü kullanarak uygulamanızı oluşturacak, test edecek, dağıtacak ve erişeceksiniz.

  1. Terminalde şu komutu çalıştırarak minikube'u başlatın:

minikube start

Minikube, Cloud Shell'inizde yerel bir Kubernetes kümesi oluşturur. Bu kurulum birkaç dakika sürer. Başlangıç sırasında, bir sonraki adımda Cloud Code'un sağladığı çeşitli arayüzleri inceleyin.

3. Cloud Code eklentisini keşfetme

Cloud Code, Kubernetes ve Cloud Run uygulamalarının geliştirme döngüsünün tamamı için IDE desteği sağlar. Bu destek, mevcut bir şablondan uygulama oluşturmaktan dağıtılan uygulamanızın kaynaklarını izlemeye kadar tüm süreçleri kapsar. Cloud Code'un sağladığı farklı komutları ve görünümleri kullanacaksınız. Bu adımda temel arayüzleri tanıyacaksınız.

Etkinlik çubuğundan inceleme gezgini görünümlerini inceleme

Etkinlik çubuğundan birden fazla kullanıcı arayüzü paneline erişilebilir. Çeşitli görünümlerle kısa bir süre içinde tanışmak için her görünümün simgesini tıklayın.

API Gezgini:

  • Etkinlik çubuğunda Cloud Code - Cloud API'leri simgesini Cloud Code  tıklayın. Bu görünümde çalışmayla ilgili ek ayrıntıları belgelerde bulabilirsiniz.

ded1723c524edd72.png

Secret Manager Gezgini:

  • Etkinlik çubuğunda Secret Manager görünümünü  tıklayın. Bu görünümde çalışma hakkında daha fazla bilgi için belgeleri inceleyin.

89f88159bcf79fa9.png

Cloud Run Explorer:

  • Soldaki Etkinlik çubuğunda Cloud Run simgesini kullanarak Cloud Run Gezgini'ne gidin . Bu görünümde çalışma hakkında ek ayrıntılar belgelerde yer almaktadır.

a1d583fd06413011.png

Kubernetes Gezgini:

  • Sol taraftaki Etkinlik çubuğunda bulunan simgeyi kullanarak Kubernetes Explorer'a gidin . Bu görünümde çalışmayla ilgili ek ayrıntılar dokümanlarda yer almaktadır.

b2b8ab3975c5b0c9.png

Durum çubuğu komutlarını inceleme

Sık kullanılan komutlara durum çubuğundaki gösterge aracılığıyla hızlıca erişilebilir.

  • Durum çubuğunda Cloud Code uzantısı göstergesini d61e85cf23a32a40.png  bulun ve tıklayın.
  • Cloud Run ve Kubernetes'te çalıştırmak ve hata ayıklamak için kullanılabilecek çeşitli komutları inceleyin.
  • Ek ayrıntılar ve örnek etkinlikler için Hoş Geldiniz sayfasını aç'ı tıklayın.

Komut paletindeki komutları inceleme

Komut paletinde ek komutlar bulunur. Erişebileceğiniz komutların listesini inceleyin.

  • Komut Paleti'ni açın (Ctrl/Cmd+Üst Karakter+P tuşlarına basın) ve ardından kullanılabilir komutları filtrelemek için Cloud Code yazın.
  • Komut listesinde gezinmek için ok tuşlarını kullanın.

4. Kubernetes kümesine dağıtma

Bu bölümde uygulamanızı oluşturacak, test edecek, dağıtacak ve erişeceksiniz.

Aşağıdaki adımlarda, kaynak kodun derlemesi başlatılır ve ardından testler çalıştırılır. Derleme ve testlerin çalıştırılması birkaç dakika sürer. Bu testler, birim testlerini ve dağıtım ortamı için belirlenen kuralları kontrol eden bir doğrulama adımını içerir. Bu doğrulama adımı zaten yapılandırılmıştır ve geliştirme ortamınızda çalışırken bile dağıtım sorunlarıyla ilgili uyarı almanızı sağlar.

  1. Cloud Shell Düzenleyici'nin alt kısmındaki bölmede Cloud Code'u  d61e85cf23a32a40.png seçin.
  2. En üstte görünen panelde Kubernetes'te çalıştır'ı seçin. İstenirse minikube Kubernetes bağlamını kullanmak için Evet'i seçin.
  3. İlerleme durumunu ve bildirimleri görüntülemek için alt bölmede Çıkış sekmesini 4866761cb9c691e2.png seçin.
  4. Ek ayrıntıları ve kapsayıcılardan canlı olarak yayınlanan günlükleri görüntülemek için sağdaki kanal açılır listesinde c5e31091d464dbcf.png "Kubernetes: Run/Debug - Detailed" seçeneğini belirleyin.

Derleme ve testler tamamlandığında Çıkış sekmesinde Resource deployment/sample-app-dev status completed successfully mesajı gösterilir ve iki URL listelenir.

  1. Cloud Code terminalinde, çıkıştaki ilk URL'nin (http://localhost:8080) üzerine gelin ve ardından açılan araç ipucunda Web Önizlemesini Aç'ı seçin.

Uygulamanın yerel sürümü tarayıcınızda açılır. Uygulamanın bu sürümü, minikube'un Kubernetes kümesinde çalışıyor.

  1. Tarayıcınızda sayfayı yenileyin. Sayacın yanındaki sayı artar ve uygulamanın yenileme isteğinize yanıt verdiğini gösterir.

Tarayıcınızda bu sayfayı açık tutarak yerel ortamınızda değişiklik yaparken uygulamayı görüntüleyebilirsiniz.

5. Değişikliklerin anında yeniden yüklenmesinden yararlanma

Bu bölümde, uygulamada bir değişiklik yapıp uygulamayı yerel Kubernetes kümesinde çalıştırırken bu değişikliği görüntülersiniz. Kubernetes: Run/Debug kanalının çıkış sekmesinde, uygulama URL'lerinin yanı sıra çıkışta Watching for changes. ifadesi de yer alıyor. Bu, izleme modunun etkin olduğu anlamına gelir. Cloud Code, izleme modundayken deponuzdaki kaydedilmiş değişiklikleri algılar ve uygulamayı en son değişikliklerle otomatik olarak yeniden derleyip yeniden dağıtır.

  1. Cloud Shell Düzenleyici'de main.go dosyasına gidin.
  2. Bu main.go dosyasının 23. satırında rengi yeşilden maviye değiştirin.
  3. Dosyayı kaydedin.

Cloud Code, uygulamada yapılan değişikliğin kaydedildiğini algılar ve değişikliği otomatik olarak yeniden dağıtır. Çıkış sekmesinde Güncelleme başlatıldı gösterilir. Bu yeniden dağıtımın çalışması birkaç dakika sürer.

Bu otomatik yeniden oluşturma, bazı uygulama türleri ve çerçevelerinde kullanılabilen bir özellik olan sıcak kod yeniden yüklemeye benzer.

  1. Derleme tamamlandığında, uygulamayı açtığınız tarayıcıya gidip sayfayı yenileyin.

Yenilediğinizde tablonun üst kısmındaki renk maviden yeşile döner.

Bu kurulum, herhangi bir mimari ve bileşen için otomatik yeniden yükleme olanağı sunar. Cloud Code ve minikube kullanılırken Kubernetes'te çalışan her şeyde bu anında kod yeniden yükleme işlevi bulunur.

6. Canlı Kubernetes uygulamalarında hata ayıklama

Uygulamayı çalıştırdınız, bir değişiklik yaptınız ve çalışan uygulamayı görüntülediniz. Bu bölümde, uygulamanın ana depoya geri göndermeye hazır olduğundan emin olmak için uygulamada hata ayıklama işlemi yaparsınız.

Bu hata ayıklama örneğinde, kodun sayfa sayacıyla ilgili bölümüne odaklanacağız.

  1. Cloud Shell Düzenleyici'de main.go dosyasını açın.
  2. 82. satırın solundaki sayıyı tıklayarak uygulamada bir kesme noktası ayarlayın (if err != nil {)
  3. Cloud Shell Düzenleyici'nin alt kısmındaki mavi bölmede Cloud Code'u d61e85cf23a32a40.png seçin.
  4. En üstte görünen panelde Kubernetes'te hata ayıklama'yı seçin.

Cloud Code, hata ayıklayıcıları çalıştırır ve ekler. Böylece, uygulamanın yalnızca kullanıcıya yönelik davranışına değil, bellekteki durumuna da erişebilirsiniz.

  1. Dağıtım işleminin sonunda, pencerenizin üst kısmında uygulamanın dağıtıldığı kapsayıcıdaki dizini onaylamanızı isteyen bir istem görünür. f96e9a814edb44f4.png

Değerin /go/src/app olarak ayarlandığını doğrulayın ve değeri kabul etmek için Enter tuşuna basın.

  1. Hata ayıklayıcının dağıtımının tamamlanmasını bekleyin. Durum çubuğu turuncuya döndüğünde ve çıkışta "Attached debugger to container "sample-app-dev-..." successfully raporu gösterildiğinde işlemin tamamlandığını anlarsınız."
  2. Cloud Code terminalinde, çıkıştaki ilk URL'nin (http://localhost:8081) üzerine gelin ve görüntülenen araç ipucunda Web Önizlemesini Aç'ı seçin. Sayfa yüklenmeyi tamamlamaz. Bu durum normaldir.
  3. Hata ayıklayıcının göründüğü IDE'ye geri dönün. Kod sekmede görünür. Burada çağrı yığınını ve kodun o bölümünde hangi değişkenlerin kullanılabildiğini görürsünüz. Mevcut sayaç değişkeni değerini görmek için Değişkenler - Yerel bölümünü genişletebilirsiniz.
  4. Sayfanın yüklenmeye devam etmesine izin vermek için hata ayıklama penceresinde "Devam" simgesini seçin. 8f395391c4828528.png
  5. Hata ayıklama işlemini tamamladığınızda çalışan her bir iş parçacığını sonlandırmak için durdurma düğmesini tıklayın. 81d142a9e1a2c01b.png