All Products
Search
Document Center

Container Service for Kubernetes:Mengelola komponen berbagi GPU

Last Updated:Aug 21, 2026

Container Service for Kubernetes (ACK) menyediakan kemampuan berbagi dan penjadwalan GPU untuk skenario inferensi model yang menggunakan satu GPU bersama. Layanan ini juga menerapkan isolasi memori GPU dalam mode kernel dari driver NVIDIA. Jika Anda telah menginstal komponen berbagi GPU di kluster Anda, tingkatkan komponen tersebut ke versi terbaru apabila driver GPU atau sistem operasi pada suatu node tidak kompatibel dengan versi cGPU yang terinstal. Topik ini menjelaskan cara mengelola komponen berbagi GPU pada node GPU untuk mengaktifkan penjadwalan dan isolasi GPU.

Prasyarat

Batasan

  • Fitur isolasi memori cGPU hanya didukung pada node Alibaba Cloud Elastic Compute Service (ECS). Jangan tambahkan label ack.node.gpu.schedule=cgpu atau ack.node.gpu.schedule=core_mem ke node yang bukan merupakan node Alibaba Cloud ECS.

  • Jangan atur kebijakan CPU ke static untuk node yang menggunakan berbagi GPU.

  • Jika Anda perlu menentukan path kustom untuk file KubeConfig, jalankan perintah export KUBECONFIG=<kubeconfig>. Perintah kubectl inspect cgpu tidak mendukung parameter --kubeconfig.

  • Karena isolasi cGPU tidak mendukung Unified Virtual Memory (UVM), Anda tidak dapat memanggil cudaMallocManaged() untuk mengalokasikan memori GPU. Sebagai gantinya, panggil cudaMalloc(). Untuk informasi lebih lanjut, lihat dokumentasi NVIDIA.

  • Pod DaemonSet berbagi GPU tidak memiliki prioritas tertinggi pada suatu node, sehingga pod lain dengan prioritas lebih tinggi dapat merebut sumber dayanya dan menyebabkan eviction. Untuk mencegah hal ini, modifikasi DaemonSet yang Anda gunakan, seperti gpushare-device-plugin-ds untuk memori GPU bersama, dan tambahkan priorityClassName: system-node-critical untuk memastikan prioritas tinggi.

  • Demi performa, satu kartu GPU mendukung maksimal 20 pod saat menggunakan cGPU. Jika batas ini dilampaui, pod berikutnya yang dijadwalkan ke kartu tersebut akan gagal berjalan dan mengembalikan pesan error Error occurs when creating cGPU instance: unknown.

    Untuk mencegah penjadwal terus menjadwalkan pod cGPU ke node yang kartunya telah mencapai batas 20 pod, jalankan perintah berikut untuk menambahkan label ke node:

    kubectl label nodes <NODE> ack.node.gpu.max-pod=20

    Nilai 20 bersifat tetap dan tidak dapat diubah ke nilai lain.

  • Anda dapat menginstal komponen berbagi GPU di wilayah mana pun. Namun, fitur isolasi memori GPU hanya tersedia di wilayah berikut. Pastikan kluster Anda berada di salah satu wilayah ini.

    Wilayah

    Wilayah

    ID Wilayah

    China (Beijing)

    cn-beijing

    China (Shanghai)

    cn-shanghai

    China (Hangzhou)

    cn-hangzhou

    China (Zhangjiakou)

    cn-zhangjiakou

    China (Wulanchabu)

    cn-wulanchabu

    China (Shenzhen)

    cn-shenzhen

    China (Chengdu)

    cn-chengdu

    China (Heyuan)

    cn-heyuan

    China (Hong Kong)

    cn-hongkong

    Japan (Tokyo)

    ap-northeast-1

    Indonesia (Jakarta)

    ap-southeast-5

    Singapore

    ap-southeast-1

    US (Virginia)

    us-east-1

    US (Silicon Valley)

    us-west-1

    Germany (Frankfurt)

    eu-central-1

  • Kompatibilitas versi.

    Item

    Versi yang didukung

    Versi Kubernetes

    • Versi ack-ai-installer sebelum 1.12.0 mendukung kluster yang menjalankan Kubernetes 1.18.8 atau lebih baru.

    • ack-ai-installer 1.12.0 atau lebih baru hanya mendukung kluster yang menjalankan Kubernetes 1.20 atau lebih baru.

    Versi driver NVIDIA

    418.87.01 atau lebih baru

    Versi runtime kontainer

    • Docker: 19.03.5 atau lebih baru

    • containerd: 1.4.3 atau lebih baru

    Sistem operasi

    Alibaba Cloud Linux 3.x (edisi container-optimized memerlukan ack-ai-installer v1.12.6 atau lebih baru), Alibaba Cloud Linux 2.x, CentOS 7.6, CentOS 7.7, CentOS 7.9, Ubuntu 22.04

    GPU yang didukung

    Seri-P, Seri-T, Seri-V, Seri-A, Seri-H

