Topik ini menjelaskan cara menyebarkan Pod pada node seri kontainer RDS Custom (Node AI atau Node Lingjun) menggunakan gambar kontainer pribadi.
Prasyarat
Anda telah mengaktifkan instans Edisi Perusahaan Container Registry (ACR). Untuk informasi lebih lanjut, lihat Buat Instans Container Registry.
Anda telah menyelesaikan tugas prasyarat untuk menggunakan instans ACR Edisi Perusahaan. Tugas-tugas ini mencakup mengikat platform kode sumber, membuat namespace, dan membuat repository image. Untuk informasi lebih lanjut, lihat Langkah 1 hingga 3 di Bangun Citra Menggunakan Instans Edisi Perusahaan.
Anda telah membuat Kluster ACK yang Dikelola Pro Edition. Untuk informasi lebih lanjut, lihat Buat Kluster ACK yang Dikelola.
Anda telah membuat node seri kontainer RDS Custom dan menambahkannya ke Kluster ACK yang Dikelola Pro Edition. Untuk informasi lebih lanjut, lihat Panduan Pengguna Node Seri Kontainer RDS Custom.
Prosedur
Sambungkan ke kluster ACK menggunakan kubectl. Untuk informasi lebih lanjut, lihat Dapatkan File kubeconfig dari Kluster dan Gunakan kubectl untuk Menyambung ke Kluster.
Jalankan perintah berikut untuk membuat Kubernetes Secret:
kubectl create secret docker-registry acr-secret-inner \ --docker-server=beijing-acr-registry-vpc.cn-beijing.cr.aliyuncs.com \ --docker-username=ACK@rctest \ --docker-password=Testpassword@123Catatanregsecret: Nama rahasia yang disesuaikan.--docker-server: Alamat repositori Docker.--docker-username: Nama pengguna untuk repositori Docker.--docker-password: Kata sandi untuk repositori Docker.
Jalankan perintah berikut untuk memverifikasi bahwa Secret telah dibuat:
kubectl get secrets acr-secret-inner -o yamlBuat file konfigurasi Pod.
Simpan konten berikut sebagai
pod.yaml.apiVersion: v1 kind: Pod metadata: name: sglang-qwen3 # Nama pod. spec: containers: - command: - sh - -c - echo hello world; sleep infinity; # Perintah untuk dijalankan setelah kontainer dimulai. Ini adalah contoh. image: beijing-acr-registry-vpc.cn-beijing.cr.aliyuncs.com/testvnode/acr-beijing:sglang_v1 # Alamat gambar pribadi. imagePullPolicy: IfNotPresent # Menarik gambar hanya jika tidak tersedia secara lokal. Dalam lingkungan produksi, atur parameter ini ke Always. name: sglang # Nama kontainer. ports: - containerPort: 8000 # Port yang didengarkan oleh kontainer. name: restful protocol: TCP resources: requests: cpu: "80" memory: "300Gi" nvidia.com/gpu: "8" limits: cpu: "80" memory: "300Gi" nvidia.com/gpu: "8" restartPolicy: Always # Memulai ulang pod jika gagal. imagePullSecrets: # Rahasia yang digunakan untuk menarik gambar pribadi. - name: acr-secret-inner nodeSelector: # Menjadwalkan pod ke node dengan label tertentu (node virtual). alibabacloud.com/virtual-node: "true" tolerations: # Mentolerir taint dari node virtual. - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddbJalankan perintah berikut untuk menyebarkan Pod:
kubectl apply -f pod.yaml