Se o seu aplicativo do Serverless App Engine (SAE) e a instância do Container Registry (ACR) estiverem em contas diferentes da Alibaba Cloud, primeiro garanta 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 a conectividade de rede para o SAE e o ACR
É necessário estabelecer conectividade entre VPCs ou ativar um gateway NAT público para a Virtual Private Cloud (VPC) do seu aplicativo. Para instâncias do ACR Enterprise Edition, adicione o bloco CIDR da VPC do SAE ou o Elastic IP Address (EIP) do NAT gateway à lista de permissões do ACR.
Configurar a autorização de acesso ao ACR
Use Nome de usuário e senha estáticos ou uma Função RAM.
Nome de usuário e senha estáticos
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 o Container Registry Personal Edition ouxx-registry.cn-xx.cr.aliyuncs.compara o ACR Enterprise Edition. Insira o Username e a Password para fazer login no repositório de imagens.
Função RAM
SAE pode fazer pull de imagens de uma instância do ACR em outra conta assumindo uma função RAM. Por exemplo, um aplicativo na Conta A pode assumir uma função RAM na Conta B para fazer pull de imagens de uma instância do ACR de propriedade da Conta B.
Crie uma função RAM: Use a Conta B para criar uma função RAM para a Conta A. Para mais informações, consulte Criar uma função RAM para uma conta da Alibaba Cloud confiável.
-
Configure uma política de acesso: Criar uma política personalizada ou modificar uma política personalizada para incluir as seguintes declarações e permitir operações em imagens privadas.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:GetRepository", "cr:ListRepositoryTag" ], "Resource": "*" } ] } Conceda permissões à função RAM: Conceda a política de acesso da Etapa 2 à função RAM da Etapa 1. Para mais informações, consulte Gerenciar permissões da função RAM.
-
Modifique a entidade confiável da função RAM: Altere a entidade confiável da função RAM 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 função RAM.
Antes
Depois
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }Qualquer usuário RAM ou função RAM autorizada na conta da Alibaba Cloud (AccountID=123456789012****) pode assumir esta função RAM.
{ "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 função RAM.
NotaNeste exemplo,
Servicerefere-se ao serviço que faz o pull da imagem. Copie o ARN: Na página Basic Information da função RAM, copie o ARN. Você precisará desse valor para o campo acrAssumeRoleArn ao implantar o 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 a edição do aplicativo.
ImportanteA Lightweight Edition e a Professional Edition estão atualmente em fase beta apenas para convidados. Para usuários que não participam do teste beta, os aplicativos são criados como Standard Edition por padrão.
Lightweight Edition: Fornece o conjunto mínimo de recursos necessário para executar um aplicativo. Não oferece suporte aos 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 o 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 pode ser usado para isolar recursos em diferentes ambientes. Não é possível alterar o namespace de um aplicativo após a sua criação. Planeje com antecedência.
System Created: Use o namespace, o vSwitch e o grupo de segurança padrão criados pelo sistema na região atual.
Existing Namespace: Selecione um namespace, um vSwitch e um security group criados previamente.
-
Defina o 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 a 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>. Por exemplo:registry.cn-xx.aliyuncs.com/xx/xx:1.0para o Container Registry Personal Edition ouxx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0para o 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 o Resource Type, o 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. Você pode visualizar registros de alterações para verificar 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 esta operação fora dos horários de pico.
Faça login em uma instância do aplicativo usando o Webshell e interaja com a instância usando comandos do console.
Após criar um aplicativo, você pode ajustar manualmente o número de instâncias e a especificação da instância, ou ajustar automaticamente o número de instâncias configurando uma política de Auto Scaling. Também é possível reduzir custos ativando o modo ocioso.