All Products
Search
Document Center

Container Compute Service:Jadwalkan pod ke ACS menggunakan node virtual

Last Updated:Aug 29, 2026

Container Compute Service (ACS) diintegrasikan ke dalam kluster terdaftar melalui node virtual. Deploy node virtual di dalam kluster terdaftar untuk mengakses daya komputasi kontainer yang disediakan oleh ACS dan membuat pod sesuai permintaan tanpa perlu merencanakan kapasitas komputasi node.

Cara node virtual menyediakan daya komputasi ACS

Container Compute Service (ACS) adalah layanan kontainer yang menggunakan Kubernetes sebagai antarmukanya dan menyediakan sumber daya komputasi yang memenuhi spesifikasi kontainer. ACS menggunakan arsitektur berlapis yang memisahkan lapisan kontrol Kubernetes dari daya komputasi kontainer yang mendasarinya. Lapisan sumber daya komputasi ACS bertanggung jawab atas penjadwalan dan alokasi sumber daya untuk Pod, sedangkan Kubernetes mengelola beban kerja aplikasi seperti Deployment, Service, StatefulSet, dan CronJob di atas lapisan tersebut.

Anda dapat menghubungkan daya komputasi kontainer ACS ke kluster Kubernetes sebagai node virtual. Hal ini memberikan elastisitas tinggi pada kluster Anda tanpa dibatasi oleh kapasitas komputasi nodenya. Ketika ACS mengambil alih pengelolaan infrastruktur dasar untuk Pod, Kubernetes tidak perlu lagi menangani langsung penempatan dan startup Pod secara individual atau memantau status sumber daya mesin virtual yang mendasarinya. ACS memastikan sumber daya Pod yang diperlukan selalu tersedia.

Dalam kluster terdaftar, instal add-on ack-virtual-node dari Component Center untuk deploy node virtual dan membuat pod ACS. Saat kluster perlu melakukan skala keluar, buat pod ACS pada node virtual sesuai permintaan tanpa perlu merencanakan kapasitas komputasi node. Pod ACS dapat berkomunikasi melalui jaringan dengan pod yang berjalan di node fisik kluster. Untuk informasi lebih lanjut, lihat Kluster terdaftar.

Untuk menggunakan sumber daya secara lebih efisien, memperpendek waktu skala keluar, dan mengurangi biaya, jadwalkan beban kerja berjalan lama yang trafiknya berfluktuasi secara elastis ke node virtual. Saat trafik menurun, segera lepas pod di node virtual untuk mengurangi biaya penggunaan.

Pod di node virtual berjalan dalam lingkungan runtime kontainer yang aman dan terisolasi di ACS. Setiap pod berkorespondensi dengan satu instans ACS.

Saat Anda menjadwalkan Pod ke node virtual, daya komputasi Elastic Container Instance (ECI) digunakan secara default, kecuali jika Anda menentukan ACS.

Prasyarat

Contoh: gunakan daya komputasi CPU ACS

Mulai versi 2.13.0 atau lebih baru, add-on ack-virtual-node menyediakan daya komputasi baik dari ACS maupun Elastic Container Instance (ECI).

Catatan

Saat Anda menjadwalkan Pod ke node virtual, daya komputasi Elastic Container Instance (ECI) digunakan secara default kecuali Anda secara eksplisit menentukan ACS.

