Se o seu aplicativo do Serverless App Engine (SAE) e a instância do Container Registry (ACR) estiverem em contas diferentes da Alibaba Cloud, garanta primeiro a conectividade de rede. Em seguida, configure a autorização para acessar a instância do ACR. Por fim, forneça o endereço do repositório de imagens para implantar o aplicativo.
Pré-requisitos
Garantir conectividade de rede para SAE e ACR
Você deve estabelecer conectividade entre VPCs ou ativar um NAT gateway público para a Virtual Private Cloud (VPC) do seu aplicativo. Para instâncias do ACR Enterprise Edition, adicione também o bloco CIDR da VPC do aplicativo SAE ou o Elastic IP Address (EIP) vinculado ao NAT gateway à lista de permissões da instância do ACR.
Configurar autorização de acesso ao ACR
Use Static Username and Password ou uma RAM Role.
Static username and password
Crie um Secret para armazenar o nome de usuário e a senha do repositório de imagens. Na página Namespace, selecione uma região, clique no namespace desejado, escolha Secret no painel de navegação à esquerda e clique em Create.
Defina Type como Private Image Repository Logon Key.
No campo Image Repository Address, insira o domínio público da instância do ACR. Por exemplo,
registry.cn-xx.aliyuncs.compara Container Registry Personal Edition ouxx-registry.cn-xx.cr.aliyuncs.compara ACR Enterprise Edition. Insira o Username e a Password para fazer login no repositório de imagens.
RAM role
O SAE pode baixar imagens de uma instância do ACR em outra conta assumindo uma RAM role. Por exemplo, um aplicativo na Conta A pode assumir uma RAM role na Conta B para baixar imagens de uma instância do ACR pertencente à Conta B.
Criar uma RAM role: Use a Conta B para criar uma RAM role para a Conta A. Para mais informações, consulte Criar uma RAM role para uma conta confiável da Alibaba Cloud.
-
Configurar uma política de acesso: Crie uma política personalizada ou modifique uma política personalizada para incluir as seguintes instruções que permitem operações em imagens privadas.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:GetRepository", "cr:ListRepositoryTag" ], "Resource": "*" } ] } Conceder permissões à RAM role: Aplique a política de acesso da Etapa 2 à RAM role criada na Etapa 1. Para mais informações, consulte Gerenciar permissões de RAM role.
-
Modificar a entidade confiável da RAM role: Altere a entidade confiável da RAM role da Etapa 1 para a conta de serviço do SAE modificando a política de confiança. Para mais informações, consulte Modificar a política de confiança de uma RAM role.
Antes
Depois
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }Qualquer usuário RAM ou RAM role autorizado sob a conta da Alibaba Cloud (AccountID=123456789012****) pode assumir esta RAM role.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "123456789012****@sae.aliyuncs.com" ] } } ], "Version": "1" }Apenas a conta de serviço do SAE (123456789012**@sae.aliyuncs.com) da conta da Alibaba Cloud (AccountID=123456789012**) pode assumir esta RAM role.
NotaNeste exemplo,
Servicerefere-se ao serviço que baixa a imagem. Copiar o ARN: Na página Basic Information da RAM role, copie o ARN. Esse valor será necessário para o campo acrAssumeRoleArn durante a implantação do aplicativo.
Procedimento
-
Na página SAE Application List, selecione a região e o namespace desejados na barra de navegação superior e clique em Create Application.
-
Selecione uma edição de aplicativo.
ImportanteA Lightweight Edition e a Professional Edition estão atualmente em fase beta apenas por convite. Para usuários que não participam do teste beta, os aplicativos são criados como Standard Edition por padrão.
Lightweight Edition: Oferece o conjunto mínimo de recursos necessários para executar um aplicativo. Não suporta os recursos Application Monitoring e Microservices Governance.
Standard Edition: Inclui o recurso Basic Application Monitoring. Os recursos Advanced Application Monitoring e Microservices Governance devem ser ativados e adquiridos separadamente.
Professional Edition: Inclui os recursos Advanced Application Monitoring e Microservices Governance, que não precisam ser ativados ou adquiridos separadamente.
-
Na página Create Application, especifique um Application Name e configure os seguintes parâmetros.
-
Selecione o tipo de namespace para o aplicativo. Um namespace equivale a um namespace do Kubernetes e serve para isolar recursos em ambientes diferentes. Não é possível alterar o namespace de um aplicativo após sua criação. Planeje adequadamente.
System Created: Utiliza o namespace, vSwitch e grupo de segurança padrão criados pelo sistema na região atual.
Existing Namespace: Selecione um namespace, vSwitch e grupo de segurança criados previamente.
-
Defina Application Deployment Method como Select Image Deployment e clique em Specify Image à direita. Na aba Private Images of Other Alibaba Cloud Account, configure os seguintes parâmetros.
-
Selecione sua edição do ACR e escolha um método de autorização. Para o ACR Enterprise Edition, insira também o Enterprise Edition Instance ID.
Static Username and Password: Selecione o Secret for Username and Password of Image Repository criado anteriormente.
RAM Role: Insira o acrAssumeRoleArn copiado anteriormente.
Insira o Complete Image Repository Address no formato
<image-repository-address>:<image-tag>. Exemplo:registry.cn-xx.aliyuncs.com/xx/xx:1.0para Container Registry Personal Edition ouxx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0para ACR Enterprise Edition.Nota: Use o endereço do repositório de imagens público ou privado correspondente à sua configuração de rede.Para o ACR Enterprise Edition, ative a aceleração de imagens para agilizar a inicialização do aplicativo.
-
-
Na seção Capacity Settings, defina Resource Type, Single Instance Type e Instances.
-
-
(Opcional) Clique em Next: Advanced Settings para configurar os recursos desejados.
-
-
Clique em Create Application with One Click ou Create Application.
A criação do aplicativo leva cerca de 1 a 2 minutos. Visualize os registros de alterações para confirmar se a implantação foi bem-sucedida. Se a implantação falhar, nenhuma instância do aplicativo será criada. Solucione o problema com base na mensagem de erro em Change Details.
Visualize o aplicativo criado na página . Para alterar a configuração do aplicativo após a implantação, clique no aplicativo desejado para acessar sua página de detalhes. Em seguida, clique em Deploy Application ou Modify Application Configurations na parte superior. O aplicativo reinicia automaticamente para aplicar a nova configuração. Execute essa operação fora dos horários de pico.
Faça login em uma instância do aplicativo usando Webshell e interaja com a instância por meio de comandos de console.
Após criar um aplicativo, ajuste manualmente o número de instâncias e a especificação da instância, ou ajuste automaticamente o número de instâncias configurando uma política de auto scaling. Reduza custos ativando o modo ocioso.