arrow_back

Mengoptimalkan Biaya untuk Google Kubernetes Engine: Challenge Lab

Login Gabung
Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the student account, which may cause extra charges incurred to your personal account.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

Mengoptimalkan Biaya untuk Google Kubernetes Engine: Challenge Lab

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

GSP343

Pengantar

Dalam challenge lab, Anda diberi sebuah skenario dan serangkaian tugas. Tidak ada petunjuk langkah demi langkah. Anda akan menggunakan keahlian yang dipelajari dari lab dalam kursus untuk mencari cara menyelesaikan sendiri tugas-tugas tersebut. Sistem pemberian skor otomatis (ditampilkan pada halaman ini) akan memberikan masukan tentang apakah Anda telah menyelesaikan tugas dengan benar atau tidak.

Saat mengikuti challenge lab, Anda tidak akan diajari konsep-konsep baru Google Cloud. Anda diharapkan dapat memperluas keahlian yang dipelajari, seperti mengubah nilai default dan membaca serta mengkaji pesan error untuk memperbaiki kesalahan Anda sendiri.

Untuk meraih skor 100%, Anda harus berhasil menyelesaikan semua tugas dalam jangka waktu tertentu.

Lab ini hanya direkomendasikan untuk siswa yang terdaftar dalam kursus Optimize Costs for Google Kubernetes Engine. Apakah Anda siap menghadapi tantangan ini?

Penyiapan dan persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Skenario tantangan

Anda adalah admin utama Google Kubernetes Engine di tim yang mengelola toko online untuk OnlineBoutique.

Anda siap men-deploy situs tim ke Google Kubernetes Engine, tetapi masih mencari cara untuk memastikan bahwa Anda dapat menekan biaya dan meningkatkan kinerja.

Anda akan bertanggung jawab men-deploy aplikasi OnlineBoutique ke GKE dan membuat beberapa perubahan konfigurasi yang telah direkomendasikan untuk pengoptimalan biaya.

Berikut beberapa pedoman yang harus Anda ikuti saat melakukan deployment:

  • Buat cluster di zona .
  • Skema penamaan clusternya adalah tim-resource-angka, misalnya, sebuah cluster dapat diberi nama .
  • Untuk cluster awal Anda, mulai dengan ukuran mesin e2-standard-2 (2 vCPU, 8G memory).
  • Setel cluster Anda untuk menggunakan release-channel cepat.

Tugas 1. Membuat cluster dan men-deploy aplikasi

  1. Sebelum dapat men-deploy aplikasi, Anda harus membuat cluster di zona , lalu memberinya nama .

  2. Mulailah dari yang kecil dan buat cluster zona dengan dua (2) node saja.

  3. Sebelum men-deploy toko, pastikan Anda menyiapkan beberapa namespace untuk memisahkan resource di cluster Anda sesuai dengan 2 lingkungan - dev dan prod.

  4. Setelah itu, deploy aplikasi ke namespace dev dengan perintah berikut ini:

git clone https://github.com/GoogleCloudPlatform/microservices-demo.git && cd microservices-demo && kubectl apply -f ./release/kubernetes-manifests.yaml --namespace dev

Klik Check my progress untuk memverifikasi tujuan. Membuat cluster dan men-deploy aplikasi

Tugas 2. Bermigrasi ke node pool yang dioptimalkan

  1. Setelah berhasil men-deploy aplikasi ke namespace dev, lihat detail node berikut:

Anda mendapatkan kesimpulan bahwa Anda harus membuat perubahan pada node pool cluster:

  • Ada banyak sisa RAM dari deployment saat ini sehingga Anda seharusnya dapat menggunakan node pool dengan mesin yang menawarkan lebih sedikit RAM.
  • Sebagian besar deployment yang jumlah replikanya mungkin Anda pertimbangkan untuk ditingkatkan akan memerlukan hanya 100mcpu per pod tambahan Anda berpotensi menggunakan node pool dengan total CPU lebih sedikit jika Anda mengonfigurasinya untuk menggunakan mesin yang lebih kecil. Namun, Anda juga perlu mempertimbangkan berapa banyak deployment yang perlu diskalakan, dan seberapa besar penskalaannya.
  1. Buat node pool baru bernama dengan custom-2-3584 sebagai jenis mesin.

  2. Tetapkan jumlah node ke 2.

  3. Setelah node pool baru disiapkan, migrasikan deployment aplikasi Anda ke node pool baru dengan menutup dan mengosongkan default-pool.

  4. Hapus default-pool setelah deployment berhasil dimigrasikan dengan aman.

Klik Check my progress untuk memverifikasi tujuan. Bermigrasi ke node pool yang dioptimalkan

Tugas 3. Menerapkan update frontend

Anda baru saja men-deploy semuanya, dan sekarang tim developer Anda melakukan update pada menit-menit terakhir sebelum rilis berikutnya. Tidak masalah. Anda tahu hal ini bisa dilakukan tanpa perlu menyebabkan periode nonaktif.

  1. Tetapkan anggaran gangguan pod untuk deployment frontend Anda.

  2. Beri nama onlineboutique-frontend-pdb.

  3. Tetapkan min-availability deployment Anda ke 1.

Sekarang, Anda dapat menerapkan update tim Anda. Mereka telah mengubah file yang digunakan untuk banner halaman beranda dan memberi Anda image Docker yang diperbarui:

gcr.io/qwiklabs-resources/onlineboutique-frontend:v2.1
  1. Edit deployment frontend Anda dan ubah image-nya ke image yang telah diperbarui.

  2. Saat mengedit deployment Anda, ubah ImagePullPolicy ke Always.

Klik Check my progress untuk memverifikasi tujuan. Menerapkan Update Frontend

Tugas 4. Melakukan penskalaan otomatis dari estimasi traffic

Kampanye pemasaran mendatang akan menyebabkan lonjakan traffic di toko OnlineBoutique. Biasanya, Anda akan menjalankan resource tambahan untuk menangani estimasi lonjakan traffic. Namun, jika lonjakan traffic lebih besar dari perkiraan, Anda mungkin akan terbangun di tengah malam untuk menjalankan lebih banyak resource guna menangani beban tersebut.

Anda juga sebaiknya tidak menjalankan resource tambahan lebih lama dari yang diperlukan. Untuk mengurangi biaya dan mencegah terjadinya masalah, Anda dapat mengonfigurasi deployment Kubernetes untuk melakukan penskalaan secara otomatis saat beban mulai melonjak.

  1. Terapkan penskalaan otomatis Pod horizontal ke deployment frontend Anda untuk menangani lonjakan traffic.

  2. Lakukan penskalaan berdasarkan persentase cpu target sebesar 50.

  3. Tetapkan penskalaan pod antara minimum 1 dan maksimum .

Tentu saja Anda ingin memastikan pengguna tidak akan mengalami periode nonaktif saat deployment diskalakan.

  1. Guna memastikan tindakan penskalaan terjadi tanpa periode nonaktif, tetapkan deployment untuk diskalakan dengan persentase cpu target sebesar 50%. Hal ini memungkinkan banyak ruang untuk menangani beban saat penskalaan otomatis terjadi.

  2. Tetapkan deployment untuk diskalakan antara minimum 1 pod dan maksimum pod.

Namun, bagaimana jika lonjakan traffic melebihi resource komputasi yang baru-baru ini Anda sediakan? Anda mungkin perlu menambahkan node komputasi tambahan.

  1. Selanjutnya, pastikan cluster Anda dapat otomatis menjalankan node komputasi tambahan jika diperlukan. Namun, peningkatan skala bukanlah satu-satunya kasus yang dapat Anda tangani dengan penskalaan otomatis.

  2. Dengan berpikir jauh ke depan, Anda mengonfigurasi jumlah minimum node dan jumlah maksimum node. Dengan cara ini, cluster dapat menambahkan node ketika traffic tinggi, dan mengurangi jumlah node ketika traffic rendah.

  3. Update autoscaler cluster Anda untuk diskalakan antara minimum 1 node and maksimum 6 node.

