arrow_back

Mengimplementasikan continuous delivery dengan Gemini

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Mengimplementasikan continuous delivery dengan Gemini

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

Ringkasan

Di lab ini, Anda akan menggunakan Gemini, sebagai kolaborator berteknologi AI di Google Cloud, untuk menginvestigasi log dan menyiapkan lingkungan build untuk serangkaian microservice di Google Kubernetes Engine (GKE).

Lab ini ditujukan bagi para engineer dengan segala tingkat pengalaman yang bekerja di lingkungan DevOps.

Catatan: Duet AI berganti nama menjadi Gemini, model generasi berikutnya dari kami. Lab ini telah diperbarui untuk mencerminkan perubahan ini. Semua referensi terkait Duet AI dalam antarmuka pengguna atau dokumentasi harus diperlakukan setara dengan Gemini saat mengikuti petunjuk lab. Catatan: Sebagai teknologi tahap awal, Gemini dapat menghasilkan output yang seolah masuk akal tetapi mengandung fakta yang salah. Sebaiknya validasi semua output dari Gemini sebelum Anda menggunakannya. Untuk informasi lebih lanjut, lihat Gemini untuk Google Cloud dan responsible AI.

Tujuan

Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:

  • Membuat cluster GKE dengan bantuan Gemini.
  • Men-deploy serangkaian microservice ke GKE.
  • Menemukan dan memahami log aplikasi dengan bantuan Gemini.
  • Menggunakan Gemini untuk menginvestigasi cara membuat lingkungan build pribadi.

Penyiapan

Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details yang memuat sebagai berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk melihat menu dengan daftar produk dan layanan Google Cloud, klik Navigation menu di kiri atas. Ikon Navigation menu

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual dengan beberapa alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell memberikan akses command line ke resource Google Cloud Anda. gcloud adalah alat command line untuk Google Cloud. Fitur ini sudah terinstal di Cloud Shell dan mendukung penyelesaian tab.

  1. Di Google Cloud Console, pada panel navigasi, klik Activate Cloud Shell (Ikon Cloud Shell).

  2. Klik Continue.
    Perlu waktu beberapa saat untuk menyediakan dan menghubungkan ke lingkungan. Setelah terhubung, Anda juga diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Contoh:

Terminal Cloud Shell

Contoh perintah

  • Cantumkan nama akun aktif:

gcloud auth list

(Output)

Akun berkredensial: - <myaccount>@<mydomain>.com (active)

(Contoh output)

Akun berkredensial: - google1623327_student@qwiklabs.net
  • Cantumkan ID project:

gcloud config list project

(Output)

[core] project = <project_ID>

(Contoh output)

[core] project = qwiklabs-gcp-44776a13dea667a6

Tugas 1. Mengonfigurasi lingkungan dan akun Anda untuk Gemini

  1. Login ke Konsol Google Cloud dengan kredensial lab Anda, lalu buka jendela terminal Cloud Shell.

  2. Untuk menetapkan project ID dan variabel lingkungan region, jalankan perintah berikut di Cloud Shell:

    PROJECT_ID=$(gcloud config get-value project) REGION={{{project_0.default_region|set at lab start}}} echo "PROJECT_ID=${PROJECT_ID}" echo "REGION=${REGION}"
  3. Untuk menyimpan akun pengguna Google yang sudah login dalam variabel lingkungan, jalankan perintah berikut:

    USER=$(gcloud config get-value account 2> /dev/null) echo "USER=${USER}"
  4. Aktifkan Cloud AI Companion API untuk Gemini:

    gcloud services enable cloudaicompanion.googleapis.com --project ${PROJECT_ID}
  5. Untuk menggunakan Gemini, berikan peran IAM yang diperlukan ke akun pengguna Qwiklabs Google Cloud Anda:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/cloudaicompanion.user gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/serviceusage.serviceUsageViewer

    Dengan menambahkan peran ini, pengguna dapat menggunakan bantuan Gemini.

Untuk memverifikasi tujuan, klik Check my progress. Mengaktifkan API yang relevan dan memberikan peran IAM yang diperlukan.

Tugas 2. Mengonfigurasi Google Kubernetes Engine

