Todos os produtos
Search
Central de documentação

:Uso do recurso de aceleração P2P em clusters de borda

Última atualização: Jul 03, 2026

O recurso de aceleração P2P em clusters de borda agiliza o pull de imagens e reduz o tempo de implantação de aplicações. Este tópico descreve como utilizar a aceleração P2P em um cluster de borda.

Pré-requisitos

  • Uma instância do Container Registry Enterprise Edition já deve estar criada. A instância precisa ser da edição Standard ou Advanced. Para mais informações, consulte Criar uma instância Enterprise Edition.

  • A instância do Container Registry Enterprise Edition deve estar configurada para permitir acesso via Internet a partir do cluster de borda, com a lista de permissões devidamente definida. Para mais detalhes, veja Configurar controle de acesso à internet.

Etapa 1: Obter o ID da instância do Container Registry

  1. Faça login no Console do Container Registry.

  2. Na barra de navegação superior, selecione uma região.

  3. No painel de navegação à esquerda, clique em Instances.

  4. Na página Instances, clique na instância Enterprise Edition que deseja gerenciar.

  5. Visualize o ID da instância do Container Registry no canto superior esquerdo da página Overview.

Step 2: Install the P2P component

  1. Faça login no Console de Gerenciamento do Container Service.

  2. No painel de navegação à esquerda, escolha Marketplace > Application market.

  3. Na página App Catalog, pesquise pelo componente ack-edge-acr-acceleration-p2p. Ao encontrá-lo, clique no cartão correspondente.

  4. No painel Deploy, selecione um cluster de borda.

    Importante

    É obrigatório selecionar um cluster de borda antes de definir os parâmetros. Caso configure os parâmetros antes dessa seleção, as definições serão invalidadas.

  5. Na aba Parameters da página de detalhes do componente, defina o parâmetro registryInstances com o ID da instância do Container Registry obtido na Etapa 1.

    Se houver múltiplas instâncias do Container Registry, separe os IDs por vírgula (,) ao configurar o parâmetro registryInstances.

    Nota

    Por padrão, o componente P2P utiliza a porta 65001 nos nós. Se essa porta estiver em uso por outro componente, altere-a conforme a necessidade do seu ambiente.

    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>
  6. Configure o parâmetro plusMode para permitir que um ou mais node pools do cluster de borda utilizem a aceleração P2P.

    Nota

    Para saber como consultar o nome e o ID de um node pool, consulte Visualizar o nome e o ID de um node pool no cluster de borda.

    p2p:
      plusMode:   
        # Valid values: p2p and source. 
        # A value of p2p indicates that images are downloaded in P2P mode. 
        # A value of source indicates that images are downloaded from the registry-mirror component or a registry in the cloud. If you set the parameter to source, the scheduler component is not deployed to your cluster. 
        downloadPattern: "p2p"
        
        # The retention period of the data cached by the registry-mirror component. 
        cacheTTL: 24h
        
        # The path to which the data is cached by the registry-mirror component on the host. 
        # If this parameter is not specified, the cache will be lost when the registry-mirror container restarts. 
        cacheHostPath: ""    
    
        # Specify one or more node pools in the edge cluster. You can obtain the name and ID of each node pool in the Container Service for Kubernetes (ACK) console. 
        # name: the name of a node pool in the edge cluster. 
        # id: the ID of the node pool. 
        edgeNodePools:
          - name: ""
            id: ""      
        
        # If you set the parameter to true, the transfer acceleration feature of Object Storage Service (OSS) is enabled during the pull from origin over the Internet. This feature is applicable to scenarios where the Internet is unstable. For example, you can enable this feature when images are pulled across regions over the Internet. 
        # Before the configuration, make sure that the transfer acceleration feature is enabled in the OSS console. 
        ossInternetAccelerate: false    
       
        # If you set the parameter to true, the scheduler and registry-mirror components are deployed on a specified node. 
        # Before the configuration, you must add the following label to the node: k8s.aliyun.com/p2p-plus-node=true. 
        nodeSelectorEnable: false
  7. Opcional: Caso o cluster e a instância do Container Registry Enterprise Edition estejam em regiões diferentes, defina o parâmetro region com a região da instância do Container Registry Enterprise Edition.

    # Your cluster and the Container Registry Enterprise Edition instance are in different regions. Specify the region of the Container Registry Enterprise Edition instance. 
    region: ""
  8. Opcional: Para limitar a largura de banda total de upload e download do componente P2P, configure o parâmetro ratelimit. O valor padrão é 5 MB/s, mas você pode ajustá-lo conforme a capacidade dos nós.

    p2p:
      # Total net rate limit (MBytes/s) for uploading and downloading
      ratelimit: "5M"
  9. No painel Deploy, clique em Create.

