Todos los productos
Search
Centro de documentos

Container Registry:Pull images across accounts with the password-free component

Última actualización: Sep 21, 2026

En un entorno de múltiples cuentas de Alibaba Cloud, es posible que un clúster de ACK y una instancia de ACR Enterprise Edition los administren cuentas distintas de diferentes unidades de negocio. Para que un clúster de ACK extraiga imágenes de contenedor de una instancia de ACR Enterprise Edition y despliegue cargas de trabajo, debe asegurarse de que exista conectividad de red y otorgar los permisos necesarios entre cuentas. Este tema explica cómo usar el componente sin contraseña aliyun-acr-credential-helper para extraer imágenes entre cuentas.

Guía de decisión

Primero, seleccione un método de conexión de red y un método de autorización de cuentas. Después, seleccione un componente sin contraseña que admita los métodos elegidos.

Para conocer los pasos detallados, siga las instrucciones de Configure network connections y Configure account authorization and the credential-free component , y luego Verify cross-account image pulling .
image
Nota

En este tema, el acceso entre cuentas se refiere al acceso entre diferentes cuentas de Alibaba Cloud (cuentas raíz), no entre RAM users (sub-accounts).

Requisitos previos

  • Al rol de RAM que utiliza el componente sin contraseña se le deben haber otorgado los permisos obligatorios.

  • Su clúster de ACK debe ser compatible con el componente sin contraseña.

    • aliyun-acr-credential-helper (administrado)

      Versión 1.22 o posterior de clústeres administrados de ACK, clústeres serverless de ACK o clústeres de ACK Edge

    • aliyun-acr-credential-helper (autoadministrado)

      Versión 1.20 o posterior de clústeres administrados de ACK o clústeres dedicados de ACK

  • La instancia de Container Registry (ACR) debe ser una instancia de Enterprise Edition.

    Importante
    • El complemento sin contraseña solo admite instancias de ACR Enterprise Edition e instancias de ACR Personal Edition creadas el 8 de septiembre de 2024 o antes. Si no puede usar el complemento sin contraseña, consulte How do I use imagePullSecrets?.

Procedimiento

Paso 1: Configurar las conexiones de red

Cuando se extrae una imagen entre cuentas, el clúster de ACK que la solicita y la instancia de ACR Enterprise Edition que la aloja se encuentran en distintas VPC. Estas redes pertenecen a cuentas diferentes y también pueden ubicarse en regiones distintas. Antes de extraer la imagen, establezca la conectividad de red y asegúrese de que los nombres de dominio correspondientes se puedan resolver. Utilice uno de los siguientes métodos:

  • Conexión pública: configure un endpoint público para la instancia de ACR Enterprise Edition y habilite el acceso a la red pública del clúster de ACK. La imagen se transfiere por internet público. Este método es menos seguro y genera costos tanto por la dirección IP elástica como por el tráfico saliente.

  • Conexión de emparejamiento de VPC: utilice una conexión de emparejamiento de VPC para unir ambas redes. Esto permite que el clúster de ACK acceda a la instancia de ACR Enterprise Edition. Esta función es gratuita si las VPC están en la misma región, pero tiene costo cuando se ubican en regiones diferentes. El método requiere que los bloques CIDR de las dos VPC no se superpongan. Si ya existe una superposición importante en los bloques CIDR en uso, es posible que deba rediseñar su arquitectura de red actual.

  • Conexión de Cloud Enterprise Network (CEN): una instancia de CEN puede contener uno o más transit routers. Varios transit routers se interconectan mediante conexiones entre regiones para habilitar la comunicación de VPC en distintas regiones y cuentas.

Para consultar una comparación entre las conexiones de emparejamiento de VPC y CEN, consulte What are the differences between Cloud Enterprise Network and VPC Peering Connection?

Elemento de comparación

Conexión pública

Conexión de emparejamiento de VPC

Cloud Enterprise Network (CEN)

Tipo de red

Pública

Privada

Privada

Facturación

Se generan cargos según billing methods of elastic IP addresses.

  • No se generan cargos si las VPC del clúster de ACK y de la instancia de ACR Enterprise Edition están en la misma región.

  • Si las VPC están en regiones distintas, Cloud Data Transfer (CDT) cobra una tarifa por el tráfico saliente.

Se generan cargos según billing rules de CEN.

Funciones principales

