Mengelola node pool

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_NAME dalam petunjuk ini.

  • Login dan buat file kubeconfig server API pengelolaan untuk cluster Kubernetes.

  • Gunakan jalur kubeconfig server API pengelolaan untuk menggantikan MANAGEMENT_API_SERVER dalam petunjuk ini.

Menambahkan node pool

Untuk menambahkan node pool ke cluster Kubernetes yang ada, selesaikan langkah-langkah berikut:

Konsol

  1. 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.

  2. Di menu navigasi, pilih Kubernetes Engine > Clusters.

  3. Klik cluster dari daftar cluster. Halaman Cluster details akan ditampilkan.

  4. Pilih Node pools > Add node pool.

  5. Tetapkan nama untuk kumpulan node. Anda tidak dapat mengubah nama setelah membuat node pool.

  6. Tentukan jumlah node pekerja yang akan dibuat di node pool.

  7. Pilih class mesin yang paling sesuai dengan persyaratan workload Anda. Class mesin ditampilkan dalam setelan berikut:

    • Jenis mesin
    • vCPU
    • Memori
  8. Klik Simpan.

API

  1. Buka spesifikasi resource kustom Cluster dengan CLI kubectl menggunakan editor interaktif:

    kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \
        -n KUBERNETES_CLUSTER_NAMESPACE \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Ganti kode berikut:

    • KUBERNETES_CLUSTER_NAME: nama cluster.
    • KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespace platform. Untuk cluster standar, gunakan namespace project cluster.
    • MANAGEMENT_API_SERVER: jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting.
  2. 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_SCHEME
    

    Ganti 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.
  3. Simpan file dan keluar dari editor.

Melihat node pool

Untuk melihat node pool yang ada di cluster Kubernetes, selesaikan langkah-langkah berikut:

Konsol

  1. 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.

  2. Di menu navigasi, pilih Kubernetes Engine > Clusters.

  3. Klik cluster dari daftar cluster. Halaman Cluster details akan ditampilkan.

  4. 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.workerNodePoolStatuses
    

    Ganti kode berikut:

    • KUBERNETES_CLUSTER_NAME: nama cluster.
    • KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespace platform. 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

  1. 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.

  2. Di dasbor, pilih project tempat cluster yang ingin Anda edit berada.

  3. Di menu navigasi, pilih Kubernetes Engine > Clusters.

  4. Pilih nama cluster yang terkait dengan kumpulan node. Halaman Cluster details akan ditampilkan.

  5. Klik tab Node pools.

  6. Pilih ikon Edit untuk kumpulan node yang ingin Anda ubah ukurannya. Perintah Edit node pool akan ditampilkan.

  7. 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.

  8. Klik Simpan.

  9. Kembali ke tab Node pools untuk cluster Anda dan konfirmasi bahwa node pool yang diubah ukurannya memiliki status Ready dan jumlah node yang benar. Diperlukan waktu beberapa menit agar node pool diskalakan sesuai spesifikasi Anda.

    Konfirmasi bahwa node pool Anda sudah siap menggunakan konsol.

API

  1. Buka spesifikasi resource kustom Cluster dengan kubectl CLI menggunakan editor interaktif:

    kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \
        -n KUBERNETES_CLUSTER_NAMESPACE \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Ganti kode berikut:

    • KUBERNETES_CLUSTER_NAME: nama cluster yang menghosting node pool.
    • KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespace platform. Untuk cluster standar, gunakan namespace project cluster.
    • MANAGEMENT_API_SERVER: jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting.
  2. Perbarui kolom nodeCount untuk 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_NODES
    

    Ganti NUMBER_OF_WORKER_NODES dengan jumlah node pekerja yang diperbarui untuk disediakan di node pool.

  3. Simpan file dan keluar dari editor.

  4. 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.workerNodePoolStatuses
    

    Konfirmasi bahwa jumlah readyNodes mencerminkan 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

  1. 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.

  2. Di menu navigasi, pilih Kubernetes Engine > Clusters.

  3. Klik cluster yang menghosting kumpulan node yang ingin Anda hapus.

  4. Pilih Node pools.

  5. Klik Hapus di samping node pool yang ingin dihapus.

API

  1. Buka spesifikasi resource kustom Cluster dengan kubectl CLI menggunakan editor interaktif:

    kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \
        -n KUBERNETES_CLUSTER_NAMESPACE \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Ganti kode berikut:

    • KUBERNETES_CLUSTER_NAME: nama cluster.
    • KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespace platform. Untuk cluster standar, gunakan namespace project cluster.
    • MANAGEMENT_API_SERVER: jalur kubeconfig server API zonal tempat cluster Kubernetes dihosting.
  2. Hapus entri node pool dari bagian nodePools. Misalnya, dalam cuplikan berikut, Anda harus menghapus kolom machineTypeName, name, dan nodeCount:

    nodePools:
    # Several lines of code are omitted here.
    - machineTypeName: n2-standard-2-gdc
      name: nodepool-1
      nodeCount: 3
    

    Pastikan untuk menghapus semua kolom untuk node pool yang Anda hapus.

  3. Simpan file dan keluar dari editor.

Langkah berikutnya