Dalam tugas ini, Anda akan mengaktifkan Google Kubernetes Engine (GKE) API, memberikan izin yang diperlukan untuk mengelola cluster GKE kepada diri anda sendiri, dan membuat cluster.

  1. Untuk mengaktifkan GKE API, jalankan perintah berikut di Cloud Shell:

    gcloud services enable container.googleapis.com --project ${PROJECT_ID}
  2. Untuk memberikan izin admin untuk GKE kepada pengguna Anda, jalankan perintah berikut:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/container.admin

    Anda dapat membuat cluster GKE zona untuk menjalankan microservice. Gemini dapat memberi tahu Anda cara membuatnya.

  3. Di Konsol Google Cloud, jika Anda tidak melihat menu Open or close Gemini AI chat (Menu Gemini), muat ulang halaman.

  4. Untuk membuka panel Gemini, di menu teratas Konsol Google Cloud, klik Open or close Gemini AI chat (Menu Gemini), lalu jika diperlukan, klik Enable.

  5. Klik Start Chatting.

    Catatan: Jika tombol Start Chatting tidak diaktifkan, muat ulang halaman dan buka lagi Gemini.
  6. Untuk memberikan perintah kepada Gemini, ketik teks di bawah, lalu klik Send Prompt (Tombol Send di Gemini):

    What's the gcloud command for creating a zonal GKE cluster with a custom number of nodes and custom machine type?

    Gemini akan memberikan respons seperti ini:

    gcloud container clusters create <CLUSTER_NAME> \ --project=PROJECT_ID \ --zone=COMPUTE_ZONE \ --num-nodes=NUM_NODES \ --machine-type=MACHINE_TYPE
  7. Untuk membuat cluster GKE zona, jalankan perintah berikut:

    gcloud container clusters create test \ --project={{{project_0.project_id | set at lab start}}} \ --zone={{{project_0.default_zone | set at lab start}}} \ --num-nodes=3 \ --machine-type=e2-standard-4

    Cluster memerlukan waktu beberapa menit untuk membuatnya. Tunggu sampai perintah selesai.

Untuk memverifikasi tujuan, klik Check my progress. Mengonfigurasi Google Kubernetes Engine.

Tugas 3. Menggunakan kubectl untuk men-deploy serangkaian microservice

Dalam tugas ini, Anda akan membuat clone repositori yang berisi kode beberapa microservice yang merupakan bagian dari suatu aplikasi butik online. Anda juga akan menggunakan kubectl untuk men-deploy microservice tersebut ke cluster GKE.

Berikut adalah diagram arsitektur untuk aplikasi ini:

Diagram arsitektur aplikasi

  1. Untuk membuat clone repositori, jalankan perintah berikut di Cloud Shell:

    git clone --depth=1 https://github.com/GoogleCloudPlatform/microservices-demo

    Repositori ini berisi kode sumber untuk tiap microservice dalam aplikasi.

  2. Untuk men-deploy microservice ke GKE, jalankan perintah berikut:

    cd ~/microservices-demo kubectl apply -f ./release/kubernetes-manifests.yaml
  3. Untuk memeriksa status deployment, ulangi perintah berikut sampai tiap microservice tersedia:

    kubectl get deployments

    Saat tiap microservice tersedia, nilai yang relevan di kolom Available akan berubah menjadi 1. Perintah kubectl get deployments akan terlihat seperti berikut:

    NAME READY UP-TO-DATE AVAILABLE AGE adservice 1/1 1 1 94s cartservice 1/1 1 1 96s checkoutservice 1/1 1 1 97s currencyservice 1/1 1 1 95s emailservice 1/1 1 1 97s frontend 1/1 1 1 97s loadgenerator 1/1 1 1 95s paymentservice 1/1 1 1 96s productcatalogservice 1/1 1 1 96s recommendationservice 1/1 1 1 97s redis-cart 1/1 1 1 94s shippingservice 1/1 1 1 95s

    Aplikasi ini diakses dengan alamat IP eksternalnya.

  4. Untuk menentukan URL aplikasi, jalankan perintah berikut:

    echo "http://$(kubectl get service frontend-external -o=jsonpath='{.status.loadBalancer.ingress[0].ip}')" Catatan: Mungkin perlu waktu satu menit hingga alamat IP eksternal tersedia. Jalankan perintah hingga URL menyertakan alamat IP.
  5. Untuk membuka aplikasi di tab browser, tahan Control (untuk Windows dan Linux) atau Command (untuk macOS), lalu klik URL di Cloud Shell.

    Halaman beranda aplikasi terbuka. Anda dapat mencoba aplikasi.

    Catatan: Jika Anda melihat pop-up yang berbunyi Koneksi tidak aman, klik Lanjutkan ke situs.

