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: Lihat karakteristik dan status node pool Anda yang ada.

  • Mengubah ukuran node pool: Tingkatkan atau turunkan skala node pool Anda secara manual untuk beradaptasi dengan fluktuasi traffic workload.

  • Menghapus node pool: Hapus node pool jika permintaan untuk workload cluster Anda menurun, atau Anda ingin menghapus jenis mesin yang tidak lagi sesuai untuk operasi container 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 untuk 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 node pool dalam cluster Kubernetes. Peran yang Anda perlukan bergantung pada apakah Anda bekerja dalam cluster bersama yang memiliki cakupan organisasi atau cluster standar yang memiliki cakupan project. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi cluster Kubernetes.

Peran cluster bersama

Untuk membuat, menghapus, mengedit, atau melihat node pool cluster bersama, hubungi Admin IAM Organisasi Anda untuk meminta peran Admin Cluster Pengguna (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 node pool cluster dari konsol GDC.

Peran ini terikat ke namespace project Anda.

Menyiapkan lingkungan Anda

Untuk menjalankan perintah terhadap a cluster Kubernetes menggunakan API, pastikan Anda memiliki resource berikut:

  • Temukan nama cluster Kubernetes, atau tanyakan kepada anggota grup administrator platform nama cluster tersebut.

  • Gunakan nama cluster Kubernetes untuk mengganti KUBERNETES_CLUSTER_NAME dalam petunjuk ini.

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

  • Gunakan jalur kubeconfig server API pengelolaan untuk mengganti 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 node pool. 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 Save.

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 zona 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 dapat 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 node pool ini. Kolom ini bersifat opsional.
    • LABELS: label yang akan diterapkan ke node node pool ini. Kolom ini berisi daftar key-value pair. Kolom ini bersifat opsional.
    • GPU_PARTITION_SCHEME: skema partisi GPU, jika Anda menjalankan workload GPU. Misalnya, mixed-2. GPU tidak dipartisi jika kolom ini tidak ditetapkan. Untuk mengetahui 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

  • Lihat 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 meningkatkan atau menurunkan skala pool. Anda tidak dapat memilih node tertentu untuk dihapus saat menurunkan 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 node pool. Halaman Cluster details akan ditampilkan.

  5. Klik tab Node pools.

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

  7. Perbarui kolom Number of nodes untuk mencerminkan jumlah node baru yang diperlukan di node pool. Anda dapat menambah atau mengurangi jumlah node agar sesuai dengan persyaratan workload Anda.

  8. Klik Save.

  9. Kembali ke tab Node pools untuk cluster Anda dan pastikan node pool yang diubah ukurannya memiliki status Ready dan memiliki jumlah node yang benar. Mungkin perlu waktu beberapa menit agar node pool dapat 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 zona 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 bahwa 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
    

    Pastikan jumlah readyNodes mencerminkan jumlah node yang Anda tetapkan untuk node pool. Mungkin perlu waktu beberapa menit agar node pool dapat diskalakan sesuai spesifikasi Anda.

Menghapus node pool

Menghapus node pool akan menghapus node dan rute ke node tersebut. Node ini akan mengeluarkan dan menjadwalkan ulang 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 node pool yang ingin Anda hapus.

  4. Pilih Node pools.

  5. Klik Delete di samping node pool yang akan 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 zona 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