O Alibaba Cloud Container Compute Service (ACS) oferece serviços de computação conteinerizada de alto desempenho. Com o ACS, você executa aplicações conteinerizadas na cloud de forma prática e eficiente. Este tópico descreve como usar o kubectl para implantar, expor e monitorar uma aplicação conteinerizada em um cluster ACS.
Informações gerais
-
Este tópico demonstra como usar uma imagem para implantar uma aplicação chamada acs-kube em um cluster ACS. Essa aplicação disponibiliza um jogo online de cubo mágico. Após concluir as etapas descritas aqui, você terá um cluster ACS criado e com a aplicação do cubo mágico implantada.

A imagem de contêiner usada para implantar a aplicação foi criada com base em um projeto open source. O endereço da imagem é
registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube.O kubectl é uma ferramenta de linha de comando fornecida pelo Kubernetes para conectar e gerencie clusters Kubernetes. Para mais informações sobre o kubectl, consulte kubectl.
O Cloud Shell é uma ferramenta de linha de comando baseada na web fornecida pela Alibaba Cloud. Você pode usar o kubectl no Cloud Shell diretamente pelo console do ACS para gerencie clusters ACS, sem necessidade de instalação ou configuração.
Procedimento
Ativar o ACS e conceder permissões
Se esta é a primeira vez que você utiliza o ACS, é necessário ativá-lo e conceder ao ACS as permissões para acessar recursos de cloud.
Faça logon no console do ACS e clique em Activate.
Acesse a página de ativação do ACS e siga as instruções na tela para ativar o ACS.
Retorne ao console do ACS e atualize a página. Clique em Authorize Now.
-
Acesse a página de autorização do ACS e siga as instruções na tela para conceder permissões ao ACS.
Após concluir as operações anteriores, atualize o console do ACS. Em seguida, você poderá começar a usar o ACS.
Etapa 2: Criar um cluster ACS
Esta etapa mostra como configure os parâmetros do cluster ao criar um cluster ACS.
Faça logon no console do ACS. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em Create Kubernetes Cluster no canto superior esquerdo.
-
Na página Create Cluster, defina os parâmetros descritos na tabela a seguir. Mantenha as configurações padrão para os parâmetros não listados na tabela.
Parâmetro
Descrição
Exemplo
Cluster Name
Insira um nome para o cluster.
ACS-Demo
Region
Selecione uma região para implantar o cluster.
China (Beijing)
VPC
A rede do cluster. Clusters ACS suportam apenas VPCs. Você pode selecionar Create VPC ou Select Existing VPC.
Create VPC: ao selecionar esta opção, o ACK cria automaticamente uma VPC e um NAT gateway na VPC, além de configure regras SNAT no NAT gateway.
Select Existing VPC: ao selecionar esta opção, você deve escolha uma VPC na lista suspensa VPC e selecionar vSwitches na seção de vSwitch. Para baixe imagens de contêiner pela Internet, configure um NAT gateway. Recomendamos enviar a imagem de contêiner ao Alibaba Cloud Container Registry na região onde o cluster está implantado e fazer pull da imagem pelo endpoint da VPC.
Para mais informações, consulte Create and manage VPCs.
Selecione Create VPC.
API Server Access Settings
Especifique se o API server do Kubernetes do cluster deve ser exposto à Internet. Para gerencie o cluster pela Internet, exponha o API server do Kubernetes com um endereço IP elástico (EIP).
Selecione Expose API Server with EIP.
Service Discovery
Clique em Show Advanced Options e especifique se deseja ative a descoberta de serviços. Para ative a descoberta de serviços, selecione CoreDNS.
Selecione CoreDNS.
-
Clique em Confirm Order, leia e aceite os Termos de Serviço e, em seguida, clique em Create Cluster.
NotaA criação de um cluster leva aproximadamente 10 minutos. Após a criação, você poderá visualize o cluster na página Clusters.
Etapa 3: Conectar ao cluster
Esta etapa mostra como conectar ao cluster ACS usando um cliente kubectl ou o Cloud Shell. Para mais informações, consulte Obtain the kubeconfig file of a cluster and how to use kubectl to connect to the cluster e Use kubectl on Cloud Shell to manage ACS clusters.
Conectar ao cluster usando um cliente kubectl
Faça logon no console do ACS. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em no nome do cluster criado, que neste exemplo é ACS-Demo.
Na página Cluster Information, clique em na aba Connection Information. Na aba Public Access, clique em Copy para copiar as credenciais de acesso ao cluster pela Internet.
-
Cole a credencial no arquivo
configno diretório$HOME/.kube, salve o arquivo e saia.NotaSe a pasta
.kubee o arquivoconfignão existirem no diretório$HOME/, crie a pasta e o arquivo manualmente. -
Execute o comando kubectl a seguir para verifique a conectividade do cluster.
Execute o comando abaixo para consultar os namespaces do cluster:
kubectl get namespaceSaída esperada:
NAME STATUS AGE arms-prom Active 4h39m default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
Conectar ao cluster usando o Cloud Shell
Faça logon no console do ACS. No painel de navegação à esquerda, clique em Clusters.
-
Na página Clusters, localize o cluster criado e escolha na coluna Actions.
A inicialização do Cloud Shell leva alguns segundos. Após a inicialização, você poderá execute comandos kubectl na interface do Cloud Shell para gerencie o cluster e as aplicações implantadas nele.
Etapa 4: Implantar e expor uma aplicação
Esta etapa mostra como usar o kubectl para implantar uma aplicação stateless criando um Deployment e, em seguida, usar um Service do tipo LoadBalancer para expor a aplicação. Para mais informações sobre como expor uma aplicação, consulte Expose an application by using a LoadBalancer Service.
-
Crie um arquivo chamado acs-cube.yaml e copie o conteúdo a seguir para o arquivo.
-
Execute o comando a seguir para implantar a aplicação acs-cube:
kubectl apply -f acs-cube.yaml -
Execute o comando a seguir para consultar o status da aplicação:
kubectl get deployment acs-cubeSaída esperada:
NAME READY UP-TO-DATE AVAILABLE AGE acs-cube 2/2 2 2 96s -
Crie um arquivo chamado acs-cube-svc.yaml e copie o conteúdo a seguir para o arquivo.
Defina
selectorcom o valor dematchLabelsno arquivo ack-cube.yaml. Neste exemplo, o valor éapp: ack-cube. Isso adiciona a aplicação ao backend do Service.apiVersion: v1 kind: Service metadata: labels: app: acs-cube name: acs-cube-svc namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: acs-cube # You must specify the value of the matchLabels parameter in the YAML file used to create the Deployment. type: LoadBalancer -
Execute o comando a seguir para criar um Service chamado ack-cube-svc e expor a aplicação por meio dele.
O ACS cria automaticamente uma instância do Server Load Balancer (SLB) voltada para a Internet e a associa ao Service.
kubectl apply -f acs-cube-svc.yaml -
Execute o comando a seguir para verifique se o Service do tipo LoadBalancer foi criado.
A aplicação criada é exposta por meio do endereço IP exibido na coluna EXTERNAL-IP da saída.
kubectl get svc acs-cube-svcSaída esperada:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE acs-cube-svc LoadBalancer 172.16.72.161 47.94.xx.xx 80/TCP 32s
Etapa 5: Testar a aplicação
Insira o endereço IP (EXTERNAL-IP) na barra de endereços do navegador e pressione Enter para iniciar o jogo de cubo mágico.