Etapa 3: Ativar a aceleração P2P

Adicione o rótulo de aceleração P2P a workloads, como pods e Deployments, para habilitar esse recurso. Alternativamente, aplique o rótulo diretamente em um namespace do cluster ACK. Dessa forma, todos os workloads elegíveis dentro desse namespace terão a aceleração ativada automaticamente, sem necessidade de editar arquivos YAML individuais. Escolha o método mais adequado ao seu cenário.

Nota

O nome do rótulo de aceleração P2P é k8s.aliyun.com/image-accelerate-mode e seu valor é p2p.

  • Adicionar o rótulo de aceleração P2P a um workload

    Neste exemplo, aplicaremos o rótulo a um Deployment. Execute o comando abaixo para editar o arquivo YAML do Deployment:

    kubectl edit deploy <Deployment name>

    Insira o rótulo k8s.aliyun.com/image-accelerate-mode: p2p no arquivo YAML do 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"]
  • Adicionar o rótulo de aceleração P2P a um namespace

    • Adicionar o rótulo via console ACK

      1. Faça login no Console de Gerenciamento do Container Service.

      2. No painel de navegação à esquerda, clique em Clusters.

      3. Na página Clusters, localize o cluster desejado e clique no nome dele ou em Details na coluna Actions.

      4. No painel de navegação à esquerda, clique em Namespaces and Quotas.

      5. Na página Namespace, encontre o namespace alvo e clique em Edit na coluna Actions.

      6. Na seção Label da caixa de diálogo Edit Namespace, defina Variable Key como k8s.aliyun.com/image-accelerate-mode e Variable Value como p2p. Em seguida, clique em OK.

    • Adicionar o rótulo via kubectl

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

Verificar a aceleração P2P

Quando a aceleração P2P está ativa em um pod, o componente P2P injeta automaticamente informações relevantes no arquivo YAML. Isso inclui anotações específicas, o endereço da imagem acelerada e o Secret necessário para o pull.

Importante

O Secret usado para puxar a imagem acelerada difere do original apenas no domínio do repositório. As demais configurações permanecem idênticas. Portanto, se as credenciais do Secret original estiverem incorretas, o pull da imagem acelerada também falhará.

Execute o comando abaixo para inspecionar o YAML do pod:

kubectl get po <Pod name> -oyaml

Saída esperada:

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

A presença das anotações P2P, do endereço da imagem acelerada e do Secret específico confirma que a aceleração está funcionando corretamente.

Visualizar o nome e o ID de um node pool no cluster de borda

  1. Faça login no Console de Gerenciamento do Container Service.

  2. No painel de navegação à esquerda, clique em Cluster.

  3. Na página Cluster List, clique no nome do cluster de destino ou em Details na coluna Actions.

  4. No painel de navegação à esquerda da página de gerenciamento do cluster, escolha Nodes > Node Pool.

  5. Na página Node Pools, visualize os nomes de todos os node pools. Clique no nome daquele cujo ID deseja consultar.

  6. Na seção Node Pool Information da página de detalhes, verifique o ID do node pool.