Dokumen ini menjelaskan cara mengupdate workload stateless yang ada yang berjalan di cluster Kubernetes Google Distributed Cloud (GDC) dengan air gap. Seiring berkembangnya aplikasi Anda berdasarkan penggunaan resource dan pengoptimalan konfigurasi, Anda harus mengupdate spesifikasi pod yang mendasarinya di cluster Kubernetes untuk mencerminkan perubahan workload tersebut.
Dokumen ini ditujukan untuk developer dalam grup operator aplikasi, yang bertanggung jawab untuk mengupdate workload aplikasi bagi organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.
Sebelum memulai
Untuk menyelesaikan tugas dalam dokumen ini, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda.
Meminta peran IAM
Anda harus memiliki peran tertentu untuk mendapatkan izin yang diperlukan guna mengupdate workload stateless. Peran yang Anda perlukan bergantung pada apakah Anda bekerja dalam cluster bersama yang tercakup dalam organisasi atau cluster standar yang tercakup dalam project. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi cluster Kubernetes.
Peran cluster bersama
Untuk membuat, menghapus, mengedit, atau melihat workload di cluster bersama, minta Admin Project IAM Anda untuk memberi Anda peran Namespace Admin (namespace-admin).
Peran ini terikat ke namespace project Anda.
Peran cluster standar
Untuk membuat, menghapus, mengedit, atau melihat workload di cluster standar, minta
IAM Project Admin untuk memberi Anda peran Cluster Developer (cluster-developer). Peran ini terikat ke namespace project Anda.
Menyiapkan lingkungan Anda
Untuk menjalankan perintah terhadap cluster Kubernetes menggunakan API, pastikan Anda memiliki resource berikut:
Temukan nama cluster Kubernetes, atau tanyakan kepada anggota grup administrator platform apa nama clusternya.
Login dan buat file kubeconfig untuk cluster Kubernetes.
Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti
KUBERNETES_CLUSTER_KUBECONFIGdalam petunjuk ini.
Mengupdate deployment
Untuk memperbarui objek Deployment, jalankan:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f DEPLOYMENT_FILE
Ganti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster yang menjalankan deployment.NAMESPACE: namespace. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.DEPLOYMENT_FILE: nama file manifesDeploymentyang akan diupdate.
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 mengupdate resource dalam deployment Anda.
Mengupdate image container
Untuk mengubah image objek Deployment, jalankan:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
set image deployment DEPLOYMENT_NAME \
IMAGE=IMAGE:TAG
Ganti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster yang menjalankan deployment.NAMESPACE: namespace. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.DEPLOYMENT_NAME: nama objekDeploymentyang 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 mengupdate 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 me-roll back update, misalnya saat deployment menjadi tidak stabil, gunakan kubectl CLI. Histori peluncuran objek Deployment dipertahankan dalam sistem sehingga Anda dapat melakukan roll back kapan saja.
Untuk me-roll back update yang sedang berlangsung atau yang sudah selesai ke revisi sebelumnya, jalankan:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME
Ganti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster yang menjalankan deployment.NAMESPACE: namespace. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.DEPLOYMENT_NAME: nama objekDeploymentyang akan di-roll back.
Untuk melakukan roll back ke revisi tertentu, jalankan:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME \
--to-revision=REVISION_NUMBER
Ganti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster yang menjalankan deployment.NAMESPACE: namespace. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.DEPLOYMENT_NAME: nama objekDeploymentyang akan di-roll back.REVISION_NUMBER: bilangan bulat yang menentukan revisi yang akan di-roll back, seperti3.