Referências
Para ative o dimensionamento automático de pods da aplicação, configure o Horizontal Pod Autoscaler (HPA), o Cron Horizontal Pod Autoscaler (CronHPA) e o Vertical Pod Autoscaler (VPA). Para mais informações, consulte Auto scaling overview.
Além de expor aplicações por meio de Services, você pode usar Ingresses para habilitar o roteamento de tráfego da aplicação na camada 7. Para mais informações, consulte Get started with ALB Ingress.
Para visualize informações de monitoramento sobre aplicações, acesse a página de detalhes do cluster e escolha Operations > Prometheus Monitoring no painel de navegação à esquerda. Na página Prometheus Monitoring, você pode visualize métricas como utilização de CPU, utilização de memória e I/O de rede. Para mais informações, consulte Monitor an ACS cluster with Managed Service for Prometheus.
Liberar recursos
Ao usar um cluster ACS, os seguintes custos são cobrados:
A taxa pelo poder computacional utilizado pelas cargas de trabalho no cluster. Essa taxa é cobrada pelo ACS.
As taxas pelos demais recursos de cloud utilizados pelo cluster. Essas taxas são cobradas pelos serviços da Alibaba Cloud de acordo com suas respectivas regras de faturamento.
Observe os seguintes itens após criar um cluster ACS.
Se você não precisar mais do cluster, exclua o cluster e os recursos relacionados. Para mais informações, consulte Delete a cluster.
Se precisar manter o cluster, recarregue sua conta quando o saldo ficar abaixo de CNY 100. Para mais informações sobre as regras de faturamento dos serviços da Alibaba Cloud, consulte Billing.