全部产品
Search
文档中心

:Gunakan fitur akselerasi P2P di klaster ACK Serverless dan ACK

更新时间:Nov 09, 2025

Anda dapat menggunakan fitur akselerasi P2P di klaster ACK Serverless dan Container Service for Kubernetes (ACK) untuk mempercepat penarikan gambar serta penyebaran aplikasi. Topik ini menjelaskan cara menggunakan fitur akselerasi P2P di klaster Kubernetes terkelola, khusus, dan serverless dari ACK.

Prasyarat

  • Sebuah instance Container Registry Edisi Perusahaan telah dibuat. Instance tersebut harus berupa Edisi Lanjutan. Untuk informasi lebih lanjut, lihat Buat Instance Container Registry Edisi Perusahaan.

  • Sebuah virtual private cloud (VPC) telah dikonfigurasi jika Anda memerlukan klaster ACK untuk mengakses instance Container Registry Edisi Perusahaan melalui VPC. Untuk informasi lebih lanjut, lihat Konfigurasikan ACL VPC. Jika klaster ACK perlu mengakses instance Container Registry Edisi Perusahaan melalui Internet, pastikan akses Internet diaktifkan dan alamat IP klaster ditambahkan ke daftar putih. Untuk informasi lebih lanjut, lihat Konfigurasikan Akses Melalui Internet.

Langkah 1: Berikan izin baca pada sumber daya Container Registry

Jika klaster ACK adalah klaster Kubernetes serverless, Anda harus memberikan izin baca pada sumber daya Container Registry kepada komponen P2P.

Catatan

Untuk klaster Kubernetes terkelola atau khusus, izin baca sudah diberikan secara default sehingga tidak perlu dilakukan lagi.

  1. Buat Peran RAM.

    Saat membuat Peran RAM, atur parameter Role Type ke Normal Service Role dan layanan tepercaya ke Elastic Compute Service (ECS). Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk Layanan Tepercaya Alibaba Cloud.

  2. Berikan Izin kepada Peran RAM.

    Lampirkan kebijakan AliyunContainerRegistryReadOnlyAccess ke Peran RAM. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Peran RAM.

Langkah 2: Lihat ID instance Container Registry Edisi Perusahaan

  1. Masuk ke Konsol Container Registry.

  2. Di bilah navigasi atas, pilih wilayah.

  3. Di panel navigasi sisi kiri, klik Instances.

  4. Di halaman Instances, klik instance Edisi Perusahaan yang ingin Anda kelola.

  5. Lihat ID instance Container Registry di pojok kiri atas halaman Overview.

Langkah 3: Instal komponen P2P

  1. Masuk ke Konsol ACK.

  2. Di panel navigasi sisi kiri, pilih Marketplace > Marketplace.

  3. Di halaman App Catalog, cari komponen ack-acr-acceleration-p2p. Setelah menemukannya, klik kartu komponen tersebut.

  4. Di halaman yang muncul, klik Deploy.

  5. Di wizard Deploy, pilih klaster dan namespace, lalu klik Next.

  6. Di langkah Parameters, atur parameter registryInstances ke ID instance Container Registry yang Anda peroleh di Langkah 2.

    Jika beberapa instance Container Registry digunakan, pisahkan ID instance dengan koma (,) saat menyetel parameter registryInstances.

    Catatan

    Secara default, komponen P2P menggunakan port 65001 pada node. Jika port tersebut telah digunakan oleh komponen lain, ubah port sesuai kebutuhan bisnis Anda.

    p2p:
      ...
      # Port of P2P Agent in host network
      port: 65001
    
      # Id of ACR registry instances, support multi, e.g. "cri-xxx,cri-yyy"
      registryInstances: <ACR instance Id>
  7. Opsional:Atur parameter controller.ramRole ke nama Peran RAM yang Anda buat di Langkah 1.

    Catatan

    Parameter controller.ramRole hanya diperlukan untuk klaster ACK Serverless. Anda dapat melewati langkah ini untuk klaster lainnya.

    controller:
      ...
      # ACK Serverless cluster setting, to accessing ACR OpenAPI(Get*, List*) for ECS
      ramRole: <your ram role name>
  8. Opsional:Untuk menentukan batas atas total bandwidth untuk mengunggah dan mengunduh menggunakan komponen P2P, atur parameter ratelimit. Nilai defaultnya adalah 512 MB/s. Sesuaikan nilai berdasarkan bandwidth node.

    p2p:
      # Total net rate limit (MBytes/s) for uploading and downloading
      ratelimit: "512M"
  9. Di panel Deploy, pilih klaster dan klik Create.

