Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Use ACK to quickly deploy a magic cube game application

Última atualização: Sep 15, 2026

O Alibaba Cloud Container Service for Kubernetes (ACK) é um service de alto desempenho para gerenciar e executar aplicações em contêineres na cloud. Este tutorial orienta você na implantação do ACK-Cube — um jogo online de Cubo Mágico — em um cluster ACK Pro gerenciado e na sua exposição à internet.

Ao concluir este tutorial, você terá:

  • Criado um cluster ACK Pro gerenciado

  • Implantado a aplicação ACK-Cube no cluster

  • Acessado o jogo em execução por meio de uma URL pública

2024-12-12_16-00-46 (1)

Pré-requisitos

Antes de começar, verifique se você possui:

  • Uma conta Alibaba Cloud com as permissões necessárias para ativar o ACK e criar clusters

  • Concluído a ativação do service e a autorização para o ACK. Consulte Quickly create an ACK managed cluster para obter o processo completo de configuração.

  • Revisado as billing information para clusters ACK e recursos associados

Etapa 1: Criar um cluster

O modo Gerenciado Inteligente do ACK simplifica a criação de clusters: basta configure alguns parâmetros de planejamento e o ACK cria um cluster seguindo as melhores práticas com um único clique. O cluster inclui um pool de nós gerenciado inteligentemente, cujo ciclo de vida o ACK administra automaticamente. Para mais informações, consulte Create an ACK managed cluster (intelligent managed mode).

Para personalizar configurações detalhadas do cluster, consulte Create an ACK managed cluster .
  1. Faça logon no ACK consoleACK consoleACK consoleACK console. Na página Clusters, clique em Create Kubernetes Cluster.

  2. Na página exibida, clique na aba ACK Managed Cluster e ative o Intelligent Managed. Para acessar o cluster pela internet, selecione Expose API Server With EIP. Clique em Confirm Configurations, revise suas seleções e clique em Create Cluster. A criação do cluster leva alguns minutos. Aguarde até que o status do cluster seja exibido como Running antes de prosseguir.

    image

Etapa 2: Implantar a aplicação

A aplicação ACK-Cube utiliza uma imagem de contêiner pública. Para baixar essa imagem, o cluster precisa ter acesso à internet. Antes de implantar, escolha uma das opções a seguir:

Em seguida, escolha o método de implantação:

  • Implantação pelo console: Implante e exponha a aplicação por meio da interface do ACK console.

  • Implantação via kubectl: Conecte-se ao cluster usando CloudShell, Workbench ou um cliente kubectl local e implante a aplicação com manifestos YAML.

Opção A: Implantação pelo console

Implantar e expor a aplicação

Esta seção demonstra como crie um Deployment para o jogo ACK-Cube e expô-lo à internet usando um Service. Para a lista completa de parâmetros de Deployment, consulte Create a stateless application by using a Deployment.

  1. Na página Clusters, clique no nome do seu cluster (por exemplo, ACK-Demo).

  2. No painel de navegação à esquerda, escolha Workloads > Deployments.

  3. No canto superior direito, clique em Create from Image.

  4. Na aba Basic Information, defina o nome da aplicação como ack-cube.

  5. Clique em Next. Na aba Container, configure os seguintes parâmetros:

    Parâmetro

    Descrição

    Valor de exemplo

    Image Name

    Imagem de contêiner a ser implantada.

    registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0

    Resource Limit

    Limite máximo de CPU e memória que a aplicação pode consumir.

    CPU: 1 Core, Memory: 1024 MiB. Deixe Ephemeral Storage em branco.

    Required Resources

    Recursos de CPU e memória reservados para a aplicação.

    CPU: 0,5 Core, Memory: 512 MiB. Deixe Ephemeral Storage em branco.

    Port

    Configurações de porta do contêiner.

    Name: ack-cube, Container Port: 80, Protocol: TCP

  6. Clique em Next. Na aba Advanced, clique em Create na seção Services. Na caixa de diálogo Create Service, configure os parâmetros abaixo e clique em OK.

    Parâmetro

    Descrição

    Valor de exemplo

    Name

    Nome do Service.

    ack-cube-svc

    Type

    Método de acesso ao Service.

    Selecione Server Load Balancer > Classic Load Balancer (CLB) > Create Resource. Mantenha as configurações padrão do CLB para este ambiente de teste.

    Port

    Porta do Service e porta do contêiner. A porta do contêiner deve corresponder à do Pod de backend.

    Service Port: 80, Container Port: 80, Protocol: TCP

    Selecione Local para External Traffic Policy.

  7. Clique em Create. Uma página de sucesso será exibida com os objetos da aplicação listados. Clique em View Details para revisá-los.

Acessar a aplicação

Faça logon no ACK consoleACK consoleACK consoleACK console. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, escolha Workloads > Deployments. Localize a aplicação ack-cube no namespace default. Clique na aba Access Method, encontre o Service ack-cube-svc e clique no link na coluna External Endpoint para abrir o jogo do Cubo Mágico.

Opção B: Implantação via kubectl

Conectar-se ao cluster

Conecte-se ao seu cluster ACK utilizando um dos métodos a seguir:

CloudShell

O CloudShell oferece um ambiente Linux baseado em navegador com ferramentas pré-instaladas, sem custo adicional. Ao iniciar o CloudShell, uma máquina virtual Linux é provisionada para você. É possível utilizá-lo junto com a Web IDE do CloudShell para gerencie seus recursos na cloud.