Instal komponen berbagi GPU

Langkah 1: Instal komponen berbagi GPU

Cloud-native AI Suite belum dideploy

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Cloud-native AI Suite.

  3. Di halaman Cloud-native AI Suite, klik Deploy.

  4. Di halaman Deploy Cloud-native AI Suite, pilih Scheduling policies extension (Batch scheduling, GPU sharing, and GPU topology-aware scheduling).

  5. (Opsional) Untuk menyesuaikan kebijakan cGPU, klik Advanced di sebelah kanan Scheduling Policy Extension (Batch Task Scheduling, GPU Sharing, Topology-aware GPU Scheduling). Di dialog Parameters, ubah bidang policy untuk cGPU lalu klik OK.

    Jika Anda tidak memiliki persyaratan khusus untuk berbagi daya komputasi cGPU, pengaturan yang direkomendasikan adalah nilai default policy: 5 (native scheduling). Untuk informasi lebih lanjut tentang kebijakan cGPU, lihat Instal dan gunakan layanan cGPU.

  6. Di bagian bawah halaman Cloud-native AI Suite, klik Deploy Cloud-native AI Suite.

    Setelah instalasi, komponen ack-ai-installer muncul dalam daftar komponen di halaman Cloud-native AI Suite.

Cloud-native AI Suite sudah dideploy

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Cloud-native AI Suite.

  3. Temukan komponen ack-ai-installer dan klik Deploy di kolom Actions.

  4. (Opsional) Di dialog Parameters yang muncul, ubah bidang policy untuk cGPU.

    Jika Anda tidak memiliki persyaratan khusus untuk berbagi daya komputasi cGPU, pengaturan yang direkomendasikan adalah nilai default policy: 5 (native scheduling). Untuk informasi lebih lanjut tentang kebijakan cGPU, lihat Instal dan gunakan layanan cGPU.

  5. Setelah selesai mengubah parameter, klik OK.

    Setelah komponen terinstal, Status ack-ai-installer berubah menjadi Deployed.

Langkah 2: Aktifkan berbagi dan isolasi GPU

  1. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Nodes > Node Pools.

  2. Di halaman Node Pools, klik Create Node Pool. Konfigurasikan parameter seperti yang dijelaskan di Buat dan kelola node pool.

  3. Di halaman Create Node Pool, konfigurasikan parameter untuk node pool lalu klik Confirm. Tabel berikut menjelaskan parameter utama.

    Parameter

    Deskripsi

    Expected number of nodes

    Masukkan jumlah awal node untuk node pool. Gunakan 0 jika tidak diperlukan node pada awalnya.

    Node labels

    Atur nilai label sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang label node, lihat Aktifkan penjadwalan.

    Contoh ini menggunakan nilai label cgpu. Nilai ini mengaktifkan berbagi GPU pada node, di mana setiap pod hanya perlu meminta sumber daya memori GPU. Beberapa pod pada satu kartu GPU berbagi daya komputasi dan memiliki memori yang terisolasi.

    Klik 节点标签 di samping Node Labels. Atur Key menjadi ack.node.gpu.schedule dan Value menjadi cgpu.

    Penting
    • Untuk catatan penggunaan fitur isolasi cGPU, lihat FAQ cGPU.

    • Setelah menambahkan label berbagi GPU, jangan gunakan perintah kubectl label nodes untuk mengubah label penjadwalan GPU atau gunakan fitur manajemen label di halaman Nodes untuk mengubah label node. Hal ini dapat menyebabkan masalah potensial. Untuk informasi lebih lanjut, lihat Aktifkan penjadwalan. Metode yang direkomendasikan dijelaskan di Aktifkan penjadwalan.

Langkah 3: Tambahkan node GPU

Catatan

Jika Anda sudah membuat node GPU saat menambahkan node pool, Anda dapat melewati langkah ini.

Setelah membuat node pool, tambahkan node GPU ke dalamnya. Saat melakukannya, pastikan Anda menentukan GPU cloud server sebagai tipe instans. Untuk informasi lebih lanjut, lihat Tambahkan node yang ada ke node pool atau Buat dan kelola node pool.

