Create your cluster

Periksa progres saya

/ 20

Create your pod

Periksa progres saya

/ 30

Create a Kubernetes Service

Periksa progres saya

/ 30

Scale up your service

Periksa progres saya

/ 20

Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP005

Lab mandiri Google Cloud

Ringkasan

Sasaran lab praktik ini adalah membekali Anda dengan kemampuan untuk mengubah kode yang telah Anda kembangkan menjadi aplikasi replika yang berjalan di Kubernetes, yang dikelola oleh Kubernetes Engine. Untuk lab ini, kodenya akan berupa aplikasi node.js Halo Dunia sederhana.

Berikut diagram berbagai bagian yang berperan dalam lab ini, untuk membantu Anda memahami cara kerja setiap bagian. Gunakan diagram ini sebagai referensi saat Anda menyelesaikan lab ini; semuanya akan masuk akal setelah Anda mencapai akhir lab (tetapi untuk saat ini Anda dapat mengabaikannya).

Diagram alur komponen Kubernetes

Kubernetes adalah project open source (tersedia di kubernetes.io) yang dapat berjalan di berbagai lingkungan, dari laptop hingga cluster multi-node dengan ketersediaan tinggi, dari cloud publik hingga deployment lokal, dan dari virtual machine hingga bare metal.

Untuk tujuan lab ini, dengan menggunakan lingkungan terkelola seperti Kubernetes Engine (versi Kubernetes yang dihosting Google dan berjalan di Compute Engine), Anda dapat lebih berfokus pada pengalaman menggunakan Kubernetes daripada menyiapkan infrastruktur dasarnya.

Yang akan Anda pelajari

  • Membuat server Node.js.
  • Membuat image container Docker.
  • Membuat cluster container.
  • Membuat pod Kubernetes.
  • Meningkatkan skala layanan Anda.

Prasyarat

  • Pemahaman terkait editor teks Linux standar, seperti vim, emacs, atau nano akan bermanfaat.

Peserta diharapkan mengetik perintah sendiri untuk membantu mereka mempelajari konsep inti. Banyak lab akan menyertakan blok kode yang berisi perintah yang diperlukan. Anda dapat dengan mudah menyalin dan menempel perintah dari blok kode ke tempat yang sesuai selama lab berlangsung.

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 aplikasi Node.js Anda

1.Dengan menggunakan Cloud Shell, tulis server Node.js sederhana yang akan Anda deploy ke Kubernetes Engine:

vi server.js
  1. Mulai editor:
i
  1. Tambahkan konten ini ke file:
var http = require('http'); var handleRequest = function(request, response) { response.writeHead(200); response.end("Hello World!"); } var www = http.createServer(handleRequest); www.listen(8080); Catatan: vi digunakan di sini, tetapi nano dan emacs juga tersedia di Cloud Shell. Anda juga dapat menggunakan fitur Editor web Cloud Shell seperti yang dijelaskan dalam panduan Cara kerja Cloud Shell.
  1. Simpan file server.js dengan menekan Esc, lalu:
:wq
  1. Karena node yang dapat dieksekusi telah diinstal di Cloud Shell, jalankan perintah berikut untuk memulai server node (perintah ini tidak akan menghasilkan output):
node server.js
  1. Gunakan fitur Pratinjau web bawaan Cloud Shell untuk membuka tab browser baru dan mem-proxy permintaan ke instance yang baru saja Anda mulai di port 8080.

Pratinjau port 8080 ditandai di menu Pratinjau web yang diperluas

Tab browser baru akan terbuka untuk menampilkan hasil Anda:

Halaman hasil dengan pesan: Halo Dunia!

  1. Sebelum melanjutkan, kembali ke Cloud Shell dan ketik CTRL+C untuk menghentikan server node yang sedang berjalan.

Selanjutnya, Anda akan mengemas aplikasi ini dalam container Docker.

Tugas 2. Membuat image container Docker

  1. Selanjutnya, buat Dockerfile yang mendeskripsikan image yang ingin Anda bangun. Image container Docker dapat diturunkan dari image lain yang sudah ada. Jadi, untuk image ini, kita akan menggunakan image Node yang sudah ada sebagai dasarnya:
vi Dockerfile
  1. Mulai editor:
i
  1. Tambahkan konten ini:
FROM node:6.9.2 EXPOSE 8080 COPY server.js . CMD ["node", "server.js"]

"Resep" untuk image Docker ini mencakup:

  • Memulai dari image node yang ditemukan di Docker Hub.
  • Mengekspos port 8080.
  • Menyalin file server.js Anda ke image.
  • Memulai server node seperti yang kita lakukan sebelumnya secara manual.
  1. Simpan Dockerfile ini dengan menekan ESC, lalu ketik:
:wq
  1. Bangun image dengan kode berikut:
docker build -t hello-node:v1 .

Mungkin perlu waktu beberapa saat untuk mendownload dan mengekstrak semuanya, tetapi Anda dapat melihat status progres saat image dibangun.

Setelah selesai, uji image secara lokal dengan menjalankan container Docker sebagai daemon di port 8080 dari image container yang baru Anda buat.

  1. Jalankan container Docker dengan perintah ini:
docker run -d -p 8080:8080 hello-node:v1

Output Anda akan terlihat seperti ini:

325301e6b2bffd1d0049c621866831316d653c0b25a496d04ce0ec6854cb7998
  1. Untuk melihat hasil Anda, gunakan fitur pratinjau web Cloud Shell. Atau, gunakan curl dari prompt Cloud Shell Anda:
curl http://localhost:8080

Berikut output yang akan Anda lihat:

Hello World! Catatan: Dokumentasi lengkap untuk perintah docker run dapat ditemukan di referensi Docker run.

Selanjutnya, hentikan container yang sedang berjalan.

  1. Temukan ID container Docker Anda dengan menjalankan:
docker ps

Output Anda akan terlihat seperti ini:

CONTAINER ID IMAGE COMMAND 2c66d0efcbd4 hello-node:v1 "/bin/sh -c 'node
  1. Hentikan container dengan menjalankan perintah berikut (ganti [CONTAINER ID] dengan nilai yang diberikan dari langkah sebelumnya):
docker stop [CONTAINER ID]

Output konsol Anda akan terlihat seperti berikut (ID container Anda):

2c66d0efcbd4

Setelah image berfungsi sesuai harapan, selanjutnya kirim image tersebut ke Google Artifact Registry, repositori pribadi untuk image Docker yang dapat diakses dari project Google Cloud Anda.

  1. Pertama, Anda perlu membuat repositori di Artifact Registry. Mari kita beri nama my-docker-repo. Jalankan perintah berikut:
gcloud artifacts repositories create my-docker-repo \ --repository-format=docker \ --location={{{ project_0.default_region | YOUR_REGION }}} \ --project={{{ project_0.project_id | YOUR_PROJECT_ID }}}
  1. Sekarang jalankan perintah berikut untuk mengonfigurasi autentikasi docker.
gcloud auth configure-docker

Jika ditanya Do you want to continue (Y/n)?, masukkan Y.

  1. Untuk memberikan tag pada image Anda dengan nama repositori tersebut, jalankan perintah berikut (ganti PROJECT_ID dengan Project ID Anda, yang dapat ditemukan di Konsol atau bagian Lab Details pada lab):
docker tag hello-node:v1 {{{ project_0.default_region | YOUR_REGION }}}-docker.pkg.dev/{{{ project_0.project_id | YOUR_PROJECT_ID }}}/my-docker-repo/hello-node:v1
  1. Lalu, kirim image container Anda ke repositori dengan menjalankan perintah berikut:
docker push {{{ project_0.default_region | YOUR_REGION }}}-docker.pkg.dev/{{{ project_0.project_id | YOUR_PROJECT_ID }}}/my-docker-repo/hello-node:v1

Proses pengiriman awal ini mungkin memerlukan waktu beberapa menit. Anda akan melihat status progres selagi proses build berjalan.

The push refers to a repository [pkg.dev/qwiklabs-gcp-6h281a111f098/hello-node] ba6ca48af64e: Pushed 381c97ba7dc3: Pushed 604c78617f34: Pushed fa18e5ffd316: Pushed 0a5e2b2ddeaa: Pushed 53c779688d06: Pushed 60a0858edcd5: Pushed b6ca02dfe5e6: Pushed v1: digest: sha256:8a9349a355c8e06a48a1e8906652b9259bba6d594097f115060acca8e3e941a2 size: 2002
  1. Image container akan tercantum di Konsol Anda. Klik Navigation menu > View all products. Lalu, di bagian CI/CD, pilih Artifact Registry.

Sekarang Anda memiliki image Docker tingkat project yang dapat diakses dan diorkestrasi oleh Kubernetes.

Catatan: Kita menggunakan cara yang direkomendasikan untuk Artifact Registry, yang spesifik untuk region yang akan digunakan. Untuk mempelajari lebih lanjut, lihat Pengiriman dan pengambilan dari Artifact Registry.

Tugas 3. Membuat cluster Anda

