All Products
Search
Document Center

Container Service for Kubernetes:Gunakan penjadwalan GPU Kubernetes default

Last Updated:Feb 27, 2026

Container Service for Kubernetes (ACK) mendukung penjadwalan dan manajemen operasional GPU. Mode penggunaan GPU default mengikuti pendekatan standar yang digunakan dalam komunitas Kubernetes. Topik ini menggunakan pekerjaan TensorFlow yang dipercepat GPU untuk menunjukkan cara menerapkan aplikasi GPU secara cepat.

Catatan penggunaan

Untuk node GPU yang dikelola oleh kluster Kubernetes, mintalah resource GPU untuk aplikasi Anda menggunakan metode permintaan resource ekstensi Kubernetes standar yang dijelaskan dalam topik ini. Saat meminta dan menggunakan resource GPU untuk aplikasi Anda, patuhi panduan berikut:

  • Jangan menjalankan aplikasi GPU secara langsung di node.

  • Jangan gunakan alat command line seperti docker, podman, atau nerdctl untuk membuat kontainer atau meminta resource GPU. Misalnya, jangan jalankan perintah docker run --gpus all atau docker run -e NVIDIA_VISIBLE_DEVICES=all, lalu jalankan program GPU.

  • Jangan tambahkan variabel lingkungan seperti NVIDIA_VISIBLE_DEVICES=all atau NVIDIA_VISIBLE_DEVICES=<GPU ID> ke bagian env file YAML Pod. Jangan gunakan variabel lingkungan NVIDIA_VISIBLE_DEVICES untuk langsung meminta resource GPU bagi Pod dan menjalankan program GPU.

  • Saat membuat image untuk Pod, jika variabel lingkungan NVIDIA_VISIBLE_DEVICES tidak ditetapkan dalam file YAML Pod, jangan atur nilai default-nya menjadi NVIDIA_VISIBLE_DEVICES=all, lalu jalankan program GPU.

  • Jangan atur privileged: true dalam securityContext Pod dan jalankan program GPU.

Penggunaan metode non-standar untuk meminta resource GPU dapat menimbulkan risiko keamanan.

  • Resource GPU yang diminta menggunakan metode tersebut tidak tercatat dalam buku besar resource perangkat penjadwal. Ketidaksesuaian antara alokasi resource GPU aktual di node dan catatan dalam buku besar dapat menyebabkan penjadwal menetapkan beban kerja GPU tambahan ke node yang sama. Akibatnya, layanan dapat gagal karena konflik sumber daya—seperti memori GPU—pada kartu GPU yang sama.

  • Operasi non-standar ini juga dapat menyebabkan masalah lain yang tidak diketahui, seperti error yang dilaporkan komunitas NVIDIA.

Prosedur

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

  2. Pada halaman Deployments, klik Create from YAML. Gunakan kode contoh berikut untuk membuat aplikasi.

    apiVersion: v1
    kind: Pod
    metadata:
      name: tensorflow-mnist
      namespace: default
    spec:
      containers:
      - image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5
        name: tensorflow-mnist
        command:
        - python
        - tensorflow-sample-code/tfjob/docker/mnist/main.py
        - --max_steps=100000
        - --data_dir=tensorflow-sample-code/data
        resources:
          limits:
            nvidia.com/gpu: 1  # Meminta satu kartu GPU untuk kontainer ini.
        workingDir: /root
      restartPolicy: Always
  3. Di panel navigasi kiri, pilih Workloads > Pods. Temukan Pod yang telah Anda buat dan klik namanya untuk melihat detailnya.

    Klik tab Logs untuk melihat data log pekerjaan TensorFlow. Output berikut mengonfirmasi bahwa pekerjaan tersebut menggunakan GPU dengan benar.

    image.png