Klik Check my progress untuk memverifikasi tujuan. Melakukan penskalaan otomatis dari estimasi traffic

  1. Terakhir, jalankan uji beban untuk menyimulasikan lonjakan traffic.

Untungnya, OnlineBoutique dirancang dengan pembuatan beban bawaan. Saat ini, instance dev Anda menyimulasikan traffic di toko dengan ~10 pengguna serentak.

  1. Agar dapat mereplikasi traffic yang diperkirakan untuk peristiwa ini dengan lebih baik, jalankan pembuatan beban dari pod loadgenerator Anda dengan jumlah pengguna serentak yang lebih tinggi menggunakan perintah ini. Ganti YOUR_FRONTEND_EXTERNAL_IP dengan IP layanan frontend-external:
kubectl exec $(kubectl get pod --namespace=dev | grep 'loadgenerator' | cut -f1 -d ' ') -it --namespace=dev -- bash -c 'export USERS=8000; locust --host="http://YOUR_FRONTEND_EXTERNAL_IP" --headless -u "8000" 2>&1'
  1. Sekarang, perhatikan Workload Anda dan pantau bagaimana cluster Anda menangani lonjakan traffic.

Anda akan melihat recommendationservice Anda tidak bekerja atau, setidaknya, sangat kesulitan karena peningkatan permintaan.

  1. Terapkan penskalaan otomatis Pod horizontal ke deployment recommendationservice Anda. Lakukan penskalaan berdasarkan persentase cpu target sebesar 50 dan tetapkan penskalaan pod antara minimum 1 dan maksimum 5.
Catatan: Proses penskalaan dari uji beban dan penyediaan node baru akan membutuhkan waktu beberapa menit.

Tugas 5. (Opsional) Mengoptimalkan layanan lainnya

Meskipun penerapan penskalaan otomatis Pod horizontal ke layanan frontend membuat aplikasi Anda tetap tersedia selama uji beban, jika Anda memantau workload lain, Anda akan melihat beberapa workload tersebut dikirim secara besar-besaran untuk resource tertentu.

Jika Anda masih memiliki waktu tersisa di lab, periksa beberapa workload Anda yang lain dan coba optimalkan dengan menerapkan penskalaan otomatis ke metrik resource yang tepat.

Anda juga dapat melihat apakah memungkinkan untuk mengoptimalkan lebih lanjut pemanfaatan resource Anda dengan Penyediaan Otomatis Node.

Selamat!

Selamat! Di lab ini, Anda telah berhasil men-deploy aplikasi OnlineBoutique ke Google Kubernetes Engine dan membuat beberapa perubahan konfigurasi yang direkomendasikan untuk pengoptimalan biaya. Anda juga telah menerapkan penskalaan otomatis Pod horizontal ke frontend dan deployment recommendationservice Anda untuk menangani lonjakan traffic. Selain itu, Anda telah mengoptimalkan layanan lain dengan menerapkan penskalaan otomatis ke metrik resource yang tepat.

Mendapatkan badge keahlian Anda berikutnya

Lab mandiri ini merupakan bagian dari kursus badge keahlian Optimize Costs for Google Kubernetes Engine. Dengan menyelesaikan kursus badge keahlian ini, Anda akan mendapatkan badge di atas sebagai pengakuan atas pencapaian Anda. Tampilkan badge di resume atau platform media sosial Anda, dan umumkan pencapaian Anda menggunakan hashtag #GoogleCloudBadge.

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 29 April 2024

Lab Terakhir Diuji pada 29 April 2024

Hak cipta 2025 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.