Langkah 4: Instal tool kueri GPU

  1. Unduh executable kubectl-inspect-cgpu ke direktori dalam PATH Anda, seperti /usr/local/bin/.

    • Jika Anda menggunakan Linux, jalankan perintah berikut untuk mengunduh kubectl-inspect-cgpu.

      wget http://aliacs-k8s-cn-beijing.oss-cn-beijing.aliyuncs.com/gpushare/kubectl-inspect-cgpu-linux -O /usr/local/bin/kubectl-inspect-cgpu
    • Jika Anda menggunakan macOS, jalankan perintah berikut untuk mengunduh kubectl-inspect-cgpu.

      wget http://aliacs-k8s-cn-beijing.oss-cn-beijing.aliyuncs.com/gpushare/kubectl-inspect-cgpu-darwin -O /usr/local/bin/kubectl-inspect-cgpu
  2. Jadikan file tersebut dapat dieksekusi:

    chmod +x /usr/local/bin/kubectl-inspect-cgpu
  3. Periksa penggunaan GPU di kluster:

    kubectl inspect cgpu

    Output yang diharapkan:

    NAME                       IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
    cn-shanghai.192.168.6.104  192.168.6.104  0/15                   0/15
    ----------------------------------------------------------------------
    Allocated/Total GPU Memory In Cluster:
    0/15 (0%)

Tingkatkan komponen berbagi GPU

Langkah 1: Tentukan metode upgrade

Metode upgrade bergantung pada cara komponen ack-ai-installer diinstal. Terdapat dua metode instalasi:

  • Diinstal melalui Cloud-native AI Suite (Direkomendasikan): Komponen diinstal dari halaman Cloud-native AI Suite.

  • Diinstal dari App Catalog (tidak tersedia lagi): Komponen ack-ai-installer diinstal dari halaman App Catalog di Marketplace. Metode ini kini telah ditutup, tetapi komponen yang sudah terinstal dengan cara ini masih dapat ditingkatkan melalui metode tersebut.

    Penting

    Jika Anda menguninstall komponen yang diinstal dengan metode ini, Anda harus mengaktifkan Cloud-native AI Suite dan menyelesaikan instalasi untuk menginstal ulang komponen tersebut.

Tentukan metode instalasi

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Cloud-native AI Suite.

  3. Di halaman Cloud-native AI Suite, periksa apakah komponen ack-ai-installer telah dideploy.

    Jika komponen tersebut telah dideploy, artinya komponen diinstal melalui Cloud-native AI Suite. Jika tidak, komponen diinstal dari App Catalog.

Langkah 2: Tingkatkan komponen

Cloud-native AI suite

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Cloud-native AI Suite.

  3. Di bagian Components, temukan komponen ack-ai-installer dan klik Upgrade di kolom Actions.

App catalog

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Helm.

  3. Di halaman Helm, temukan rilis ack-ai-installer. Di kolom Actions, klik Update. Ikuti petunjuk untuk memilih versi Chart terbaru dan perbarui komponen tersebut.

    Penting

    Jika Anda perlu menyesuaikan konfigurasi Chart, konfirmasi pembaruan komponen setelah melakukan perubahan.

    Setelah pembaruan, periksa halaman Helm untuk memastikan versi Chart rilis ack-ai-installer adalah versi terbaru.

Langkah 3: Tingkatkan node yang ada

Menningkatkan komponen ack-ai-installer tidak secara otomatis meningkatkan versi cGPU pada node yang sudah ada. Gunakan informasi berikut untuk menentukan apakah fitur isolasi cGPU diaktifkan pada node Anda.

  • Jika kluster Anda berisi node GPU dengan fitur isolasi cGPU diaktifkan, Anda juga harus meningkatkan versi cGPU pada node tersebut. Untuk informasi lebih lanjut, lihat Tingkatkan versi cGPU suatu node.

  • Jika kluster Anda tidak memiliki node dengan fitur isolasi cGPU diaktifkan, lewati langkah ini.

    Catatan
    • Jika suatu node memiliki label ack.node.gpu.schedule=cgpu atau ack.node.gpu.schedule=core_mem, fitur isolasi cGPU diaktifkan.

    • Menningkatkan versi cGPU pada node yang sudah ada memerlukan penghentian semua pod bisnis pada node tersebut. Lakukan operasi ini selama jam sepi untuk meminimalkan gangguan bisnis.