Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Criar uma carga de trabalho

Última atualização: Jun 27, 2026

Em um cluster Kubernetes, a carga de trabalho é uma instância de aplicação ou serviço em execução no cluster. Implante, dimensione, atualize e restaure cargas de trabalho para manter a estabilidade dos pods e a continuidade do serviço. Este tópico descreve os tipos comuns de carga de trabalho, incluindo Deployments, StatefulSets, DaemonSets, Jobs e CronJobs.

Pod

O pod é a menor unidade implantável no Kubernetes e encapsula um ou mais containers com armazenamento compartilhado (volumes), rede e configuração. Raramente se criam pods diretamente; utilize controladores como Deployments e StatefulSets para gerenciá-los.

image

Deployments e StatefulSets

Deployment

Originalmente, o Kubernetes usava ReplicaSets para definir a contagem de réplicas, seletores de rótulos e modelos de pod. Atualmente, os Deployments gerenciam os ReplicaSets, que por sua vez gerenciam os pods e adicionam controle aprimorado.

image

Utilize Deployments para aplicações que não exigem persistência de dados nem operações ordenadas, como servidores web e microsserviços.

Cenário

Descrição

Serviços web stateless

Os serviços web de frontend dimensionam dinamicamente conforme a flutuação do tráfego. Os Deployments oferecem suporte a dimensionamento horizontal, atualizações e rollbacks.

Serviços de arquitetura de microsserviços

Em um sistema de microsserviços, implante e gerencie cada serviço independentemente com Deployments.

StatefulSet

Os pods de um Deployment são independentes e stateless, mas algumas aplicações requerem estado e dependências. Por exemplo, em um banco de dados primário-réplica, os pods mantêm estado e dependem uns dos outros. Use um StatefulSet para esses pods com estado e interconectados.

image

Use StatefulSets para aplicações que necessitam de armazenamento persistente e implantação ordenada de instâncias, como bancos de dados e sistemas de armazenamento distribuído.

Cenário

Descrição

Bancos de dados com estado

Bancos de dados com estado exigem armazenamento persistente e identidade de rede estável após o reagendamento de pods. Por exemplo, cada instância do MySQL mantém dados e configurações entre reinicializações.

Serviços de fila de mensagens distribuídas

Sistemas de mensagens distribuídas dependem de estado ordenado e logs persistentes em cada nó. O Apache Kafka, por exemplo, exige que cada broker mantenha a consistência dos dados e armazene logs em um volume persistente para evitar perda de dados.

Diferenças entre Deployments e StatefulSets

Escolha o tipo de carga de trabalho com base nas diferenças entre Deployment e StatefulSet.

Item

Deployment

StatefulSet

Casos de uso

Aplicações stateless, como servidores web e serviços de API, que precisam de dimensionamento rápido e atualizações contínuas.

Aplicações com estado, como bancos de dados e sistemas de arquivos distribuídos, que exigem armazenamento persistente estável e implantação ordenada.

Armazenamento persistente

Todos os pods de réplica compartilham uma única persistent volume claim (PVC). Ao serem reagendados ou atualizados, os pods reconectam-se à mesma PVC e aos mesmos dados.

Cada pod possui sua própria persistent volume claim para garantir persistência e consistência dos dados. O armazenamento persiste entre reinicializações e reagendamentos de pods.

Identificador de rede

Os pods não possuem identificadores estáveis. Nomes e endereços IP mudam sempre que um pod é recriado.

Cada pod tem um identificador estável no formato <StatefulSet name>-<ordinal>, como web-0 e web-1, mantido entre reinicializações.

Estratégia de atualização

  • Rolling Update:

    Atualizações contínuas substituem gradualmente os pods antigos por novos, mantendo a disponibilidade do serviço.

  • Recreate:

    A estratégia Recreate encerra todos os pods antigos antes de criar os novos, causando uma breve interrupção do serviço quando as versões antiga e nova não podem coexistir.

  • Rolling Update:

    As atualizações são aplicadas sequencialmente pelo índice ordinal. O próximo pod só é atualizado após o pod atual estar pronto.

  • OnDelete:

    Exclua manualmente um pod para acionar sua atualização quando for necessário um controle rigoroso do processo.

Descoberta de serviço

Um Service fornece descoberta de serviço e balanceia o tráfego de entrada para os pods. Consulte Gerenciamento de serviços.

Cada pod possui um nome DNS único e estável. Um headless service gerenciado por StatefulSet permite descoberta estável e acesso direto ao pod.

DaemonSet

Um DaemonSet executa uma réplica de pod em cada nó do cluster para serviços de segundo plano, como coleta de logs, monitoramento e plug-ins de rede. Quando nós entram ou saem do cluster, o DaemonSet cria ou exclui o pod correspondente.

image

Use um DaemonSet para executar o mesmo processo daemon em cada nó do cluster.

Cenário

Descrição

Coleta de logs

DaemonSets são adequados para ferramentas de coleta de logs, como o componente complemento de coleta de logs em clusters ACK em clusters ACK, que executam em cada nó para coletar arquivos de log e encaminhá-los a um sistema centralizado de gerenciamento de logs.

Agente de monitoramento

Implante um agente de monitoramento, como Prometheus Node Exporter ou Datadog Agent, em cada nó para coletar métricas de recursos e monitorar o status do nó em tempo real.

Jobs e CronJobs

Jobs e CronJobs executam tarefas únicas e agendadas para cargas de trabalho que não rodam continuamente, como processamento em lote e tarefas de dados.

  • Um Job executa uma tarefa até a conclusão e encerra seus pods ao terminar. Utilize Jobs para tarefas pontuais, como processamento de dados e backups.

  • Um CronJob agenda Jobs usando uma expressão cron com campos de minuto, hora, dia, mês e dia da semana para tarefas periódicas, como backups de banco de dados e limpeza de logs.

Gerenciar objetos de carga de trabalho

Gerencie cargas de trabalho no ACK por meio do console, kubectl ou da API do Kubernetes para implantar, monitorar e dimensionar serviços de aplicação.

Console

Utilize o console do ACK para criar, gerenciar e monitorar cargas de trabalho visualmente. Os tópicos a seguir abordam o gerenciamento via console para cada tipo de carga de trabalho.

CLI

Obter o arquivo kubeconfig de um cluster e usar kubectl para conectar-se ao cluster para implantar aplicações, gerenciar recursos e monitorar o cluster.

API do Kubernetes

Usar a API do Kubernetes para criar, atualizar, excluir e monitorar cargas de trabalho.

FAQ

Consulte o FAQ sobre cargas de trabalho para solucionar problemas relacionados a cargas de trabalho.

Referências