Si su aplicación de Serverless App Engine (SAE) y la instancia de Container Registry (ACR) están en cuentas de Alibaba Cloud distintas, primero asegúrese de que exista conectividad de red. Después, configure la autorización para acceder a la instancia de ACR. Por último, proporcione la dirección del repositorio de imágenes para desplegar la aplicación.
Requisitos previos
Garantizar la conectividad de red entre SAE y ACR
Debe establish cross-VPC connectivity o enable a public NAT gateway para la Virtual Private Cloud (VPC) de su aplicación. En el caso de las instancias de ACR Enterprise Edition, también debe agregar el bloque CIDR de la VPC de la aplicación SAE, o bien la Elastic IP Address (EIP) vinculada al NAT gateway, a la lista whitelist de la instancia de ACR.
Configurar la autorización de acceso a ACR
Puede utilizar un Static Username and Password o un RAM Role.
Static username and password
Cree un Secret para almacenar el nombre de usuario y la contraseña del repositorio de imágenes. En la página Namespace, seleccione una región, haga clic en el espacio de nombres correspondiente, elija Secret en el panel de navegación izquierdo y, a continuación, haga clic en Create.
Establezca Type como Private Image Repository Logon Key.
En el campo Image Repository Address, introduzca el dominio público de la instancia de ACR. Por ejemplo,
registry.cn-xx.aliyuncs.compara Container Registry Personal Edition oxx-registry.cn-xx.cr.aliyuncs.compara ACR Enterprise Edition. Introduzca el Username y la Password para iniciar sesión en el repositorio de imágenes.
RAM role
SAE puede extraer imágenes de una instancia de ACR en otra cuenta si asume un RAM role. Por ejemplo, una aplicación en la cuenta A puede asumir un RAM role de la cuenta B para extraer imágenes de una instancia de ACR propiedad de la cuenta B.
Crear un RAM role: Utilice la cuenta B para crear un RAM role destinado a la cuenta A. Para más información, consulte Create a RAM role for a trusted Alibaba Cloud account.
-
Configurar una política de acceso: Create a custom policy o modify a custom policy para incluir las siguientes instrucciones que permiten operaciones sobre imágenes privadas.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:GetRepository", "cr:ListRepositoryTag" ], "Resource": "*" } ] } Otorgar permisos al RAM role: Asigne la política de acceso del paso 2 al RAM role creado en el paso 1. Para más información, consulte Manage RAM role permissions.
-
Modificar la entidad de confianza del RAM role: Cambie la entidad de confianza del RAM role del paso 1 a la cuenta de servicio de SAE mediante la modificación de la política de confianza. Para más información, consulte Modify the trust policy of a RAM role.
Antes
Después
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }Este RAM role puede ser asumido por cualquier usuario de RAM o RAM role autorizado dentro de la cuenta de Alibaba Cloud (AccountID=123456789012****).
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "123456789012****@sae.aliyuncs.com" ] } } ], "Version": "1" }Este RAM role solo puede ser asumido por la cuenta de servicio de SAE (123456789012**@sae.aliyuncs.com) de la cuenta de Alibaba Cloud (AccountID=123456789012**).
NotaEn este ejemplo,
Servicehace referencia al servicio que extrae la imagen. Copiar el ARN: En la página Basic Information del RAM role, copie el ARN. Necesitará este valor para el campo acrAssumeRoleArn durante el despliegue de la aplicación.
Procedimiento
-
En la página SAE Application List, seleccione la región y el espacio de nombres deseados en la barra de navegación superior y, a continuación, haga clic en Create Application.
-
Seleccione una edición de aplicación.
ImportanteLas ediciones Lightweight Edition y Professional Edition se encuentran actualmente en una fase beta solo por invitación. Para los usuarios que no participan en la prueba beta, las aplicaciones se crean como Standard Edition de forma predeterminada.
Lightweight Edition: Proporciona el conjunto mínimo de funciones necesario para ejecutar una aplicación. No es compatible con las funciones Application Monitoring ni Microservices Governance.
Standard Edition: Incluye la función Basic Application Monitoring. Las funciones Advanced Application Monitoring y Microservices Governance deben habilitarse y adquirirse por separado.
Professional Edition: Incluye las funciones Advanced Application Monitoring y Microservices Governance, las cuales no requieren habilitarse ni adquirirse por separado.
-
En la página Create Application, especifique un Application Name y configure los siguientes parámetros.
-
Seleccione el tipo de espacio de nombres para la aplicación. Un espacio de nombres equivale a un namespace de Kubernetes y sirve para aislar recursos en distintos entornos. No es posible cambiar el espacio de nombres de una aplicación una vez creada, así que planifíquelo con anticipación.
System Created: Utiliza el espacio de nombres, el vSwitch y el security group predeterminados que el sistema crea en la región actual.
Existing Namespace: Seleccione un namespace, un vSwitch y un security group que haya creado previamente.
-
Establezca Application Deployment Method como Select Image Deployment y, a continuación, haga clic en Specify Image a la derecha. En la pestaña Private Images of Other Alibaba Cloud Account, configure los siguientes parámetros.
-
Seleccione su edición de ACR y elija un método de autorización. Para ACR Enterprise Edition, también debe introducir el Enterprise Edition Instance ID.
Static Username and Password: Seleccione el Secret for Username and Password of Image Repository que creó anteriormente.
RAM Role: Introduzca el valor de acrAssumeRoleArn que copió previamente.
Introduzca la Complete Image Repository Address con el formato
<image-repository-address>:<image-tag>. Por ejemplo:registry.cn-xx.aliyuncs.com/xx/xx:1.0para Container Registry Personal Edition oxx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0para ACR Enterprise Edition.Nota: Utilice la dirección del repositorio de imágenes pública o privada que corresponda a su configuración de red.En ACR Enterprise Edition, puede habilitar la aceleración de imágenes para agilizar el inicio de la aplicación.
-
-
En la sección Capacity Settings, establezca Resource Type, Single Instance Type e Instances.
-
-
(Opcional) Haga clic en Next: Advanced Settings para configurar las funciones deseadas.
-
-
Haga clic en Create Application with One Click o en Create Application.
La creación de la aplicación toma entre 1 y 2 minutos aproximadamente. Puede view change records para comprobar que el despliegue fue exitoso. Si el despliegue falla, no se crea ninguna instancia de la aplicación. En ese caso, solucione el problema basándose en el mensaje de error que aparece en Change Details.
Puede consultar la aplicación creada en la página . Para modificar la configuración de la aplicación después del despliegue, haga clic en la aplicación correspondiente para ir a su página de detalles. Luego, haga clic en Deploy Application o Modify Application Configurations en la parte superior. La aplicación se reinicia automáticamente para aplicar la nueva configuración. Se recomienda realizar esta operación fuera del horario de mayor demanda.
Puede log on to an application instance by using Webshell e interactuar con la instancia mediante comandos de consola.
Después de crear una aplicación, puede manually adjust the number of instances y la instance specification, o bien ajustar automáticamente la cantidad de instancias mediante configuring an auto scaling policy. También puede reducir costos mediante enabling idle mode.