Langkah 4: Aktifkan akselerasi P2P

Anda dapat menambahkan label akselerasi P2P ke workload seperti pod dan Deployment untuk mengaktifkan akselerasi P2P. Anda juga dapat menambahkan label akselerasi P2P ke namespace di klaster ACK Anda. Dengan cara ini, akselerasi P2P diaktifkan untuk semua workload yang memenuhi kondisi akselerasi di namespace tersebut tanpa perlu memodifikasi file YAML tertentu. Pilih metode berdasarkan kebutuhan bisnis Anda.

Catatan

Nama label akselerasi P2P adalah k8s.aliyun.com/image-accelerate-mode dan nilainya adalah p2p.

  • Tambahkan Label Akselerasi P2P ke Workload

    Dalam contoh ini, tambahkan label akselerasi P2P ke Deployment. Jalankan perintah berikut untuk menambahkan label:

    kubectl edit deploy <Deployment name>

    Tambahkan label k8s.aliyun.com/image-accelerate-mode: p2p ke file YAML Deployment.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            # enable P2P
            k8s.aliyun.com/image-accelerate-mode: p2p
            app: nginx
        spec:
          # your ACR instacne image pull secret
          imagePullSecrets:
          - name: test-registry
          containers:
          # your ACR instacne image
          - image: test-registry-vpc.cn-hangzhou.cr.aliyuncs.com/docker-builder/nginx:latest
            name: test
            command: ["sleep", "3600"]
  • Tambahkan Label Akselerasi P2P ke Namespace

    • Tambahkan Label Akselerasi P2P ke Namespace di Konsol ACK

      1. Masuk ke Konsol ACK.

      2. Di panel navigasi sisi kiri, klik Clusters.

      3. Di halaman Clusters, temukan klaster yang ingin Anda kelola dan klik nama klaster atau klik Details di kolom Actions.

      4. Di panel navigasi sisi kiri, klik Namespaces and Quotas.

      5. Di halaman Namespace, temukan namespace yang ingin Anda konfigurasi dan klik Edit di kolom Actions.

      6. Di bagian Label kotak dialog Edit Namespace, atur parameter Variable Key ke k8s.aliyun.com/image-accelerate-mode dan parameter Variable Value ke p2p, lalu klik OK.

    • Tambahkan Label Akselerasi P2P ke Namespace Menggunakan kubectl

      kubectl label namespaces <your-namespace> k8s.aliyun.com/image-accelerate-mode=p2p

Verifikasi akselerasi P2P

Setelah akselerasi P2P diaktifkan untuk pod, komponen P2P secara otomatis menambahkan informasi terkait P2P ke file YAML pod. Informasi tersebut mencakup anotasi terkait P2P, alamat gambar yang dipercepat P2P, dan Secret untuk menarik gambar yang dipercepat P2P.

Penting

Satu-satunya perbedaan antara Secret yang digunakan untuk menarik gambar yang dipercepat P2P dan Secret yang digunakan untuk menarik gambar asli adalah nama domain repositori gambar. Jika informasi pengguna tidak valid dalam Secret untuk menarik gambar asli, gambar yang dipercepat P2P juga gagal ditarik.

Jalankan perintah berikut untuk melihat file YAML pod:

kubectl get po <Pod name> -oyaml

Keluaran yang diharapkan:

apiVersion: v1
kind: Pod
metadata:
  annotations:
    # inject p2p-annotations automatically
    k8s.aliyun.com/image-accelerate-mode: p2p
    k8s.aliyun.com/p2p-config: '...'
spec:
  containers:
   # inject image to p2p endpoint
   - image: test-registry-vpc.distributed.cn-hangzhou.cr.aliyuncs.com:65001/docker-builder/nginx:latest
  imagePullSecrets:
  - name: test-registry
  # inject image pull secret for p2p endpoint
  - name: acr-credential-test-registry-p2p

Jika anotasi terkait P2P, alamat gambar yang dipercepat P2P, dan Secret untuk menarik gambar yang dipercepat P2P ada di file YAML, akselerasi P2P diaktifkan.