Node pool adalah sekelompok node dalam cluster Kubernetes yang semuanya memiliki
konfigurasi yang sama. Node pool menggunakan spesifikasi NodePool
. Setiap node dalam kumpulan memiliki label node Kubernetes, yang memiliki nama node pool sebagai nilainya.
Secara default, semua node pool baru menjalankan versi Kubernetes yang sama dengan bidang
kontrol.
Saat Anda membuat cluster Kubernetes, jumlah node dan jenis node yang Anda tentukan akan membuat node pool pertama dari cluster tersebut. Anda dapat menambahkan node pool tambahan dengan berbagai ukuran dan jenis ke cluster Anda. Semua node dalam node pool tertentu identik satu sama lain.
Kumpulan node kustom berguna saat menjadwalkan pod yang memerlukan lebih banyak resource daripada yang lain, seperti lebih banyak memori atau ruang disk lokal. Anda dapat menggunakan taint node jika memerlukan kontrol lebih besar terkait penjadwalan pod.
Anda dapat membuat dan menghapus node pool satu per satu tanpa memengaruhi seluruh cluster. Anda tidak dapat mengonfigurasi satu node di node pool. Setiap perubahan konfigurasi memengaruhi semua node di node pool.
Anda dapat mengubah ukuran node pool dalam cluster dengan menaikkan atau menurunkan skala pool. Pengecilan skala node pool adalah proses otomatis saat Anda mengurangi ukuran pool dan sistem GDC secara otomatis menguras dan mengeluarkan node arbitrer. Anda tidak dapat memilih node tertentu untuk dihapus saat mengecilkan skala kumpulan node.
Sebelum memulai
Untuk melihat dan mengelola node pool di cluster Kubernetes, Anda harus memiliki peran berikut:
- User Cluster Admin (
user-cluster-admin
) - User Cluster Node Viewer (
user-cluster-node-viewer
)
Peran ini tidak terikat ke namespace.
Menambahkan node pool
Saat membuat cluster Kubernetes dari konsol GDC, Anda dapat menyesuaikan node pool default dan membuat node pool tambahan sebelum pembuatan cluster diinisialisasi. Jika Anda harus menambahkan node pool ke cluster Kubernetes yang ada, selesaikan langkah-langkah berikut:
Konsol
- 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 kelas mesin yang paling sesuai dengan persyaratan workload Anda. Class
komputer ditampilkan di setelan berikut:
- Jenis mesin
- vCPU
- Memori
- Klik Simpan.
API
Buka spesifikasi resource kustom
Cluster
dengankubectl
CLI menggunakan editor interaktif:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME -n platform \ --kubeconfig MANAGEMENT_API_SERVER
Ganti kode berikut:
KUBERNETES_CLUSTER_NAME
: Nama cluster.MANAGEMENT_API_SERVER
: Jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting. Jika Anda belum membuat file kubeconfig untuk server API di zona target, lihat Login untuk mengetahui detailnya.
Tambahkan entri baru di bagian
nodePools
:nodePools: ... - machineTypeName: MACHINE_TYPE name: NODE_POOL_NAME nodeCount: NUMBER_OF_WORKER_NODES taints: TAINTS labels: LABELS acceleratorOptions: gpuPartitionScheme: GPU_PARTITION_SCHEME
Ganti kode berikut:
MACHINE_TYPE
: Jenis mesin untuk node pekerja node pool. Lihat jenis mesin yang tersedia untuk mengetahui konfigurasi yang tersedia.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 node pool ini. Objek ini berisi daftar key-value pair. Kolom ini bersifat opsional.GPU_PARTITION_SCHEME
: Skema partisi GPU, jika Anda menjalankan beban kerja GPU. Contoh,mixed-2
. GPU tidak dipartisi jika kolom ini tidak ditetapkan. Untuk mengetahui profil GPU Multi-Instance (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 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 kumpulan node dari cluster Kubernetes tertentu:
kubectl get clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME -n platform \ -o json --kubeconfig MANAGEMENT_API_SERVER | \ jq .status.workerNodePoolStatuses
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 } ]
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 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 akan dihapus.
API
Buka spesifikasi resource kustom
Cluster
dengankubectl
CLI menggunakan editor interaktif:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME -n platform \ --kubeconfig MANAGEMENT_API_SERVER
Ganti kode berikut:
KUBERNETES_CLUSTER_NAME
: Nama cluster.MANAGEMENT_API_SERVER
: Jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting. Jika Anda belum membuat file kubeconfig untuk server API di zona target, lihat Login untuk mengetahui detailnya.
Hapus entri kumpulan node dari bagian
nodePools
. Misalnya, dalam cuplikan berikut, Anda harus menghapus kolommachineTypeName
,name
, dannodeCount
:nodePools: ... - machineTypeName: n2-standard-2-gdc name: nodepool-1 nodeCount: 3
Pastikan untuk menghapus semua kolom untuk node pool yang Anda hapus.
Simpan file dan keluar dari editor.