Saat Anda membuat cluster Kubernetes air-gapped Google Distributed Cloud (GDC), jumlah node dan jenis node yang Anda tentukan akan membuat node pool pertama dari cluster tersebut. Anda dapat melakukan tugas node pool berikut untuk cluster yang ada saat persyaratan komputasinya berubah:
Menambahkan node pool baru: Tambahkan node pool baru saat permintaan untuk workload cluster Anda meningkat.
Melihat node pool: Melihat karakteristik dan status node pool yang ada.
Mengubah ukuran node pool: Naikkan atau turunkan skala node pool secara manual untuk beradaptasi dengan fluktuasi traffic workload.
Menghapus node pool: Hapus node pool jika permintaan untuk beban kerja cluster Anda menurun, atau Anda ingin menghapus jenis mesin yang tidak lagi sesuai untuk operasi penampung Anda.
Untuk mengetahui informasi selengkapnya tentang node pool dalam cluster, lihat Tentang node.
Dokumen ini ditujukan bagi developer aplikasi dalam grup operator aplikasi dan administrator IT dalam grup administrator platform yang bertanggung jawab mengelola cluster Kubernetes dalam 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 mengelola pool node di cluster Kubernetes. Peran yang Anda perlukan bergantung pada apakah Anda bekerja dalam cluster bersama cakupan organisasi atau cluster standar cakupan project. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi cluster Kubernetes.
Peran cluster bersama
Untuk membuat, menghapus, mengedit, atau melihat kumpulan node cluster bersama, hubungi Admin IAM Organisasi Anda untuk meminta peran User Cluster Admin (user-cluster-admin). Peran ini tidak terikat ke namespace.
Peran cluster standar
Hubungi Admin IAM Project Anda untuk meminta peran berikut:
Admin Cluster Standar (
standard-cluster-admin): membuat, menghapus, mengedit, atau melihat node pool cluster standar.Developer Cluster (
cluster-developer): membuat, menghapus, mengedit, atau melihat cluster standar. Peran ini diperlukan untuk melihat detail kumpulan node cluster dari konsol GDC.
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 nama cluster kepada anggota grup administrator platform.
Gunakan nama cluster Kubernetes untuk menggantikan
KUBERNETES_CLUSTER_NAMEdalam petunjuk ini.Login dan buat file kubeconfig server API pengelolaan untuk cluster Kubernetes.
Gunakan jalur kubeconfig server API pengelolaan untuk menggantikan
MANAGEMENT_API_SERVERdalam petunjuk ini.
Menambahkan node pool
Untuk menambahkan node pool ke cluster Kubernetes yang ada, selesaikan langkah-langkah berikut:
Konsol
Di pemilih project, pilih project atau organisasi Anda.
Cluster standar memiliki cakupan project dan cluster bersama memiliki cakupan organisasi. Pilih cakupan yang benar untuk melihat jenis cluster Kubernetes yang sesuai.
Di menu navigasi, pilih Kubernetes Engine > Clusters.
Klik cluster dari daftar cluster. Halaman Cluster details akan ditampilkan.
Pilih Node pools > Add node pool.
Tetapkan nama untuk kumpulan node. Anda tidak dapat mengubah nama setelah membuat node pool.
Tentukan jumlah node pekerja yang akan dibuat di node pool.
Pilih class mesin yang paling sesuai dengan persyaratan workload Anda. Class mesin ditampilkan dalam setelan berikut:
- Jenis mesin
- vCPU
- Memori
Klik Simpan.
API
Buka spesifikasi resource kustom
Clusterdengan CLIkubectlmenggunakan editor interaktif:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVERGanti kode berikut:
KUBERNETES_CLUSTER_NAME: nama cluster.KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespaceplatform. Untuk cluster standar, gunakan namespace project cluster.MANAGEMENT_API_SERVER: jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting.
Tambahkan entri baru di bagian
nodePools:nodePools: # Several lines of code are omitted here. - machineTypeName: MACHINE_TYPE name: NODE_POOL_NAME nodeCount: NUMBER_OF_WORKER_NODES taints: TAINTS labels: LABELS acceleratorOptions: gpuPartitionScheme: GPU_PARTITION_SCHEMEGanti kode berikut:
MACHINE_TYPE: jenis mesin untuk node pekerja node pool. Lihat jenis mesin yang tersedia untuk mengetahui apa yang tersedia untuk dikonfigurasi.NODE_POOL_NAME: nama node pool.NUMBER_OF_WORKER_NODES: jumlah node pekerja yang akan disediakan di node pool.TAINTS: taint yang akan diterapkan ke node di node pool ini. Kolom ini bersifat opsional.LABELS: label yang akan diterapkan ke node di node pool ini. Objek ini berisi daftar key-value pair. Kolom ini bersifat opsional.GPU_PARTITION_SCHEME: skema partisi GPU, jika Anda menjalankan workload GPU. Contoh,mixed-2. GPU tidak dipartisi jika kolom ini tidak ditetapkan. Untuk profil Multi-Instance GPU (MIG) yang tersedia, lihat Profil MIG yang didukung.
Simpan file dan keluar dari editor.
Melihat node pool
Untuk melihat node pool yang ada di cluster Kubernetes, selesaikan langkah-langkah berikut:
Konsol
Di pemilih project, pilih project atau organisasi Anda.
Cluster standar memiliki cakupan project dan cluster bersama memiliki cakupan organisasi. Pilih cakupan yang benar untuk melihat jenis cluster Kubernetes yang sesuai.
Di menu navigasi, pilih Kubernetes Engine > Clusters.
Klik cluster dari daftar cluster. Halaman Cluster details akan ditampilkan.
Pilih Node pools.
Daftar node pool yang berjalan di cluster akan ditampilkan. Anda dapat mengelola node pool cluster dari halaman ini.
API
Melihat node pool cluster Kubernetes tertentu:
kubectl get clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ -o json --kubeconfig MANAGEMENT_API_SERVER | \ jq .status.workerNodePoolStatusesGanti kode berikut:
KUBERNETES_CLUSTER_NAME: nama cluster.KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespaceplatform. Untuk cluster standar, gunakan namespace project cluster.
Outputnya mirip dengan hal berikut ini:
[ { "conditions": [ { "lastTransitionTime": "2023-08-31T22:16:17Z", "message": "", "observedGeneration": 2, "reason": "NodepoolReady", "status": "True", "type": "Ready" }, { "lastTransitionTime": "2023-08-31T22:16:17Z", "message": "", "observedGeneration": 2, "reason": "ReconciliationCompleted", "status": "False", "type": "Reconciling" } ], "name": "worker-node-pool", "readyNodes": 3, "readyTimestamp": "2023-08-31T18:59:46Z", "reconcilingNodes": 0, "stalledNodes": 0, "unknownNodes": 0 } ]
Mengubah ukuran node pool
Anda dapat mengubah ukuran node pool secara manual di cluster Kubernetes dengan menaikkan atau menurunkan skala pool. Anda tidak dapat memilih node tertentu untuk dihapus saat mengecilkan skala node pool.
Untuk menskalakan node pool di cluster yang ada, selesaikan langkah-langkah berikut:
Konsol
Di pemilih project, pilih project atau organisasi Anda.
Cluster standar memiliki cakupan project dan cluster bersama memiliki cakupan organisasi. Pilih cakupan yang benar untuk melihat jenis cluster Kubernetes yang sesuai.
Di dasbor, pilih project tempat cluster yang ingin Anda edit berada.
Di menu navigasi, pilih Kubernetes Engine > Clusters.
Pilih nama cluster yang terkait dengan kumpulan node. Halaman Cluster details akan ditampilkan.
Klik tab Node pools.
Pilih ikon edit Edit untuk kumpulan node yang ingin Anda ubah ukurannya. Perintah Edit node pool akan ditampilkan.
Perbarui kolom Jumlah node untuk mencerminkan jumlah node baru yang diperlukan dalam node pool. Anda dapat menambah atau mengurangi jumlah node agar sesuai dengan persyaratan beban kerja Anda.
Klik Simpan.
Kembali ke tab Node pools untuk cluster Anda dan konfirmasi bahwa node pool yang diubah ukurannya memiliki status
Readydan jumlah node yang benar. Diperlukan waktu beberapa menit agar node pool diskalakan sesuai spesifikasi Anda.
API
Buka spesifikasi resource kustom
Clusterdengan kubectl CLI menggunakan editor interaktif:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVERGanti kode berikut:
KUBERNETES_CLUSTER_NAME: nama cluster yang menghosting node pool.KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespaceplatform. Untuk cluster standar, gunakan namespace project cluster.MANAGEMENT_API_SERVER: jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting.
Perbarui kolom
nodeCountuntuk node pool yang akan diubah ukurannya:nodePools: # Several lines of code are omitted here. - machineTypeName: n2-standard-2-gdc name: nodepool-1 nodeCount: NUMBER_OF_WORKER_NODESGanti
NUMBER_OF_WORKER_NODESdengan jumlah node pekerja yang diperbarui untuk disediakan di node pool.Simpan file dan keluar dari editor.
Verifikasi penskalaan node Anda telah selesai dengan memeriksa konfigurasi node pool:
kubectl get clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE -o json \ --kubeconfig MANAGEMENT_API_SERVER | jq .status.workerNodePoolStatusesKonfirmasi bahwa jumlah
readyNodesmencerminkan jumlah node yang Anda tetapkan untuk node pool. Diperlukan waktu beberapa menit agar node pool diskalakan sesuai spesifikasi Anda.
Menghapus node pool
Menghapus node pool akan menghapus node dan rute ke node tersebut. Node ini mengeluarkan dan menjadwalkan ulang semua pod yang berjalan di node tersebut. Jika pod memiliki pemilih node tertentu, pod mungkin tetap berada dalam kondisi yang tidak dapat dijadwalkan jika tidak ada node lain dalam cluster yang memenuhi kriteria.
Pastikan Anda memiliki setidaknya tiga node pekerja sebelum menghapus node pool untuk memastikan cluster Anda memiliki ruang komputasi yang cukup untuk berjalan secara efektif.
Untuk menghapus node pool, selesaikan langkah-langkah berikut:
Konsol
Di pemilih project, pilih project atau organisasi Anda.
Cluster standar memiliki cakupan project dan cluster bersama memiliki cakupan organisasi. Pilih cakupan yang benar untuk melihat jenis cluster Kubernetes yang sesuai.
Di menu navigasi, pilih Kubernetes Engine > Clusters.
Klik cluster yang menghosting kumpulan node yang ingin Anda hapus.
Pilih Node pools.
Klik delete Hapus di samping node pool yang ingin dihapus.
API
Buka spesifikasi resource kustom
Clusterdengan kubectl CLI menggunakan editor interaktif:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVERGanti kode berikut:
KUBERNETES_CLUSTER_NAME: nama cluster.KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespaceplatform. Untuk cluster standar, gunakan namespace project cluster.MANAGEMENT_API_SERVER: jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting.
Hapus entri node pool dari bagian
nodePools. Misalnya, dalam cuplikan berikut, Anda harus menghapus kolommachineTypeName,name, dannodeCount:nodePools: # Several lines of code are omitted here. - machineTypeName: n2-standard-2-gdc name: nodepool-1 nodeCount: 3Pastikan untuk menghapus semua kolom untuk node pool yang Anda hapus.
Simpan file dan keluar dari editor.