Çözümlerimiz Müşterilerimiz İletişim EN

Çekirdekten Yetişenler Programı

Göreviniz bu sayfada!


Bulut Mühendisi “çekirdekten yetişen” olmak istiyorsanız, sıradaki aşamada size verilecek görevi yerine getirmeniz gerekiyor.

GÖREV

İstek atıldığında “Kartaca Staj 2023” çıktısı üreten bir web uygulaması yazın ve dockerize edin, oluşturacağınız docker image’ı public bir registry üzerine push’layın.

Google Cloud Platform üzerinde bir Kubernetes cluster oluşturacak ve yazdığınız web uygulamasını internetten erişilebilir şekilde bu Kubernetes cluster üzerine deploy edecek Terraform kodlarını hazırlayın.


GÖREV GEREKSİNİMLERİ

  • Yazacağınız web uygulaması için istediğiniz dili tercih edebilirsiniz.
  • Terraform’da kullanacağınız Google Provider Credential’ı için, oluşturacağınız service account’a ait key’i kullanın. Bu dosyayı Terraform kodlarınızın bulunduğu dizinde service-account.json dosyasından okuyun.
  • Terraform ile oluşturacağınız kaynaklar için europe-west1 region’ını tercih edin.
  • Terraform’un uygulanacağı GCP Proje adını terraform apply komutu sırasında terminalden parametre olarak alın.
  • GCP üzerindeki default network’ü kullanmayın, kartaca-staj adında bir vpc oluşturup GKE için gerekli diğer network yapılandırmalarını da Terraform ile oluşturun.
  • Oluşturacağınız GKE cluster için Autopilot değil Standart tipi tercih edin, cluster’ı tek bir zone’a değil region’a dağılacak şekilde yapılandırın.
  • Yazdığınız uygulamanın GKE üzerine Terraform ile deploy edilmesi aşamasında istediğiniz provider yada modülü kullanabilirsiniz.
  • Yazdığınız uygulamayı GKE üzerinde ingress yada load balancer olarak istediğiniz şekilde internetten erişilebilir yapabilirsiniz.
  • terraform apply komutu tamamlandıktan sonra GKE cluster’a deploy ettiğiniz uygulamanın adresini terraform output olarak yazdırın.
  • terraform destroy çalıştırıldığı zaman oluşturduğunuz bütün resource’ların kaldırıldığından emin olun.

BONUS (İSTEĞE BAĞLI)

GKE cluster’ı Private cluster olarak yapılandırıp uygulamayı deploy edin.
İpucu: Private cluster GKE üzerindeki worker node’lara atanmış bir public IP olmayacaktır, k8s cluster içinden internete çıkabilmek için GCP network’ünde ek yapılandırmalar yapmanız gerekecektir.


DEĞERLENDİRME

  • İletmiş olduğunuz GitHub reposunu klonlayıp içine service-account.json (testleri gerçekleştireceğimiz GCP projesinde yetkili service account key) dosyasını kopyalacağız.
  • terraform init ve terraform apply komutlarını çalıştıracağız, terraform apply çalıştırdıktan sonra, test için kullanacağımız proje adını input olarak kullanıcıdan almanızı bekliyoruz.
  • terraform apply komutunun bütün resource’ları başarı ile oluşturmuş ve çıktı olarak GKE üzerine deploy ettiğiniz web uygulamasının adresini console’a yazmış olmasını bekliyoruz.
  • Kontrolleri sağladıktan sonra terraform destroy komutunu çalıştırıp bütün kaynakların başarılı bir şekilde silinmesini bekliyoruz.

$ terraform init

$ terraform apply
var.project
  Enter a value: kartaca-test-projeid-yazılacak
...
...
Apply complete! Resources: X added, 0 changed, 0 destroyed.

$ terraform output
application_address = "http://<gcp_lb_address>"

$ terraform destroy

$ curl "http://<gcp_lb_address>"
Kartaca Staj 2023

NOTLAR

  • Görevdeki tüm gereksinimleri yerine getiremediyseniz bile, moralinizi bozmayın ve tamamladığınız kadarını bizimle mutlaka 2 Nisan 2023 tarihine kadar paylaşın.
  • Infrastructre’ın oluşturulması ve uygulamanın deploy edilmesi için gereken bütün kod ve yapılandırma dosyaları GitHub, GitLab, Bitbucket gibi erişime açık bir repo’ya gönderilerek, bağlantı adresi insankaynaklari@kartaca.com‘a iletilmelidir.
  • Repo üzerinden paylaşım sağlayamıyorsanız, bize indirilebilir dosyalara ulaşmamız için bir bağlantı iletin.

Başarılar!