No requiere cambios en la arquitectura de red existente. Por motivos de seguridad, debe configurar reglas de entrada y salida, así como directivas de control de acceso.

  • Las imágenes se transfieren por una red privada, lo que ofrece mayor seguridad. No se generan cargos si las VPC están en la misma región.

  • Este método exige que los bloques CIDR de las dos VPC no se superpongan. Si ya existe una superposición importante en los bloques CIDR en uso, es posible que deba rediseñar su arquitectura de red actual.

  • Las imágenes se transfieren por una red privada, lo que proporciona mayor seguridad.

  • CEN está diseñado para entornos de producción empresariales con requisitos estrictos de seguridad.

Procedimiento de configuración

  1. Configure a public endpoint for the ACR instance

    Configure una directiva de control de acceso pública para gestionar y acceder de forma remota y segura a la instancia de ACR Enterprise Edition.
  2. Enable public network access for the ACK cluster

    Configure el acceso a la red pública del clúster de ACK para extraer imágenes de la instancia de ACR Enterprise Edition.
  1. Enable private domain name resolution for the ACR instance

    Después de conectar la instancia de ACR Enterprise Edition a la VPC, podrá acceder a ella dentro de la red mediante su nombre de dominio privado. Una vez completada la configuración, obtenga el ID de la VPC y la dirección IP privada de la instancia de ACR Enterprise Edition.
  2. Obtain the domain name and IP address of the ACR instance

    Obtenga el nombre de dominio y la dirección IP del servicio de autenticación utilizado para acceder a la instancia de ACR Enterprise Edition, junto con el nombre de dominio y la dirección IP del bucket de OSS asociado.
  3. Create a VPC peering connection and configure a route table

    Debe agregar entradas de ruta que apunten a la VPC par en ambos extremos de la conexión de emparejamiento de VPC. Esto habilita la comunicación privada entre las VPC del clúster de ACK y de la instancia de ACR Enterprise Edition. En el extremo del clúster de ACK, también debe configurar entradas de ruta para la dirección IP del servicio de autenticación y la del bucket de OSS asociado.
  4. Resuelva el nombre de dominio de la instancia de ACR para el clúster de ACK

    Utilice métodos como adding a private DNS record o un node pool custom data script para modificar por lotes el archivo /etc/hosts. De este modo, el nombre de dominio de la instancia de ACR se resuelve a su dirección IP privada, lo que permite al clúster de ACK reenviar el tráfico a la VPC de la instancia mediante las entradas de ruta configuradas.
  1. Enable private domain name resolution for the ACR instance

    Después de conectar la instancia de ACR Enterprise Edition a la VPC, podrá acceder a ella dentro de la red mediante su nombre de dominio privado. Una vez completada la configuración, obtenga el ID de la VPC y la dirección IP privada de la instancia de ACR Enterprise Edition.
  2. Obtain the domain name and IP address of the ACR instance

    Obtenga el nombre de dominio y la dirección IP del servicio de autenticación utilizado para acceder a la instancia de ACR Enterprise Edition, junto con el nombre de dominio y la dirección IP del bucket de OSS asociado.
  3. Configure cross-account VPC communication by using CEN

    Conecte la VPC de la instancia de ACR Enterprise Edition al transit router de su región. Luego, conecte la VPC del clúster de ACK al transit router de su propia región. Por último, utilice una conexión entre regiones para habilitar la comunicación entre ambos transit routers.
  4. Configure VPC and transit router route tables

    En las tablas de rutas de la VPC y del transit router del clúster de ACK, también debe configurar entradas de ruta para la dirección IP del servicio de autenticación y la del bucket de OSS asociado.
  5. Resuelva el nombre de dominio de la instancia de ACR para el clúster de ACK

    Utilice métodos como adding a private DNS record o un node pool custom data script para modificar por lotes el archivo /etc/hosts. Este paso resuelve el nombre de dominio de la instancia de ACR a su dirección IP privada para el clúster de ACK, lo que permite reenviar el tráfico a la VPC de la instancia mediante las entradas de ruta de CEN.

Paso 2: Configurar la autorización y el componente sin contraseña

A continuación se presentan tres métodos de autorización que le permiten extraer imágenes entre cuentas sin usar credenciales estáticas. Elija el método que mejor se adapte a sus necesidades.

Elemento de comparación

RRSA

Rol de RAM de Worker

AccessKey de usuario de RAM

Tipo de clúster

Compatible con clústeres ACK Basic, clústeres ACK Pro, clústeres ACK Edge y clústeres ACK Serverless Pro de la versión 1.22 y posteriores.

