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 nuvem 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 do ACS.
Informações básicas
-
Este tópico demonstra como usar uma imagem para implantar uma aplicação chamada acs-kube em um cluster do ACS. Essa aplicação disponibiliza um jogo de cubo mágico online. Após concluir as etapas deste tópico, você terá um cluster do ACS criado e configurado com a aplicação do jogo de cubo mágico.

A imagem de contêiner usada na implantação da aplicação foi criada com base em um projeto de código 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 conexão e gerenciamento de clusters Kubernetes. Para obter mais informações sobre o kubectl, consulte kubectl.
O Cloud Shell é uma ferramenta de linha de comando baseada na web fornecida pela Alibaba Cloud. Use o kubectl diretamente no Cloud Shell, dentro do console do ACS, para gerenciar seus clusters sem necessidade de instalação ou configuração prévia.
Procedimento
Ativar e conceder permissões ao ACS
Se esta for a primeira vez que você utiliza o ACS, ative-o e conceda as permissões adequadas para acesso aos recursos da nuvem.
Faça login 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 concluir a ativação.
Retorne ao console do ACS e atualize a página. Clique em Authorize Now.
-
Na página de autorização do ACS, siga as orientações exibidas para conceder as permissões necessárias.
Após concluir essas operações, atualize o console do ACS. Em seguida, comece a utilizar o serviço.
Etapa 2: Criar um cluster do ACS
Esta etapa mostra como definir os parâmetros durante a criação de um cluster do ACS.
Faça login 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, configure os parâmetros descritos na tabela a seguir. Mantenha as configurações padrão para os parâmetros não listados.
Parâmetro
Descrição
Exemplo
Cluster Name
Insira um nome para o cluster.
ACS-Demo
Region
Selecione a região onde o cluster será implantado.
China (Beijing)
VPC
Rede do cluster. Clusters do ACS suportam apenas VPCs. Escolha entre Create VPC ou Select Existing VPC.
Create VPC: Ao selecionar esta opção, o ACK cria automaticamente uma VPC e um gateway NAT, além de configurar regras SNAT nesse gateway.
Select Existing VPC: Nesta opção, selecione uma VPC na lista suspensa e escolha os vSwitches na seção correspondente. Caso precise baixar imagens de contêiner pela internet, configure um gateway NAT. Recomendamos enviar a imagem para o Alibaba Cloud Container Registry na mesma região do cluster e fazer o pull via endpoint da VPC.
Para mais detalhes, consulte Criar e gerenciar VPCs.
Selecione Create VPC.
API Server Access Settings
Defina se o servidor de API Kubernetes do cluster ficará exposto à internet. Para gerenciar o cluster externamente, exponha o servidor de API com um elastic IP address (EIP).
Marque Expose API Server with EIP.
Service Discovery
Clique em Show Advanced Options e indique se deseja habilitar a descoberta de serviços. Para ativar esse recurso, selecione CoreDNS.
Escolha CoreDNS.
-
Clique em Confirm Order, leia e aceite os Termos de Serviço e, em seguida, clique em Create Cluster.
NotaA criação do cluster leva aproximadamente 10 minutos. Após a conclusão, o cluster estará visível na página Clusters.
Etapa 3: Conectar-se ao cluster
Nesta etapa, você aprenderá a se conectar ao cluster do ACS utilizando um cliente kubectl ou o Cloud Shell. Para mais informações, consulte Obter o arquivo kubeconfig de um cluster e usar o kubectl para conexão e Usar o kubectl no Cloud Shell para gerenciar clusters do ACS.
Conectar-se ao cluster usando um cliente kubectl
Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster criado (neste exemplo, ACS-Demo).
Na página Cluster Information, acesse a aba Connection Information. Na aba Public Access, clique em Copiar para obter as credenciais de acesso público ao cluster.
-
Cole as credenciais no arquivo
configlocalizado no diretório$HOME/.kube, salve o arquivo e saia.NotaCaso a pasta
.kubee o arquivoconfignão existam no diretório$HOME/, crie-os manualmente. -
Execute o comando kubectl abaixo para validar a conectividade com o cluster.
Use o seguinte comando para listar 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-se ao cluster usando o Cloud Shell
Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.
-
Na página Clusters, localize o cluster criado e selecione na coluna Actions.
A inicialização do Cloud Shell leva alguns segundos. Assim que estiver pronto, use comandos kubectl na interface do Cloud Shell para gerenciar tanto o cluster quanto as aplicações nele implantadas.
Etapa 4: Implantar e expor uma aplicação
Nesta etapa, utilizaremos o kubectl para implantar uma aplicação stateless por meio de um Deployment e, posteriormente, expô-la usando um Service do tipo LoadBalancer. Para saber mais sobre como expor aplicações, consulte Expor uma aplicação usando um Service LoadBalancer.
-
Crie um arquivo chamado acs-cube.yaml e cole o conteúdo abaixo.
-
Execute o comando a seguir para implantar a aplicação acs-cube:
kubectl apply -f acs-cube.yaml -
Verifique o status da aplicação executando este comando:
kubectl get deployment acs-cubeSaída esperada:
NAME READY UP-TO-DATE AVAILABLE AGE acs-cube 2/2 2 2 96s -
Crie um arquivo denominado acs-cube-svc.yaml e adicione o conteúdo seguinte.
Configure o campo
selectorcom o mesmo valor dematchLabelsdefinido no arquivo ack-cube.yaml. Neste exemplo, o valor éapp: ack-cube. Isso associa 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 abaixo para criar o Service ack-cube-svc e expor a aplicação.
O ACS provisiona automaticamente uma instância de Server Load Balancer (SLB) voltada para a internet e a vincula ao Service.
kubectl apply -f acs-cube-svc.yaml -
Confirme a criação do Service LoadBalancer com o seguinte comando:
A aplicação criada estará acessível através do endereço IP listado 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
Digite o endereço IP (EXTERNAL-IP) na barra de endereços do seu navegador e pressione Enter para iniciar o jogo de cubo mágico.

Referências
Para habilitar o dimensionamento automático dos pods da aplicação, configure o Horizontal Pod Autoscaler (HPA), o Cron Horizontal Pod Autoscaler (CronHPA) ou o Vertical Pod Autoscaler (VPA). Consulte Visão geral do Auto Scaling para mais detalhes.
Além de expor aplicações via Services, use Ingresses para rotear tráfego na camada 7. Saiba mais em Primeiros passos com ALB Ingress.
Para visualizar métricas de monitoramento das aplicações, acesse a página de detalhes do cluster e navegue até Operations > Prometheus Monitoring no painel de navegação à esquerda. Nessa página, estão disponíveis dados como utilização de CPU, memória e I/O de rede. Veja Monitorar um cluster do ACS com o Managed Service for Prometheus para instruções completas.
Liberar recursos
Ao utilizar um cluster do ACS, você incorre nos seguintes custos:
Taxas referentes ao poder de computação consumido pelas cargas de trabalho do cluster, cobradas pelo ACS.
Custos de outros recursos de nuvem utilizados pelo cluster, faturados pelos respectivos serviços da Alibaba Cloud conforme suas regras de preço.
Fique atento aos pontos abaixo após criar um cluster do ACS:
Caso o cluster não seja mais necessário, exclua-o juntamente com os recursos associados. Consulte Excluir um cluster para orientações.
Se optar por manter o cluster, recarregue sua conta sempre que o saldo ficar abaixo de CNY 100. Para entender melhor as regras de faturamento dos serviços da Alibaba Cloud, acesse Faturamento.