Create a Kubernetes Cluster

Periksa progres saya

/ 5

Build and Deploy Nodejs App (hello-node)

Periksa progres saya

/ 5

Allow external traffic to hello-node deployment

Periksa progres saya

/ 5

Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.

GSP015

Lab mandiri Google Cloud

Ringkasan

Google Kubernetes Engine memudahkan Anda menjalankan container Docker di cloud. Google Kubernetes Engine menggunakan Kubernetes, scheduler container open source, untuk memastikan cluster Anda berjalan persis seperti yang Anda inginkan setiap saat.

Dalam lab ini, Anda akan mempelajari cara meluncurkan container dan cara meluncurkan replika container tersebut di Google Kubernetes Engine.

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.

Cara memulai lab dan login ke Konsol Google Cloud

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kanan terdapat panel Lab setup and access yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Kredensial sementara (nama pengguna dan sandi) yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini

    Perhatikan bahwa timer lab terletak di dekat bagian atas halaman, yang menampilkan waktu yang tersisa.

  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 setup and access.

  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 setup and access.

  6. Klik Next.

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

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

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

Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search. Ikon Navigation menu dan kolom Search

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Tugas 1. Membuat cluster

Di bagian ini, Anda akan membuat cluster Google Kubernetes Engine.

Menetapkan zona komputasi

Cloud Shell adalah terminal berbasis browser pada virtual machine yang telah menginstal alat Google Cloud dan beberapa alat tambahan (seperti editor dan compiler) yang berguna saat Anda melakukan pengembangan atau proses debug aplikasi cloud.

Anda akan menggunakan perintah gcloud untuk membuat cluster ini. Pertama, tetapkan zona komputasi agar virtual machine di cluster Anda dibuat di region yang benar. Lakukan hal ini menggunakan gcloud config set compute/zone.

  • Masukkan perintah berikut di Cloud Shell:
gcloud config set compute/zone {{{project_0.default_zone|ZONE}}}

Memahami Region dan Zona

Resource Compute Engine tertentu berada di bawah zona atau region. Region adalah lokasi geografis spesifik tempat Anda dapat menjalankan resource. Setiap region memiliki satu atau beberapa zona. Misalnya, region us-central1 menunjukkan satu region di Amerika Serikat Bagian Tengah yang memiliki zona us-central1-a, us-central1-b, us-central1-c, dan us-central1-f.

Region Zona
Amerika Serikat Bagian Barat us-west1-a, us-west1-b
Amerika Serikat Bagian Tengah us-central1-a, us-central1-b, us-central1-d, us-central1-f
Amerika Serikat Bagian Timur us-east1-b, us-east1-c, us-east1-d
Eropa Barat europe-west1-b, europe-west1-c, europe-west1-d
Asia Timur asia-east1-a, asia-east1-b, asia-east1-c

Resource yang ada di suatu zona disebut sebagai resource zona. Instance dan persistent disk mesin virtual berada di bawah zona. Untuk memasang persistent disk ke instance mesin virtual, kedua resource harus berada di zona yang sama. Demikian pula, jika Anda ingin menetapkan alamat IP statis ke satu instance, instance tersebut harus berada di region yang sama dengan IP statis.

Pelajari region dan zona lebih lanjut dan lihat daftar lengkap di halaman Compute Engine, Dokumentasi region dan zona.

Membuat cluster baru

  • Buat cluster container baru dengan perintah gcloud seperti ini:
gcloud container clusters create hello-world

Perintah ini membuat cluster baru bernama hello-world dengan tiga node (VM). Anda dapat mengonfigurasi perintah ini dengan flag tambahan untuk mengubah jumlah node, izin default, dan variabel lainnya. Lihat referensi gcloud container clusters create untuk mengetahui detail selengkapnya.

Catatan: Jika error terjadi saat menjalankan gcloud container clusters create, pastikan Anda telah mengaktifkan Google Kubernetes Engine dan Compute Engine API.

Peluncuran cluster mungkin memerlukan waktu beberapa menit. Setelah prosesnya selesai, Anda akan melihat output di Cloud Shell yang terlihat seperti ini:

NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS hello-world {{{project_0.default_zone|ZONE}}} 1.12.7-gke.10 35.239.64.154 e2-medium 1.12.7-gke.10 3 RUNNING

Menguji tugas yang sudah selesai

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika berhasil menyelesaikan tugas, Anda akan diberi skor penilaian.

Membuat Cluster Kubernetes.

Tugas 2. Membangun dan memublikasikan aplikasi Halo Dunia

Selanjutnya, bangun dan publikasikan container yang berisi kode Anda. Anda akan menggunakan Docker untuk membangun container, dan Google Artifact Registry untuk memublikasikannya secara aman.

Menetapkan project ID

Anda akan menggunakan Project ID di sebagian besar perintah dalam lab ini. Project ID disimpan secara praktis dalam variabel lingkungan di Cloud Shell. Anda dapat melihatnya di sini:

echo $DEVSHELL_PROJECT_ID

Tugas 3. Mendapatkan kode contoh

  1. Jalankan perintah berikut untuk membuat clone sampel:
git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples
  1. Ubah direktori:
cd kubernetes-engine-samples/quickstarts/hello-app

Membangun container

Container Docker dibangun menggunakan Dockerfile. Kode contoh menyediakan Dockerfile dasar yang dapat kita gunakan.

cat Dockerfile

Berikut adalah isi file tersebut:

... FROM golang:1.26.2 AS builder WORKDIR /app RUN go mod init hello-app COPY *.go ./ RUN CGO_ENABLED=0 GOOS=linux go build -o /hello-app FROM gcr.io/distroless/static-debian12 WORKDIR / COPY --from=builder /hello-app /hello-app ENV PORT=8080 USER nonroot:nonroot CMD ["/hello-app"]
  • Untuk membangun container, jalankan perintah berikut:
docker build -t gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0 .

Perintah ini akan membangun image container Docker yang disimpan secara lokal.

Memublikasikan container

Anda perlu menyimpan image di Artifact Registry agar Kubernetes dapat mengaksesnya.

  • Jalankan perintah berikut untuk memublikasikan image container Anda:
gcloud docker -- push gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0

Tugas 4. Men-deploy aplikasi Halo Dunia

Setelah menjalankan cluster dan membuat aplikasi, saatnya untuk membuat deployment.

Membuat deployment

Deployment adalah komponen inti Kubernetes yang memastikan aplikasi Anda selalu berjalan. Deployment menjadwalkan dan mengelola sekumpulan pod pada cluster. Pod adalah satu atau beberapa container yang "berjalan bersama". Hal ini mungkin berarti container tersebut dikelola bersama atau memiliki persyaratan jaringan yang sama. Dalam lab ini, hanya ada satu container di pod Anda.

Biasanya, Anda akan membuat file yaml dengan konfigurasi untuk deployment. Dalam lab ini, kita akan melewati langkah ini dan langsung membuat deployment di command line.

  1. Buat pod menggunakan kubectl:
kubectl create deployment hello-app --image=gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0 Catatan: Anda dapat mengabaikan peringatan penghentian penggunaan perintah dengan aman.

Perintah ini memulai satu salinan image Docker di salah satu node dalam cluster.

Menguji tugas yang sudah selesai

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika berhasil menyelesaikan tugas, Anda akan diberi skor penilaian.

Membangun dan Men-deploy Aplikasi Halo Dunia (hello-app)
  1. Jalankan perintah berikut untuk melihat deployment yang Anda buat menggunakan kubectl:
kubectl get deployments

Anda akan mendapatkan hasil yang terlihat seperti ini:

NAME READY UP-TO-DATE AVAILABLE AGE hello-app 1/1 1 1 30s
  1. Anda juga dapat melihat pod yang berjalan menggunakan kubectl:
kubectl get pods

Anda akan mendapatkan hasil yang terlihat seperti ini:

NAME READY STATUS RESTARTS AGE hello-app-3375482827-7hs3q 1/1 Running 0 1m

Mengizinkan traffic eksternal

Secara default, pod hanya dapat diakses oleh mesin lain di dalam cluster. Agar dapat menggunakan container aplikasi yang telah dibuat, container tersebut harus diekspos sebagai layanan.

Biasanya, Anda akan membuat file yaml dengan konfigurasi untuk layanan. Dalam lab ini, kita akan melewati langkah ini dan langsung membuat deployment di command line.

  1. Jalankan perintah berikut untuk mengekspos deployment dengan perintah kubectl expose:
kubectl expose deployment hello-app --name=hello-app --type=LoadBalancer --port=80 --target-port=8080

Perintah kubectl expose membuat layanan, aturan penerusan untuk load balancer, dan aturan firewall yang mengizinkan traffic eksternal dikirim ke pod. Flag --type=LoadBalancer membuat Load Balancer Jaringan Google Cloud yang akan menerima traffic eksternal.

  1. Guna mendapatkan alamat IP untuk layanan Anda, jalankan perintah berikut:
kubectl get svc hello-app

Anda akan mendapatkan hasil yang terlihat seperti ini:

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-app LoadBalancer 10.3.247.85 104.198.151.208 80/TCP 8m Catatan: Mungkin perlu waktu sekitar satu menit hingga External-IP muncul. Jika muncul status <pending> untuk External-IP, tunggu 30 detik lalu coba lagi.

Menguji tugas yang sudah selesai

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika berhasil menyelesaikan tugas, Anda akan diberi skor penilaian.

Mengizinkan traffic eksternal ke deployment hello-app.

Memverifikasi deployment

Buka tab atau jendela browser baru, lalu buka alamat IP eksternal dari langkah sebelumnya. Sekarang kode contoh Anda sudah siap dan aktif.

Halaman web yang menampilkan teks berikut: Hello Kubernetes!

Tugas 5. Menguji pemahaman Anda

Di bawah ini terdapat beberapa pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep-konsep dalam lab ini. Jawab pertanyaan tersebut sebaik mungkin.

Selamat!

Google Kubernetes Engine menyediakan cara yang efektif dan fleksibel untuk menjalankan container di Google Cloud. Kubernetes juga dapat digunakan di hardware Anda sendiri atau di Penyedia Cloud lainnya.

Lab ini hanya menggunakan satu container, tetapi penyiapan beberapa lingkungan container atau beberapa instance dari satu container dapat dilakukan dengan mudah.

Hal yang telah dibahas

  • Google Kubernetes Engine
  • Cara membangun dan meluncurkan aplikasi dalam container sederhana di Google Kubernetes Engine

Ikuti lab berikutnya

Coba lab lain, seperti:

Langkah berikutnya/Pelajari lebih lanjut

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: 11 Desember 2024

Lab Terakhir Diuji: 11 Desember 2024

Hak cipta 2026 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

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik 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.