Compatible con clústeres ACK Basic, clústeres ACK Pro y clústeres ACK dedicated de la versión 1.20 y posteriores.

Compatible con clústeres ACK Basic, clústeres ACK Pro y clústeres ACK dedicated de la versión 1.20 y posteriores.

Componentes compatibles

  • Componente administrado aliyun-acr-credential-helper

  • Componente aliyun-acr-credential-helper

    Debe actualizarse a la versión v23.02.06.1-74e2172-aliyun o posterior.

Para obtener más información sobre las diferencias entre estos componentes, consulte Comparison of password-free components.

Componente aliyun-acr-credential-helper

Componente aliyun-acr-credential-helper

Granularidad de permisos

Nivel de Pod (granularidad fina)

Nivel de clúster (granularidad media)

Nivel de cuenta (granularidad gruesa)

Seguridad

Alta. Este método proporciona control y aislamiento de permisos con granularidad fina. Utiliza credenciales temporales de STS (Security Token Service) y evita codificar de forma rígida los pares de AccessKey.

Media. Todos los Pods comparten los mismos permisos, lo que puede generar privilegios excesivos.

Baja. Existe un alto riesgo de filtración del par de AccessKey.

Escenarios aplicables

Recomendado para servicios sensibles a la seguridad y entornos de producción que requieren un control estricto de permisos.

Más indicado para escenarios con requisitos de permisos uniformes, como entornos de desarrollo y prueba que necesitan un control moderado.

Diseñado para despliegues rápidos o entornos de demostración.

RRSA

En el clúster de ACK de la Cuenta A, configure un ServiceAccount específico para que asuma un rol de RAM de la Cuenta B. Este rol de RAM recibe los permisos necesarios, lo que permite al clúster de ACK extraer imágenes privadas de la instancia de ACR en la Cuenta B sin usar credenciales estáticas.

Nota

Para habilitar la función RRSA (RAM Roles for Service Accounts) en el componente sin contraseña, primero debe habilitar RRSA en el clúster y luego configurarla en el componente. Si ejecuta estos pasos en el orden incorrecto, deberá eliminar el Pod del componente sin contraseña para activar la función RRSA.

