Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Application distribution overview

Última atualização: Jun 27, 2026

As instâncias do ACK One Fleet distribuem aplicativos em vários clusters associados por meio de políticas declarativas, sem necessidade de repositório Git. Defina uma PropagationPolicy para selecionar clusters específicos e uma OverridePolicy para aplicar substituições de configuração por cluster. A instância Fleet gerencia a sincronização automaticamente.

Como funciona

Crie os recursos do aplicativo em uma instância Fleet e defina políticas de distribuição e substituição para controlar a propagação desses recursos para os clusters associados.

  1. Crie recursos de aplicativo (Deployments, Services, ConfigMaps, entre outros) na instância Fleet.

  2. Crie uma PropagationPolicy ou ClusterPropagationPolicy para selecionar os clusters de destino e definir regras de agendamento.

  3. Opcionalmente, crie uma OverridePolicy ou ClusterOverridePolicy para aplicar diferenças de configuração específicas por cluster.

  4. A instância Fleet sincroniza automaticamente as atualizações subsequentes de recursos com todos os clusters de destino.

Nota

Crie a PropagationPolicy e a OverridePolicy apenas uma vez durante a configuração inicial. Ambas as políticas permanecem ativas após a criação, e quaisquer atualizações futuras de recursos são propagadas automaticamente. Use kubectl amc para verificar o progresso da distribuição nos clusters associados.

image

Recursos avançados

Agendamento de carga de trabalho

As instâncias do ACK One Fleet agendam réplicas de pods nos clusters associados com base nas políticas de distribuição. Há dois modos de agendamento disponíveis:

Agendamento por peso estático

O administrador do cluster atribui um peso fixo a cada cluster associado. O agendador aloca as réplicas de pods proporcionalmente a esses pesos.

Para obter detalhes sobre a configuração, consulte replicaScheduling.

Agendamento por peso dinâmico

O agendador calcula dinamicamente o peso de cada cluster com base nos recursos disponíveis no momento e aloca as réplicas de pods proporcionalmente.

Para obter detalhes sobre a configuração, consulte Distribuição dinâmica e desescalonamento.

Desescalonamento

Os recursos disponíveis nos clusters associados mudam ao longo do tempo. Se um pod não puder ser agendado devido a baixa prioridade ou recursos insuficientes, o desescalonador o moverá automaticamente para outro cluster com recursos disponíveis. O desescalonamento vem ativado por padrão.

Para ver as etapas de verificação, consulte Verificar desescalonamento.

Failover no nível do aplicativo

Quando cargas de trabalho online e offline compartilham um cluster, jobs offline podem sofrer interrupções causadas por falhas de nó, preempção de recursos ou liberação de instâncias preemptíveis. O failover no nível do aplicativo detecta quando um job para de executar e o migra automaticamente para outro cluster.

Para ver um exemplo de configuração usando PyTorchJob com gang scheduling, consulte Como usar Kube Queue em uma instância Fleet e agendar PyTorchJob usando gang scheduling.

Gang scheduling multicluster

O gang scheduling garante o agendamento simultâneo de todos os pods de um grupo correlacionado. Caso algum pod não possa ser alocado, nenhum pod do grupo será agendado. As instâncias do ACK One Fleet estendem esse recurso para múltiplos clusters usando pré-alocação de recursos ou verificações dinâmicas para posicionar todo o grupo em um único cluster.

Esse mecanismo é particularmente útil para jobs distribuídos de IA e processamento de dados:

  • Jobs de treinamento PyTorch e TensorFlow (arquitetura master-worker): garante que o pod mestre e todos os pods workers fiquem no mesmo cluster, mantendo a comunicação direta.

  • Jobs Spark (arquitetura driver-executor): garante a colocalização do pod driver e de todos os pods executors, evitando sobrecarga de rede entre clusters.

Em conjunto com o desescalonamento e o failover no nível do aplicativo, o gang scheduling multicluster assegura que os jobs de IA cheguem a clusters com recursos suficientes e continuem executando sem intervenção manual. Para mais detalhes, consulte Distribuição de jobs.

Recursos distribuíveis

As políticas de distribuição e de substituição suportam todos os recursos listados na tabela a seguir. Por padrão, qualquer principal com permissão para criar recursos em uma instância Fleet também pode distribuir esses recursos aos clusters associados.

Nível do recurso

Tipo de recurso

APIVersion

Política de distribuição

Política de substituição

Cluster

Namespace

v1

Compatível

Compatível

PersistentVolume

v1

Compatível

Compatível

StorageClass

storage.k8s.io/v1

Compatível

Compatível

CustomResourceDefinition

apiextensions.k8s.io/v1

Compatível

Compatível

Namespace

Deployment

apps/v1

Compatível

Compatível

StatefulSet

apps/v1

Compatível

Compatível

DaemonSet

apps/v1

Compatível

Compatível

Job

batch/v1

Compatível

Compatível

CronJob

batch/v1

Compatível

Compatível

Ingress

networking.k8s.io/v1

Compatível

Compatível

Service

v1

Compatível

Compatível

PersistentVolumeClaim

v1

Compatível

Compatível

ConfigMap

v1

Compatível

Compatível

Secret

v1

Compatível

Compatível

Pod

v1

Compatível

Compatível

LimitRange

v1

Compatível

Compatível

ResourceQuota

v1

Compatível

Compatível

HorizontalPodAutoscaler

autoscaling/v2

Compatível

Compatível

Próximos passos

Tarefa

Descrição

Referência

Implante seu primeiro aplicativo

Use kubectl para criar uma PropagationPolicy e distribuir recursos para clusters associados, com uma OverridePolicy para diferenças específicas por cluster.

Introdução à distribuição de aplicativos

Compreenda os parâmetros das políticas

Conheça o conjunto completo de parâmetros para PropagationPolicy e OverridePolicy, incluindo seleção de cluster, agendamento de réplicas e regras de substituição.

PropagationPolicy e OverridePolicy

Verifique o progresso da distribuição

Execute kubectl amc para consultar o status de implantação de um aplicativo nos clusters associados.

Usar a linha de comando AMC