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 seiring meningkatnya permintaan untuk workload cluster Anda.
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 penampungan Anda.
Untuk mengetahui informasi selengkapnya tentang node pool dalam cluster, lihat Tentang node.
Dokumen ini ditujukan untuk 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 dokumentasi Audiens untuk GDC yang terisolasi dari internet.
Sebelum memulai
Untuk menyelesaikan tugas dalam dokumen ini, Anda harus memiliki resource dan peran berikut:
Untuk melihat dan mengelola kumpulan node di cluster Kubernetes bersama, minta Admin IAM Organisasi Anda untuk memberi Anda peran berikut:
- User Cluster Admin (
user-cluster-admin) - User Cluster Node Viewer (
user-cluster-node-viewer)
Peran ini tidak terikat ke namespace.
- User Cluster Admin (
Untuk melihat dan mengelola kumpulan node di cluster Kubernetes standar, minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin Cluster Standar (
standard-cluster-admin). Peran ini terikat ke namespace project Anda.Untuk menjalankan perintah terhadap cluster Kubernetes, pastikan Anda memiliki resource berikut:
Temukan nama cluster Kubernetes, atau tanyakan nama cluster kepada anggota grup administrator platform.
Login dan buat file kubeconfig untuk cluster Kubernetes jika Anda belum memilikinya.
Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti
KUBERNETES_CLUSTER_KUBECONFIGdalam petunjuk ini.
Menambahkan node pool
Untuk 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
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. 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_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 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 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 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 kumpulan node.
Untuk menskalakan node pool di cluster yang ada, selesaikan langkah-langkah berikut:
Konsol
- 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 di 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 kumpulan node 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. Jika Anda belum membuat file kubeconfig untuk server API di zona target, lihat Resource server API Zonal Management.
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 kumpulan node 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 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
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. Jika Anda belum membuat file kubeconfig untuk server API di zona target, lihat Resource server API Zonal Management.
Hapus entri kumpulan node 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.