image
  1. En la Cuenta A, habilite la función RRSA para el clúster de ACK y cree un rol de RAM con permisos de asunción de roles.

    1. Habilite la función RRSA para el clúster de ACK.

      1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

      2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Cluster Information.

      3. En la pestaña Basic Information, dentro de la sección Security and Auditing, haga clic en Enable junto a RRSA OIDC.

      4. En el cuadro de diálogo Enable RRSA, haga clic en Confirm. Espere a que el estado del clúster cambie de Updating a Running. Con esto, RRSA queda habilitado.

      5. Una vez habilitado RRSA, coloque el cursor sobre la etiqueta Enabled junto a RRSA OIDC en la sección Security and Auditing. Se mostrarán la URL y el ARN (Alibaba Cloud Resource Name) del proveedor de OIDC.

    2. Create a RAM role for an OIDC identity provider y actualice su directiva de confianza con el siguiente contenido.

      • Reemplace <oidc_issuer_url> con la URL del proveedor de OIDC que obtuvo en el paso anterior.

      • Reemplace <oidc_provider_arn> con el ARN del proveedor de OIDC que obtuvo en el paso anterior.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Condition": {
              "StringEquals": {
                "oidc:aud": "sts.aliyuncs.com",
                "oidc:iss": "<oidc_issuer_url>",
                "oidc:sub": "system:serviceaccount:kube-system:aliyun-acr-credential-helper"
              }
            },
            "Effect": "Allow",
            "Principal": {
              "Federated": [
                "<oidc_provider_arn>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    3. Asigne la directiva de permisos AliyunSTSAssumeRoleAccess al rol para otorgarle permisos de asunción de roles y, a continuación, registre su ARN. Para obtener más información, consulte Manage permissions for a RAM role.

      1. En la página de detalles del rol, vaya a la pestaña Authorization y haga clic en Authorize.

      2. En el panel Authorize, dentro de Policies, busque y seleccione la directiva AliyunSTSAssumeRoleAccess y, después, haga clic en OK.

      3. En la página de detalles del rol, dentro de la sección Basic Information, consulte y registre el ARN del rol de RAM. Para ver instrucciones detalladas, consulte How do I view the ARN of a RAM role?

  2. En la Cuenta B, cree un rol de RAM con permisos para extraer imágenes privadas y configúrelo para que el rol de RAM de la Cuenta A pueda asumirlo.

    1. Create a RAM role for a trusted Alibaba Cloud account. Edite la directiva de confianza con el siguiente script para permitir que el rol de la Cuenta A lo asuma.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "<ARN of the role created in Account A>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    2. Create a custom permission policy con el siguiente contenido y attach it to the RAM role para otorgar permisos de obtención de información de la instancia y extracción de imágenes.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. Set the maximum session duration for the RAM role a un valor de entre 3,600 y 43,200 segundos. El valor predeterminado es 3,600 segundos.

      Asegúrese de que este valor coincida con el expireDuration de la configuración del componente descrita más adelante. El valor de expireDuration no puede superar la duración máxima de la sesión.
    4. En la página de detalles del rol, dentro de la sección Basic Information, consulte y registre el ARN del rol de RAM.

  3. En la Cuenta A, instale el componente sin contraseña para el clúster de ACK y modifique su configuración.

    Para obtener más información sobre las diferencias entre los siguientes componentes, consulte Comparison of password-free components .

    Componente administrado

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Add-ons .

    3. En la página Add-ons, haga clic en la pestaña Security, busque la tarjeta aliyun-acr-credential-helper (managed) y, a continuación, haga clic en Install.

    4. En el cuadro de diálogo aliyun-acr-credential-helper Parameter Configuration, seleccione Enable RRSA. Después, haga clic en Add, introduzca los siguientes parámetros y haga clic en Confirm.

      Configuración de la instancia de ACR Enterprise Edition:

      Parámetro

      Descripción

      Ejemplo

      instanceId

      El ID de la instancia de ACR. Para especificar varios ID, sepárelos con comas (,).

      cri-XXXXX

      regionId

      El ID de la región de la instancia de ACR.

      cn-hangzhou

      domains

      Los nombres de dominio utilizados para acceder a la instancia de ACR. Introduzca todos los nombres de dominio de acceso (públicos y de VPC) de la instancia. Para especificar varios nombres de dominio, sepárelos con comas (,).

      XXXXX-registry.cn-hangzhou.cr.aliyuncs.com

      assumeRoleARN

      El ARN del rol de RAM que creó en la Cuenta B.

      acs:ram::100XXXXXXXX9630:role/XXXX

      expireDuration

      El periodo de validez de las credenciales temporales para el acceso entre cuentas. Introduzca la duración máxima de sesión del rol de RAM que creó en la Cuenta B.

      3600

      rrsaRoleARN

      El ARN del rol de RAM que creó en la Cuenta A.

      acs:ram::128XXXXXXXXXX09011:role/XXXX

      rrsaOIDCProviderRoleARN

      El ARN del proveedor del clúster de ACK. Introduzca el provider ARN del proveedor de identidades RRSA OIDC del clúster de ACK en la Cuenta A.

      acs:ram::128XXXXXXXXXX09011:oidc-provider/ack-rrsa-c8864XXXXXXXXXXXXXXXXXX99356a636

      Para obtener información sobre otros parámetros, consulte Component configuration .

    aliyun-acr-credential-helper

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Add-ons .

    3. En la página Add-ons, haga clic en la pestaña Security, busque el componente aliyun-acr-credential-helper y haga clic en Install. En el cuadro de diálogo que aparece, establezca la opción tokenMode en auto y, a continuación, haga clic en OK.

    4. Modifique el ConfigMap del componente sin contraseña.

      1. En el panel de navegación izquierdo, seleccione Configurations > ConfigMaps.

      2. En la página ConfigMaps, seleccione kube-system en la lista desplegable Namespace. Luego, busque acr-configuration y haga clic en Edit YAML en la columna Actions. Actualice la configuración con base en el siguiente ejemplo.

        data:
          service-account: "default"
          watch-namespace: "all"
          expiring-threshold: "15m"
          notify-email: "c*@example.com"
          acr-registry-info: |
            - instanceId: "cri-xxx"                                   # ACR instance ID.
              regionId: "cn-hangzhou"                                 # ACR instance region ID.
              domains: "xxxxx-registry.cn-hangzhou.cr.aliyuncs.com"   # ACR instance access domain name.
              rrsaRoleARN: "<ARN of the role created under Account A>"
              rrsaOIDCProviderRoleARN: "<OIDC Provider ARN from the cluster's Basic Information page in the ACK console under Account A>"
              assumeRoleARN: "<ARN of the role created under Account B>"
              expireDuration: 3600                                    # Maximum session duration for the RAM role under Account B. Default: 3600.             
          rrsa: |
            enable: true                                              # Enable the RRSA feature for the password-free component. 

Rol de RAM de Worker

En el clúster de ACK de la Cuenta A, configure el rol de RAM de Worker predeterminado del clúster para que asuma un rol de RAM de la Cuenta B con permisos para extraer imágenes. Esto permite que el clúster de ACK acceda a las imágenes privadas de la Cuenta B y las extraiga.

image
  1. En la Cuenta A, consulte el rol de RAM de Worker del clúster y otórguele permisos de asunción de roles.

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Cluster Information.

    3. En la página Cluster Information, haga clic en la pestaña Basic Information. En la sección Cluster Resources, haga clic en el enlace situado a la derecha de Worker RAM Role.

    4. Asigne la directiva de permisos AliyunSTSAssumeRoleAccess al rol para otorgarle permisos de asunción de roles y, a continuación, registre su ARN. Para obtener más información, consulte Manage permissions for a RAM role.

      1. En la página de detalles del rol, vaya a la pestaña Authorization y haga clic en Authorize.

      2. En el panel Authorize, dentro de Policies, busque y seleccione la directiva AliyunSTSAssumeRoleAccess y, después, haga clic en OK.

      3. En la página de detalles del rol, dentro de la sección Basic Information, consulte y registre el ARN del rol de RAM. Para ver instrucciones detalladas, consulte How do I view the ARN of a RAM role?

  2. En la Cuenta B, cree un rol de RAM con permisos para extraer imágenes privadas y configúrelo para que el rol de RAM de Worker del clúster de ACK en la Cuenta A pueda asumirlo.

    1. Create a RAM role for a trusted Alibaba Cloud account.

    2. Create a custom permission policy con el siguiente contenido y attach it to the RAM role para otorgar permisos de obtención de información de la instancia y extracción de imágenes.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. En la página de detalles del rol de RAM, haga clic en la pestaña Trust Policy y seleccione Edit Trust Policy con el siguiente contenido. Esto permite que el rol de RAM de Worker del clúster de ACK en la Cuenta A asuma el rol de RAM en la Cuenta B.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "<ARN of the role created under Account A>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    4. En la página de detalles del rol, dentro de la sección Basic Information, consulte y registre el ARN del rol de RAM. Para ver instrucciones detalladas, consulte How do I view the ARN of a RAM role?

  3. En la Cuenta A, instale el componente sin contraseña para el clúster de ACK y modifique su configuración.

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Add-ons .

    3. En la página Add-ons, haga clic en la pestaña Security, busque el componente aliyun-acr-credential-helper y haga clic en Install. En el cuadro de diálogo que aparece, establezca la opción tokenMode en workerRole y, a continuación, haga clic en Confirm.

    4. Modifique el ConfigMap del componente sin contraseña.

      1. En el panel de navegación izquierdo, seleccione Configurations > ConfigMaps.

      2. En la página ConfigMaps, seleccione kube-system en la lista desplegable Namespace. Luego, busque acr-configuration y haga clic en Edit YAML en la columna Actions. Actualice la configuración con base en el siguiente ejemplo.

        data:
            service-account: "default"
            watch-namespace: "all"
            expiring-threshold: "15m"
            notify-email: "c*@example.com"
            acr-registry-info: |
              - instanceId: "cri-xxx"                                    # ACR Enterprise Edition instance ID.
                regionId: "cn-hangzhou"                                  # ACR Enterprise Edition region ID.
                domains: "xxxxx-registry.cn-hangzhou.cr.aliyuncs.com"    # ACR Enterprise Edition access domain name.
                assumeRoleARN: "<ARN of the role created under Account B>"
                expireDuration: 3600                                     # Maximum session duration for the RAM role under Account B. Default: 3600.

AccessKey de usuario de RAM

En el clúster de ACK de la Cuenta A, el componente sin contraseña almacena el AccessKey ID (AK) y el AccessKey Secret (SK) de un usuario de RAM de la Cuenta B para extraer imágenes privadas de dicha cuenta. Aunque este método es sencillo de configurar, representa un riesgo de seguridad porque el par de AccessKey se almacena en texto plano.

  1. En la Cuenta B, cree un usuario de RAM y asegúrese de que tenga los permisos cr.** necesarios.

    1. Create a RAM user.

    2. Create a custom permission policy con el siguiente contenido y attach it to the RAM user para otorgar permisos de obtención de información de la instancia y extracción de imágenes.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. Create an AccessKey pair y registre el AccessKey ID y el AccessKey Secret.

  2. En la Cuenta A, instale el componente sin contraseña para el clúster de ACK y modifique su configuración.

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Cluster Information.

    3. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Add-ons .

    4. En la página Add-ons, haga clic en la pestaña Security, busque el componente aliyun-acr-credential-helper y haga clic en Install. En el cuadro de diálogo que aparece, establezca la opción tokenMode en auto y, a continuación, haga clic en OK.

    5. Modifique el ConfigMap del componente sin contraseña.

      1. En el panel de navegación izquierdo, seleccione Configurations > ConfigMaps.

      2. En la página ConfigMaps, seleccione kube-system en la lista desplegable Namespace. Luego, busque acr-configuration y haga clic en Edit YAML en la columna Actions. Actualice la configuración con base en el siguiente ejemplo.

      3. data:
            service-account: "default"
            watch-namespace: "all"
            expiring-threshold: "15m"
            notify-email: "c*@example.com"
            acr-registry-info: |
              - instanceId: ""                        # ACR Enterprise Edition instance ID.             
                regionId: "cn-hangzhou"               # ACR Enterprise Edition region ID.    
                customAccessKey: "xxxxx"              # AccessKey ID of the RAM user under Account B.
                customAccessKeySecret: "xxxxxx"       # AccessKey Secret of the RAM user under Account B. 

Paso 3: Comprobar la extracción de imágenes entre cuentas

Nota

Este proceso de comprobación es solo para fines demostrativos. Para obtener instrucciones detalladas, consulte Build an image y Create a workload.

  1. En la instancia de ACR Enterprise Edition de la Cuenta B, obtenga la dirección Public endpoint o VPC de la imagen del contenedor, según lo requiera.

    Vaya a la página Basic Information del repositorio de imágenes de destino. Las direcciones de los endpoints están disponibles en el lado derecho de la página.

  2. En el clúster de ACK de la Cuenta A, vaya a Workloads > Deployments y cree una carga de trabajo mediante la imagen del contenedor.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment-basic
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: ******.cn-hangzhou.cr.aliyuncs.com/instance/instancetest:v1 # Specify the ACR image address from Account B 
            ports:
            - containerPort: 80
  3. Un evento de Pod con el mensaje Successfully pulled image "XXX" in XXXs (XXXs including waiting). Image size: XXX bytes. indica que el componente sin contraseña extrajo correctamente la imagen entre cuentas.

    En la página de detalles de la carga de trabajo, dentro de la pestaña Pods, confirme que el estado del Pod sea Running y que la columna Image muestre la dirección del repositorio de imágenes entre cuentas, como test332-registry.cn-hangzhou.cr.aliyuncs.com/instance/test:v1.

Preguntas frecuentes

Resolver conflictos de IP en el bloque CIDR 100.0.0.0/8

Las IP de autenticación y del dominio de OSS se resuelven en el bloque CIDR 100.0.0.0/8. Si su red interna utiliza este rango, se producirán conflictos de IP.

Conflicto con el nombre de dominio de autenticación

Resuelva este conflicto al habilitar que la instancia asuma el control del dominio de autenticación. Esto le permite acceder al servicio únicamente con el nombre de dominio de la instancia.

  1. Inicie sesión en la consola de Container Registry.

  2. En la barra de navegación superior, seleccione una región.

  3. En la página Instances, haga clic en la instancia de Enterprise Edition que desea gestionar.

  4. En el panel de navegación izquierdo de la página de gestión de la instancia, elija Repository > Domain. En la página Domain, active el interruptor Instance Taking over Authentication Domain Name.

    Importante

    Para habilitar la toma de control del dominio de autenticación, debe enviar un ticket para agregar su instancia de Enterprise Edition a la lista de permitidos.

  5. En el cuadro de diálogo Confirm to Enable Instance Taking over Authentication Domain Name, haga clic en Confirm.

Conflicto con el nombre de dominio de OSS

Para resolver este conflicto, access OSS resources over a private network by using PrivateLink y luego apunte el nombre de dominio de OSS al nombre de dominio de PrivateLink mediante un registro CNAME.