Memperbarui workload stateless

Halaman ini menjelaskan cara memperbarui workload stateless yang ada dan berjalan di cluster Kubernetes appliance air-gapped Google Distributed Cloud (GDC). Saat aplikasi Anda berkembang berdasarkan penggunaan resource dan pengoptimalan konfigurasi, Anda harus memperbarui spesifikasi pod yang mendasarinya di cluster Kubernetes untuk mencerminkan perubahan workload tersebut.

Halaman ini ditujukan untuk developer dalam grup operator aplikasi, yang bertanggung jawab untuk memperbarui workload aplikasi untuk organisasi mereka.

Sebelum memulai

Untuk menyelesaikan tugas dalam dokumen ini, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan.

Meminta peran IAM

Untuk membuat, menghapus, mengedit, atau melihat workload stateless di cluster Kubernetes, minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin Namespace (namespace-admin). Peran ini terikat ke namespace project Anda.

Menyiapkan lingkungan Anda

Untuk menjalankan perintah terhadap cluster Kubernetes bare metal yang telah dikonfigurasi sebelumnya, pastikan Anda memiliki resource berikut:

  1. Temukan nama cluster Kubernetes, atau tanyakan kepada Administrator Platform nama cluster.

  2. Login dan buat file kubeconfig untuk cluster Kubernetes jika Anda belum memilikinya.

  3. Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti CLUSTER_KUBECONFIG dalam petunjuk ini.

Memperbarui deployment

Untuk memperbarui objek Deployment, jalankan:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    apply -f DEPLOYMENT_FILE

Ganti kode berikut:

  • CLUSTER_KUBECONFIG: file kubeconfig untuk cluster Kubernetes yang menjalankan deployment.

  • NAMESPACE: namespace project.

  • DEPLOYMENT_FILE: nama file manifes Deployment yang akan diperbarui.

Perintah kubectl apply menerapkan file manifes ke resource. Jika resource yang ditentukan tidak ada, resource tersebut akan dibuat oleh perintah.

Ada juga beberapa cara lain untuk memperbarui resource dalam deployment Anda.

Memperbarui image container

Untuk mengubah image objek Deployment, jalankan:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    set image deployment DEPLOYMENT_NAME \
    IMAGE=IMAGE:TAG

Ganti kode berikut:

  • CLUSTER_KUBECONFIG: file kubeconfig untuk cluster Kubernetes yang menjalankan deployment.

  • NAMESPACE: namespace project.

  • DEPLOYMENT_NAME: nama objek Deployment yang berisi image.

  • IMAGE: nama image container.

  • TAG: tag yang akan diperbarui untuk image container.

Memperbarui image deployment berguna untuk mengubah kolom pemilih atau resource, seperti permintaan atau batas.

Misalnya, untuk memperbarui objek Deployment bernama nginx agar menggunakan versi 1.9.1, jalankan:

kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
    set image deployment nginx nginx=nginx:1.9.1

Melakukan roll back pada update

Jika Anda ingin melakukan roll back pada update, misalnya saat deployment Anda menjadi tidak stabil, gunakan kubectl CLI. Histori peluncuran objek Deployment disimpan dalam sistem sehingga Anda dapat melakukan roll back kapan saja.

Untuk melakukan roll back update yang sedang berlangsung atau yang sudah selesai ke revisi sebelumnya, jalankan:

kubectl --kubeconfig CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    rollout undo deployment DEPLOYMENT_NAME

Ganti kode berikut:

  • CLUSTER_KUBECONFIG: file kubeconfig untuk cluster Kubernetes yang menjalankan deployment.

  • NAMESPACE: namespace project.

  • DEPLOYMENT_NAME: nama objek Deployment yang akan di-roll back.

Untuk melakukan roll back ke revisi tertentu, jalankan:

kubectl --kubeconfig CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    rollout undo deployment DEPLOYMENT_NAME \
    --to-revision=REVISION_NUMBER

Ganti kode berikut:

  • CLUSTER_KUBECONFIG: file kubeconfig untuk cluster Kubernetes yang menjalankan deployment.

  • NAMESPACE: namespace project.

  • DEPLOYMENT_NAME: nama objek Deployment yang akan di-roll back.

  • REVISION_NUMBER: bilangan bulat yang menentukan revisi yang akan di-roll back, seperti 3.