Untuk memverifikasi tujuan, klik Check my progress. Menggunakan kubectl untuk men-deploy serangkaian microservice.

Tugas 4. Menggunakan Gemini untuk memahami log untuk workload di GKE

Bayangkan Anda adalah seorang engineer DevOps yang mewarisi sekumpulan microservice yang sudah ada untuk dikelola. Microservice tersebut berjalan di cluster GKE. Untuk memahami lingkungan, Anda memutuskan untuk memeriksa log dari berbagai microservice.

Dalam tugas ini, Anda akan menggunakan Gemini untuk membantu merancang kueri guna menelusuri log tertentu dan menjelaskan entri log.

  1. Di kolom judul Konsol Google Cloud, ketik Logs Explorer di kolom Search, lalu klik Logs Explorer di hasil penelusuran.

  2. Untuk memberikan perintah kepada Gemini, ketik teks di bawah, lalu klik Send Prompt (Tombol Send di Gemini):

    What is a Logs Explorer query to search for logs from Pods in a namespace called "default" in a GKE cluster named "test"?

    Anda seharusnya akan menerima respons yang memberikan kueri yang terlihat seperti ini:

    resource.type="k8s_container" resource.labels.cluster_name="test" resource.labels.namespace_name="default" Catatan: Jika kueri dari Gemini terlihat berbeda dari respons di atas, Anda dapat menggunakan kueri yang disediakan di sini.
  3. Di kotak Query, tempel kueri tersebut, lalu klik Run query.

    Pesan log sekarang difilter agar hanya menjadi pesan yang berasal dari cluster GKE test. Sekarang Anda dapat menjelajahi entri log.

  4. Untuk mempelajari entri log, perluas entri log, lalu klik Explain this log entry.

    Misalnya, jika Anda mengklik tombol Explain untuk entri log GET /product/0PUK6V6EV0, Anda mungkin akan menerima respons dari Gemini yang terlihat seperti ini:

    • This is a log entry from a Kubernetes container named main. • The container is part of a pod named loadgenerator-84cc74dcd-jf6dr in the default namespace. • The pod is running on cluster test in zone us-west1-a. • The log entry is an HTTP request to /product/0PUK6V6EV0 that took 49 milliseconds to process. • The request resulted in a 200 OK response and 40 bytes of data being sent back to the client.

    Setelah menjelajahi penjelasan log untuk workload, kini Anda memutuskan untuk menyiapkan infrastruktur guna membangun image container untuk tim Anda nantinya pada sekumpulan worker pribadi yang tidak memiliki akses ke internet.

Tugas 5. Menggunakan Gemini untuk membuat lingkungan build pribadi untuk image container

Dalam tugas ini, Anda akan menggunakan Gemini untuk membantu mengidentifikasi cara membuat dan menjalankan lingkungan build pribadi.