Faça logon no ACK consoleACK consoleACK consoleACK console. No painel de navegação à esquerda, clique no cluster desejado. Na página Cluster Information, escolha Basic Information > Open Cloud Shell. Após alguns segundos, a interface do CloudShell será iniciada e o kubectl estará pronto para uso. Para mais informações, consulte Use kubectl on Workbench or Cloud Shell to connect to ACK clusters.

Workbench

O Workbench é uma ferramenta de conexão remota baseada em navegador que não exige instalação de software adicional.

Faça logon no ACK consoleACK consoleACK consoleACK console. No painel de navegação à esquerda, clique no cluster desejado. Na página Cluster Information, escolha Basic Information > Manage Clusters Using Workbench. Após alguns segundos, a interface do Workbench será iniciada. Para mais informações, consulte Connect to an instance by using Workbench.

kubectl client

Utilize um cliente kubectl local para se conectar pela internet.

  1. Instale e configure o kubectl.

  2. Faça logon no ACK consoleACK consoleACK consoleACK console. Clique no nome do seu cluster (por exemplo, ACK-Demo). Na página Cluster Information, clique na aba Connection Information. Copie as credenciais da aba Public Access e cole-as em $HOME/.kube/config. Crie o diretório .kube e o arquivo config caso ainda não existam. Para mais informações, consulte Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster.

  3. Execute o comando a seguir para verifique a conexão:

    kubectl get namespace

    Saí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

Implantar e expor a aplicação

Esta seção explica como usar o kubectl para implantar uma carga de trabalho stateless (um Deployment) no seu cluster ACK e expô-la utilizando um Service do tipo LoadBalancer. Todos os exemplos utilizam manifestos YAML aplicados com kubectl apply. O Deployment executa duas réplicas do ACK-Cube, e o Service o expõe por meio do tipo LoadBalancer, que provisiona automaticamente uma instância do Server Load Balancer (SLB). Para mais informações sobre como expor aplicações, consulte Use an automatically created SLB instance to expose an application.

  1. Crie um arquivo chamado ack-cube.yaml com o seguinte conteúdo:

    apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: ack-cube # The name of the application.
      labels:
        app: ack-cube
    spec:
      replicas: 2 # The number of replicated pods.
      selector:
        matchLabels:
          app: ack-cube  # You must specify the same value for the selector of the Service that is used to expose the application.
      template:
        metadata:
          labels:
            app: ack-cube
        spec:
          containers:
          - name: ack-cube
            image: registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0 # Replace with the address of the image that you want to use in the <image_name:tags> format.
            ports:
            - containerPort: 80 # The container port that you want to expose.
            resources:
              limits: # The resource limits.
                cpu: '1'
                memory: 1Gi
              requests: # The resource requests.
                cpu: 500m
                memory: 512Mi
  2. Implante a aplicação:

    kubectl apply -f ack-cube.yaml
  3. Verifique se o Deployment está em execução:

    kubectl get deployment ack-cube

    Saída esperada:

    NAME       READY   UP-TO-DATE   AVAILABLE   AGE
    ack-cube   2/2     2            2           96s
  4. Crie um arquivo chamado ack-cube-svc.yaml com o conteúdo a seguir. O valor de selector deve corresponder ao valor de matchLabels em ack-cube.yaml (app: ack-cube) para associar o Service à aplicação de backend.

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: ack-cube
      name: ack-cube-svc
      namespace: default
    spec:
      ports:
      - port: 80
        protocol: TCP
        targetPort: 80
      selector:
        app: ack-cube # You must specify the value of the matchLabels parameter in the YAML file that is used to create the Deployment.
      type: LoadBalancer
  5. Crie o Service para expor a aplicação. A criação de um Service do tipo LoadBalancer provisiona automaticamente uma instância de SLB voltada para o público.

    kubectl apply -f ack-cube-svc.yaml
  6. Confirme se o Service está em execução e obtenha o endereço IP público. Esse processo pode levar um minuto enquanto a instância de SLB é provisionada.

    kubectl get svc ack-cube-svc

    Saída esperada:

    NAME           TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
    ack-cube-svc   LoadBalancer   172.16.72.161   47.94.xx.xx   80:31547/TCP   32s
  7. Insira o endereço EXTERNAL-IP (por exemplo, 47.94.xx.xx) no seu navegador para acessar o jogo do Cubo Mágico.

Etapa 3: Limpar recursos (opcional)

Os custos de um cluster ACK incluem taxas de gerenciamento cobradas pelo ACK e tarifas de outros recursos Alibaba Cloud utilizados.

Para exclua o cluster, faça logon no ACK consoleACK consoleACK consoleACK console. Na página Clusters, localize seu cluster, clique em More na coluna Actions e selecione Delete. Na página Delete Cluster And Associated Resources, selecione os recursos a serem excluídos e clique em Delete. Para mais informações, consulte Delete a cluster.

Importante

Clusters Gerenciados Inteligentes possuem a Proteção contra Exclusão ativada por padrão. Desative esse recurso antes de excluir o cluster.

Próximos passos

  • Dimensionamento automático: Caso sua carga de trabalho apresente demandas de recursos variáveis ou imprevisíveis — cenário comum em aplicações web, serviços de jogos ou plataformas de educação online — configure o dimensionamento automático tanto para as cargas de trabalho quanto para os recursos do cluster. Consulte Auto scaling overview.

  • Roteamento de Camada 7: Para gerencie regras de roteamento HTTP/HTTPS entre múltiplos serviços, utilize um Ingress em vez de um Service. Consulte Ingress management.

  • Observabilidade: Monitore a infraestrutura do cluster, o desempenho das aplicações e métricas de negócios para acompanhar a integridade do sistema e diagnosticar problemas. Consulte Observability system overview.