Sekarang Anda siap membuat cluster Kubernetes Engine. Sebuah cluster terdiri atas satu server API master Kubernetes yang dihosting oleh Google dan sejumlah worker node. Worker node adalah virtual machine Compute Engine.

  1. Pastikan Anda telah menyetel project menggunakan gcloud (ganti PROJECT_ID dengan Project ID Anda, yang dapat ditemukan di konsol dan di bagian Lab Details pada lab):
gcloud config set project PROJECT_ID
  1. Buat cluster dengan dua node e2-medium (proses ini akan memerlukan waktu beberapa menit):
gcloud container clusters create hello-world \ --num-nodes 2 \ --machine-type e2-medium \ --zone "{{{project_0.default_zone|ZONE}}}"

Anda dapat mengabaikan peringatan yang muncul saat cluster dibangun.

Output konsol akan terlihat seperti ini:

Creating cluster hello-world...done. Created [https://container.googleapis.com/v1/projects/PROJECT_ID/zones/"{{{project_0.default_zone|ZONE}}}"/clusters/hello-world]. kubeconfig entry generated for hello-world. NAME ZONE MASTER_VERSION MASTER_IP MACHINE_TYPE STATUS hello-world "{{{project_0.default_zone|ZONE}}}" 1.5.7 146.148.46.124 e2-medium RUNNING

Atau, Anda dapat membuat cluster ini melalui Konsol dengan membuka Navigation menu, lalu memilih Kubernetes Engine > Clusters > Create.

Catatan: Sebaiknya buat cluster di zona yang sama dengan bucket penyimpanan yang digunakan oleh Artifact Registry (lihat langkah sebelumnya).

Jika memilih Navigation menu > Kubernetes Engine > Clusters, Anda akan melihat bahwa Anda memiliki cluster Kubernetes yang berfungsi penuh dan didukung oleh Kubernetes Engine.

Sekarang saatnya men-deploy aplikasi dalam container Anda sendiri ke cluster Kubernetes. Mulai sekarang, Anda akan menggunakan command line kubectl (yang sudah disiapkan di lingkungan Cloud Shell Anda).

Klik Periksa progres saya di bawah untuk memeriksa progres lab Anda.

Membuat cluster Anda.

Tugas 4. Membuat pod Anda

Pod Kubernetes adalah sekelompok container yang dihimpun untuk tujuan administrasi dan jaringan. Pod ini dapat berisi satu atau beberapa container. Di sini, Anda akan menggunakan satu container yang dibangun dengan image Node.js yang disimpan di Artifact Registry pribadi Anda. Container ini akan menyajikan konten di port 8080.

  1. Buat deployment dengan perintah kubectl create deployment (ganti PROJECT_ID dengan Project ID Anda, yang dapat ditemukan di konsol dan di bagian Connection Details pada lab):
kubectl create deployment hello-node \ --image={{{ project_0.default_region}}}-docker.pkg.dev/PROJECT_ID/my-docker-repo/hello-node:v1

Output:

deployment.apps/hello-node created

Seperti yang terlihat, Anda telah membuat objek deployment. Deployment merupakan cara yang direkomendasikan untuk membuat dan menskalakan pod. Di sini, deployment baru mengelola satu replika pod yang menjalankan image hello-node:v1.

  1. Untuk melihat deployment ini, jalankan:
kubectl get deployments

Output:

NAME READY UP-TO-DATE AVAILABLE AGE hello-node 1/1 1 1 1m36s
  1. Untuk melihat pod yang dibuat oleh deployment ini, jalankan:
kubectl get pods

Output:

NAME READY STATUS RESTARTS AGE hello-node-714049816-ztzrb 1/1 Running 0 6m

Sekarang adalah saat yang tepat untuk mempelajari beberapa perintah kubectl yang menarik. Perintah apa pun tidak akan mengubah status cluster. Untuk membaca dokumentasi referensi lengkap, lihat Alat command line (kubectl):

kubectl cluster-info kubectl config view

Dan untuk pemecahan masalah:

kubectl get events kubectl logs <pod-name>

Sekarang Anda perlu membuat pod Anda dapat diakses oleh dunia luar.

Klik Periksa progres saya di bawah untuk memeriksa progres lab Anda.

Membuat pod Anda

Tugas 5. Mengizinkan traffic eksternal

Secara default, pod hanya dapat diakses oleh IP internalnya di dalam cluster. Agar container hello-node dapat diakses dari luar jaringan virtual Kubernetes, Anda harus mengekspos pod tersebut sebagai service Kubernetes.

  1. Dari Cloud Shell, Anda dapat mengekspos pod ke internet publik dengan perintah kubectl expose yang dipadukan dengan flag --type="LoadBalancer". Flag ini diperlukan untuk pembuatan IP yang dapat diakses secara eksternal:
kubectl expose deployment hello-node --type="LoadBalancer" --port=8080

Output:

service/hello-node exposed

Flag yang digunakan dalam perintah ini menentukan bahwa service akan menggunakan load balancer yang disediakan oleh infrastruktur dasar (dalam hal ini load balancer Compute Engine). Perhatikan bahwa yang Anda ekspos secara langsung adalah deployment, bukan pod. Akibatnya, service yang dihasilkan akan melakukan load balancing traffic di semua pod yang dikelola oleh deployment itu (dalam hal ini hanya 1 pod, tetapi Anda akan menambahkan lebih banyak replika nanti).

Master Kubernetes membuat load balancer dan aturan penerusan Compute Engine, kumpulan target, dan aturan firewall terkait untuk membuat layanan dapat diakses sepenuhnya dari luar Google Cloud.

  1. Untuk menemukan alamat IP yang dapat diakses secara publik untuk service tersebut, minta kubectl mencantumkan semua service cluster:
kubectl get services

Berikut output yang akan Anda lihat:

NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node 10.3.250.149 104.154.90.147 8080/TCP 1m kubernetes 10.3.240.1 < none > 443/TCP 5m

Ada 2 alamat IP yang tercantum untuk service hello-node Anda, keduanya melayani port 8080. CLUSTER-IP adalah IP internal yang hanya terlihat di dalam jaringan virtual cloud Anda; EXTERNAL-IP adalah IP eksternal dengan load balancing.

Catatan: Mungkin perlu waktu beberapa menit agar EXTERNAL-IP tersedia dan terlihat. Jika EXTERNAL-IP tidak ada, tunggu beberapa menit, lalu jalankan lagi perintah tersebut.
  1. Sekarang, Anda dapat mengakses service dengan mengarahkan browser ke alamat ini: http://<EXTERNAL_IP>:8080

Halaman Halo Dunia!

Pada tahap ini, Anda telah mendapatkan beberapa fitur dari proses migrasi ke container dan Kubernetes. Anda tidak perlu menentukan di host mana workload Anda akan berjalan. Selain itu, Anda juga mendapatkan manfaat dari pemantauan dan restart service. Sekarang, lihat apa saja yang bisa didapatkan dari infrastruktur Kubernetes baru Anda.

Klik Periksa progres saya di bawah untuk memeriksa progres lab Anda.

Membuat Service Kubernetes

Tugas 6. Meningkatkan skala layanan Anda

Salah satu fitur canggih yang ditawarkan oleh Kubernetes adalah kemudahan dalam menskalakan aplikasi Anda. Misalnya, Anda tiba-tiba membutuhkan kapasitas yang lebih besar. Anda dapat meminta pengontrol replikasi mengelola jumlah replika baru untuk pod Anda.

  1. Tetapkan jumlah replika untuk pod Anda:
kubectl scale deployment hello-node --replicas=4

Output:

deployment.apps/hello-node scaled
  1. Minta deskripsi deployment yang diperbarui:
kubectl get deployment

Output:

NAME READY UP-TO-DATE AVAILABLE AGE hello-node 4/4 4 4 16m

Jalankan kembali perintah di atas hingga Anda melihat ke-4 replika dibuat semuanya.

  1. Cantumkan semua pod:
kubectl get pods

Berikut output yang akan Anda lihat:

NAME READY STATUS RESTARTS AGE hello-node-714049816-g4azy 1/1 Running 0 1m hello-node-714049816-rk0u6 1/1 Running 0 1m hello-node-714049816-sh812 1/1 Running 0 1m hello-node-714049816-ztzrb 1/1 Running 0 16m

Pendekatan deklaratif digunakan di sini. Alih-alih memulai atau menghentikan instance baru, Anda mendeklarasikan jumlah instance yang harus berjalan setiap saat. Loop rekonsiliasi Kubernetes memastikan bahwa kondisi aktual sesuai dengan yang Anda minta dan tindakan diambil jika diperlukan.

Berikut diagram yang meringkas status cluster Kubernetes Anda:

Diagram alur Cluster Kubernetes

Klik Periksa progres saya di bawah untuk memeriksa progres lab Anda.

Meningkatkan skala layanan Anda

Tugas 7. Meluncurkan upgrade ke layanan Anda

Pada suatu titik, aplikasi yang telah Anda deploy ke produksi akan memerlukan perbaikan bug atau fitur tambahan. Kubernetes membantu Anda men-deploy versi baru ke produksi tanpa memengaruhi pengguna.

  1. Pertama, modifikasi aplikasi dengan membuka server.js:
vi server.js i
  1. Kemudian, perbarui pesan respons:
response.end("Hello Kubernetes World!");
  1. Simpan file server.js dengan menekan Esc, lalu:
:wq

Sekarang Anda dapat membangun dan memublikasikan image container baru ke registry dengan tag inkremental (v2 dalam kasus ini).

  1. Jalankan perintah berikut dan ganti PROJECT_ID dengan project ID lab Anda:
docker build -t hello-node:v2 . docker tag hello-node:v2 {{{ project_0.default_region | YOUR_REGION }}}-docker.pkg.dev/{{{ project_0.project_id | YOUR_PROJECT_ID }}}/my-docker-repo/hello-node:v2 docker push {{{ project_0.default_region | YOUR_REGION }}}-docker.pkg.dev/{{{ project_0.project_id | YOUR_PROJECT_ID }}}/my-docker-repo/hello-node:v2 Catatan: Proses build dan push image yang diupdate ini akan terasa lebih cepat karena memanfaatkan fitur caching.

Kubernetes akan mengupdate pengontrol replikasi Anda ke versi baru aplikasi dengan lancar. Agar dapat mengubah label image untuk container yang sedang berjalan, edit deployment hello-node yang ada dan ubah image dari pkg.dev/PROJECT_ID/hello-node:v1 menjadi pkg.dev/PROJECT_ID/hello-node:v2.

  1. Untuk melakukannya, gunakan perintah kubectl edit:
kubectl edit deployment hello-node

Perintah ini akan membuka editor teks yang menampilkan konfigurasi yaml deployment lengkap. Anda tidak perlu memahami konfigurasi yaml lengkap saat ini. Cukup pahami bahwa dengan memperbarui kolom spec.template.spec.containers.image dalam konfigurasi tersebut, Anda meminta deployment agar mengupdate pod dengan image baru.

  1. Cari Spec > containers > image dan ubah nomor versi dari v1 menjadi v2:
# Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant failures. # apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: 2016-03-24T17:55:28Z generation: 3 labels: run: hello-node name: hello-node namespace: default resourceVersion: "151017" uid: 981fe302-f1e9-11e5-9a78-42010af00005 spec: replicas: 4 selector: matchLabels: run: hello-node strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: creationTimestamp: null labels: run: hello-node spec: containers: - image: pkg.dev/PROJECT_ID/hello-node:v1 ## Update this line ## imagePullPolicy: IfNotPresent name: hello-node ports: - containerPort: 8080 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log dnsPolicy: ClusterFirst restartPolicy: Always securityContext: {} terminationGracePeriodSeconds: 30
  1. Setelah melakukan perubahan, simpan dan tutup file ini: Tekan ESC, lalu:
:wq

Berikut output yang akan Anda lihat:

deployment.apps/hello-node edited
  1. Jalankan perintah berikut untuk memperbarui deployment dengan image baru:
kubectl get deployments

Pod baru akan dibuat dengan image baru dan pod lama akan dihapus.

Berikut output yang akan Anda lihat (Anda mungkin perlu menjalankan kembali perintah di atas untuk melihat output berikut):

NAME READY UP-TO-DATE AVAILABLE AGE hello-node 4/4 4 4 1h

Selama proses ini berlangsung, pengguna layanan Anda tidak akan mengalami gangguan. Setelah beberapa saat, mereka akan mulai mengakses versi baru aplikasi Anda. Anda dapat menemukan detail selengkapnya tentang update bertahap di dokumentasi Melakukan Update Bertahap.

Semoga dengan fitur deployment, penskalaan, dan pembaruan ini, begitu menyelesaikan penyiapan cluster Kubernetes Engine, Anda akan setuju bahwa Kubernetes akan membantu Anda berfokus pada aplikasi, bukan infrastruktur.

Selamat!

Kita telah sampai pada akhir lab praktik dengan Kubernetes ini. Anda baru mempelajari sebagian kecil teknologi ini. Eksplorasi lebih lanjut dengan pod, pengontrol replikasi, dan layanan Anda sendiri. Lihat juga pemeriksaan keaktifan (health check) dan pertimbangkan untuk menggunakan Kubernetes API secara langsung.

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: 09 Juni 2026

Lab Terakhir Diuji: 09 Juni 2026

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 dapat memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami dapat 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.