Si votre application Serverless App Engine (SAE) et votre instance Container Registry (ACR) se trouvent dans des comptes Alibaba Cloud différents, assurez-vous d'abord de la connectivité réseau. Configurez ensuite les autorisations nécessaires pour accéder à l'instance ACR. Enfin, indiquez l'adresse du dépôt d'images pour déployer l'application.
Prérequis
Assurer la connectivité réseau entre SAE et ACR
Établissez une connectivité inter-VPC ou activez une passerelle NAT publique pour le Virtual Private Cloud (VPC) de votre application. Pour les instances ACR Enterprise Edition, ajoutez également le bloc CIDR du VPC de l'application SAE ou l'Elastic IP Address (EIP) associée à la NAT gateway à la liste d'autorisation de l'instance ACR.
Configurer l'autorisation d'accès à ACR
Utilisez soit un nom d'utilisateur et un mot de passe statiques, soit un rôle RAM.
Nom d'utilisateur et mot de passe statiques
Créez un Secret pour stocker le nom d'utilisateur et le mot de passe du dépôt d'images. Sur la page Namespace, sélectionnez une région, cliquez sur le namespace cible, choisissez Secret dans le volet de navigation de gauche, puis cliquez sur Create.
Définissez le paramètre Type sur Private Image Repository Logon Key.
Dans le champ Image Repository Address, saisissez le domaine public de l'instance ACR. Par exemple,
registry.cn-xx.aliyuncs.compour Container Registry Personal Edition ouxx-registry.cn-xx.cr.aliyuncs.compour ACR Enterprise Edition. Saisissez le Username et le Password pour vous connecter au dépôt d'images.
Rôle RAM
SAE peut extraire des images depuis une instance ACR située dans un autre compte en endossant un rôle RAM. Par exemple, une application du compte A peut endosser un rôle RAM du compte B pour extraire des images d'une instance ACR appartenant au compte B.
Créer un rôle RAM : Utilisez le compte B pour créer un rôle RAM destiné au compte A. Pour plus d'informations, consultez la rubrique Create a RAM role for a trusted Alibaba Cloud account.
-
Configurer une politique d'accès : Créez une politique personnalisée ou modifiez une politique personnalisée en incluant les instructions suivantes pour autoriser les opérations sur les images privées.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:GetRepository", "cr:ListRepositoryTag" ], "Resource": "*" } ] } Accorder des autorisations au rôle RAM : Attribuez la politique d'accès créée à l'étape 2 au rôle RAM créé à l'étape 1. Pour plus d'informations, consultez la rubrique Manage RAM role permissions.
-
Modifier l'entité de confiance du rôle RAM : Remplacez l'entité de confiance du rôle RAM créé à l'étape 1 par le compte de service SAE en modifiant la politique de confiance. Pour plus d'informations, consultez la rubrique Modify the trust policy of a RAM role.
Avant
Après
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }Ce rôle RAM peut être endossé par tout utilisateur RAM ou rôle RAM autorisé sous le compte Alibaba Cloud (AccountID=123456789012****).
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "123456789012****@sae.aliyuncs.com" ] } } ], "Version": "1" }Ce rôle RAM ne peut être endossé que par le compte de service SAE (123456789012**@sae.aliyuncs.com) pour le compte Alibaba Cloud (AccountID=123456789012**).
RemarqueDans cet exemple,
Servicefait référence au service qui extrait l'image. Copier l'ARN : Sur la page Basic Information du rôle RAM, copiez l'ARN. Vous aurez besoin de cette valeur pour le champ acrAssumeRoleArn lors du déploiement de l'application.
Procédure
-
Sur la page SAE Application List, sélectionnez la région et le namespace cibles dans la barre de navigation supérieure, puis cliquez sur Create Application.
-
Sélectionnez une édition d'application.
ImportantLes éditions Lightweight Edition et Professional Edition sont actuellement en phase bêta sur invitation uniquement. Pour les utilisateurs ne participant pas au test bêta, les applications sont créées par défaut en tant qu'Standard Edition.
Lightweight Edition : Fournit l'ensemble minimal de fonctionnalités requis pour exécuter une application. Elle ne prend pas en charge les fonctionnalités Application Monitoring et Microservices Governance.
Standard Edition : Inclut la fonctionnalité Basic Application Monitoring. Les fonctionnalités Advanced Application Monitoring et Microservices Governance doivent être activées et achetées séparément.
Professional Edition : Inclut les fonctionnalités Advanced Application Monitoring et Microservices Governance, qui n'ont pas besoin d'être activées ou achetées séparément.
-
Sur la page Create Application, spécifiez un Application Name et configurez les paramètres suivants.
-
Sélectionnez le type de namespace pour l'application. Un namespace équivaut à un namespace Kubernetes et permet d'isoler les ressources dans différents environnements. Vous ne pouvez pas modifier le namespace d'une application après sa création. Planifiez en conséquence.
System Created : Utilise le namespace, le vSwitch et le groupe de sécurité par défaut créés par le système dans la région actuelle.
Existing Namespace : Sélectionnez un namespace, un vSwitch et un groupe de sécurité que vous avez créés au préalable.
-
Définissez le paramètre Application Deployment Method sur Select Image Deployment, puis cliquez sur Specify Image à droite. Sous l'onglet Private Images of Other Alibaba Cloud Account, configurez les paramètres suivants.
-
Sélectionnez votre édition ACR, puis choisissez une méthode d'autorisation. Pour ACR Enterprise Edition, vous devez également saisir l'Enterprise Edition Instance ID.
Static Username and Password : Sélectionnez le Secret for Username and Password of Image Repository que vous avez créé précédemment.
RAM Role : Saisissez la valeur acrAssumeRoleArn que vous avez copiée précédemment.
Saisissez l'Complete Image Repository Address au format
<image-repository-address>:<image-tag>. Par exemple :registry.cn-xx.aliyuncs.com/xx/xx:1.0pour Container Registry Personal Edition, ouxx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0pour ACR Enterprise Edition.Remarque : Utilisez l'adresse du dépôt d'images public ou privé correspondant à votre configuration réseau.Pour ACR Enterprise Edition, vous pouvez activer l'accélération d'image pour accélérer le démarrage de l'application.
-
-
Dans la section Capacity Settings, définissez les paramètres Resource Type, Single Instance Type et Instances.
-
-
(Facultatif) Cliquez sur Next: Advanced Settings pour configurer les fonctionnalités souhaitées.
-
-
Cliquez sur Create Application with One Click ou Create Application.
La création de l'application prend environ 1 à 2 minutes. Vous pouvez afficher les historiques de modifications pour vérifier que le déploiement a réussi. Si le déploiement échoue, aucune instance d'application n'est créée. Vous pouvez résoudre le problème en vous basant sur le message d'erreur dans Change Details.
Vous pouvez afficher l'application créée sur la page . Pour modifier la configuration de l'application après le déploiement, cliquez sur l'application cible pour accéder à sa page de détails. Ensuite, cliquez sur Deploy Application ou Modify Application Configurations en haut de la page. L'application redémarre automatiquement pour appliquer la nouvelle configuration. Effectuez cette opération pendant les heures creuses.
Vous pouvez vous connecter à une instance d'application via Webshell et interagir avec l'instance à l'aide de commandes console.
Après avoir créé une application, vous pouvez ajuster manuellement le nombre d'instances et la spécification des instances, ou ajuster automatiquement le nombre d'instances en configurant une politique de mise à l'échelle automatique. Vous pouvez également réduire les coûts en activant le mode inactif.