Untuk menggunakan daya komputasi CPU ACS dalam kluster terdaftar ACK One, lakukan langkah-langkah berikut:

  1. Buat file bernama nginx.yaml dengan isi berikut:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx 
            alibabacloud.com/acs: "true" # Gunakan daya komputasi ACS.
            alibabacloud.com/compute-class: general-purpose # Kelas komputasi pod ACS. Nilai default: general-purpose.
            alibabacloud.com/compute-qos: default # Kelas QoS pod ACS. Nilai default: default.
        spec:
          containers:
          - name: nginx
            image: mirrors-ssl.aliyuncs.com/nginx:stable-alpine
            ports:
              - containerPort: 80
                protocol: TCP 
            resources:
              limits:
                cpu: 2
              requests:
                cpu: 2
  2. Jalankan perintah berikut untuk membuat aplikasi NGINX.

    kubectl apply -f nginx.yaml
  3. Jalankan perintah berikut untuk memeriksa status pod.

    kubectl get pods -o wide

    Output yang diharapkan:

    NAME                     READY   STATUS    RESTARTS   AGE     IP               NODE                            NOMINATED NODE   READINESS GATES
    nginx-54bcbc9b66-****   1/1     Running   0          3m29s   192.168.XX.XXX   virtual-kubelet-cn-shanghai-l   <none>           <none>
    nginx-54bcbc9b66-****   1/1     Running   0          3m29s   192.168.XX.XXX   virtual-kubelet-cn-shanghai-l   <none>           <none>

    Kedua Pod ini dijadwalkan ke node yang memiliki label type=virtual-kubelet melalui nodeSelector.

  4. Jalankan perintah berikut untuk melihat detail pod NGINX.

    kubectl describe pod nginx-54bcbc9b66-****

    Output yang diharapkan:

    Annotations:  ProviderCreate: done
                  alibabacloud.com/instance-id: acs-uf6008giwgjxlvn*****
                  alibabacloud.com/pod-ephemeral-storage: 30Gi
                  alibabacloud.com/pod-use-spec: 2-2Gi
                  kubernetes.io/pod-stream-port: 10250
                  network.alibabacloud.com/enable-dns-cache: false
                  topology.kubernetes.io/region: cn-shanghai

    Anotasi alibabacloud.com/instance-id: acs-uf6008giwgjxlvn***** pada output tersebut mengonfirmasi bahwa pod tersebut merupakan pod ACS.

Contoh: gunakan daya komputasi GPU ACS

Proses penggunaan daya komputasi GPU ACS mirip dengan daya komputasi CPU ACS, tetapi memerlukan versi komponen tertentu dan beberapa konfigurasi tambahan.

Daya komputasi GPU ACS dalam kluster terdaftar saat ini berada dalam pratinjau undangan. Untuk mengajukan akses, submit a ticket.

Usage

...     
     labels:
        # Nyatakan kebutuhan sumber daya GPU ACS dalam label.
        alibabacloud.com/compute-class: gpu     # Untuk tipe GPU, gunakan nilai tetap 'gpu'.
        alibabacloud.com/compute-qos: default   # Kelas QoS. Artinya sama seperti untuk daya komputasi ACS biasa.
        alibabacloud.com/gpu-model-series: example-model  # Seri model GPU. Ganti dengan model aktual Anda, misalnya T4.
...
Catatan

Untuk menggunakan daya komputasi GPU ACS dalam kluster terdaftar ACK One, lakukan langkah-langkah berikut:

  1. Buat file bernama gpu-demo.yaml dengan isi berikut.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: dep-node-selector-demo
      labels:
        app: node-selector-demo
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: node-selector-demo
      template:
        metadata:
          labels:
            app: node-selector-demo
            # Atribut ACS
            alibabacloud.com/acs: "true" # Gunakan daya komputasi ACS.
            alibabacloud.com/compute-class: gpu
            alibabacloud.com/compute-qos: default
            alibabacloud.com/gpu-model-series: example-model  # Seri model GPU. Ganti nilai ini dengan model aktual, misalnya T4.
        spec:
          containers:
          - name: node-selector-demo
            image: registry-cn-hangzhou.ack.aliyuncs.com/acs/stress:v1.0.4
            command:
            - "sleep"
            - "1000h"
            resources:
              limits:
                cpu: 1
                memory: 1Gi
                nvidia.com/gpu: "1"
              requests:
                cpu: 1
                memory: 1Gi
                nvidia.com/gpu: "1"
  2. Jalankan perintah berikut untuk membuat beban kerja GPU.

    kubectl apply -f gpu-demo.yaml
  3. Jalankan perintah berikut untuk memeriksa status beban kerja GPU yang sedang berjalan.

    kubectl get pod dep-node-selector-demo-9cdf7bbf9-s**** -o yaml

    Output yang diharapkan:

    phase: Running
    
        resources:
          limits:
            #other resources
            nvidia.com/gpu: "1"
          requests:
            #other resources
            nvidia.com/gpu: "1"