Anda bertanggung jawab untuk menyiapkan sistem build untuk project yang sensitif. Anda sudah tahu bahwa Cloud Build adalah layanan untuk menjalankan build di Google Cloud, dan Cloud Build menggunakan pool worker untuk menjalankan build Anda.

  1. Dalam chat Gemini, masukkan perintah berikut untuk mengetahui info lebih lanjut tentang pool worker:

    What is a Cloud Build worker pool?

    Gemini mungkin akan memberikan respons yang dimulai seperti ini:

    A Cloud Build worker pool is a group of virtual machines that are dedicated to running your builds. Worker pools are created in a specific region and zone, and they can be either private or public. Private pools are only accessible to your project, and they offer a number of benefits, including: • Isolation: Your builds will run on dedicated machines, which means that they will not be affected by other workloads running in the same project. • Security: Private pools are more secure than public pools, as they are not accessible to other projects. • Performance: Private pools can offer better performance than public pools, as they are not shared with other projects.

    Keamanan yang disediakan oleh pool worker pribadi mungkin merupakan pilihan yang tepat untuk project Anda. Akan lebih baik lagi jika build dapat diblokir agar tidak mengakses internet publik.

  2. Dalam chat Gemini, masukkan perintah berikut:

    Can you create a private worker pool that has no access to the public internet?

    Gemini mungkin akan memberikan respons seperti ini:

    Yes, you can create a private worker pool that has no access to the public internet. This is known as a "private pool with no public egress". To create a private pool with no public egress, you can use the --no-public-egress flag when creating the pool.

    Bagus, seharusnya cara ini sangat aman. Anda sadar bahwa worker di pool pribadi tidak akan memiliki akses ke repositori paket publik seperti PyPI. Setelah tahu bahwa Anda perlu meng-host paket pribadi, Anda tentunya akan bertanya apakah Artifact Registry dapat digunakan atau tidak.

  3. Dalam chat Gemini, masukkan perintah berikut:

    If I create a private pool with no public egress, can I use Artifact Registry to host my packages privately and access them from a private pool?

    Gemini mungkin akan memberikan respons seperti ini:

    Yes, you can use Artifact Registry to host your packages privately and access them from a private pool with no public egress. To do this, you will need to create a private Artifact Registry repository and grant your private pool access to the repository. You can do this by adding the service account for your private pool as a member of the repository with the Artifact Registry Reader role. Once you have created the repository and granted your private pool access, you can push your packages to the repository and then pull them from your private pool.

    Sekarang, minta Gemini untuk memberikan perintah gcloud CLI guna membuat pool pribadi.

  4. Dalam chat Gemini, masukkan perintah berikut:

    What is the gcloud command for creating a private worker pool with no public egress?

    Gemini mungkin akan memberikan perintah seperti ini:

    gcloud builds worker-pools create POOL_NAME \ --project=PROJECT_ID \ --region=REGION \ --no-public-egress
  5. Untuk membuat pool pribadi, jalankan perintah berikut:

    gcloud builds worker-pools create pool-test \ --project={{{project_0.project_id|set at lab start}}} \ --region={{{project_0.default_region|set at lab start}}} \ --no-public-egress

    Lingkungan lab kemungkinan akan menampilkan pesan error seperti ini:

    ERROR: (gcloud.builds.worker-pools.create) FAILED_PRECONDITION: project "{{{project_0.project_id|set at lab start}}}" is unable to use private pools

    Anda dapat mengabaikan pesan error tersebut di lab ini.

    Catatan: Pool pribadi saat ini dinonaktifkan dalam lingkungan lab. Untuk project di luar lingkungan lab, perintah untuk membuat pool pribadi seharusnya bisa digunakan.

    Sekarang kita akan meminta Gemini untuk membuat repositori Docker pribadi.

  6. Dalam chat Gemini, masukkan perintah berikut:

    How can I use gcloud to create a private Docker repository for container images in Artifact Registry?

    Gemini mungkin akan memberikan respons yang menyertakan perintah gcloud CLI seperti ini:

    gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=REGION \ --description="DESCRIPTION" where: • REPOSITORY is the name of the private Docker repository to be created. • REGION is the region in which to create the private Docker repository. • DESCRIPTION is a description of the private Docker repository.
  7. Untuk membuat repositori, jalankan perintah berikut:

    gcloud artifacts repositories create my-repo \ --repository-format=docker \ --location={{{project_0.default_region|set at lab start}}} \ --description="My private Docker repository"

    Repositori akan dibuat.

    Untuk memverifikasi tujuan, klik Check my progress. Membuat repositori.

Mengakhiri lab Anda

Setelah Anda menyelesaikan lab, klik Akhiri Lab. Qwiklabs menghapus resource yang telah Anda gunakan dan menghapus akun.

Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.

Makna jumlah bintang:

  • 1 bintang = Sangat tidak puas
  • 2 bintang = Tidak puas
  • 3 bintang = Netral
  • 4 bintang = Puas
  • 5 bintang = Sangat puas

Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.

Untuk masukan, saran, atau koreksi, gunakan tab Dukungan.

Selamat!

Di lab ini, Anda telah mempelajari cara:

  • Membuat cluster GKE dengan bantuan Gemini.
  • Men-deploy serangkaian microservice ke GKE.
  • Menemukan dan memahami log aplikasi dengan bantuan Gemini.
  • Menggunakan Gemini untuk menginvestigasi cara membuat lingkungan build pribadi.

Hak cipta 2024 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

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

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.