Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Application distribution overview

Dernière mise à jour :Aug 11, 2026

Les instances ACK One Fleet distribuent les applications sur plusieurs clusters associés à l'aide de politiques déclaratives, sans nécessiter de dépôt Git. Définissez une PropagationPolicy pour cibler des clusters spécifiques et une OverridePolicy pour appliquer des substitutions de configuration par cluster, puis laissez l'instance Fleet gérer la synchronisation automatiquement.

Fonctionnement

Créez vos ressources d'application sur une instance Fleet, puis définissez des politiques de distribution et de substitution pour contrôler la propagation de ces ressources vers les clusters associés.

  1. Créez les ressources d'application (Deployments, Services, ConfigMaps, etc.) sur l'instance Fleet.

  2. Créez une PropagationPolicy ou une ClusterPropagationPolicy pour sélectionner les clusters cibles et définir les règles de planification.

  3. Créez éventuellement une OverridePolicy ou une ClusterOverridePolicy pour appliquer des différences de configuration spécifiques au cluster.

  4. L'instance Fleet synchronise automatiquement les mises à jour ultérieures des ressources vers tous les clusters ciblés.

Remarque

Créez la PropagationPolicy et l'OverridePolicy une seule fois lors de la configuration initiale. Les deux politiques restent actives après leur création et toutes les futures mises à jour des ressources sont propagées automatiquement. Utilisez kubectl amc pour vérifier la progression de la distribution sur les clusters associés.

image

Fonctionnalités avancées

Planification des charges de travail

Les instances ACK One Fleet planifient les réplicas de pods sur les clusters associés en fonction des politiques de distribution. Deux modes de planification sont disponibles :

Planification par pondération statique

L'administrateur du cluster attribue un poids fixe à chaque cluster associé. Le planificateur place les réplicas de pods proportionnellement à ces poids.

Pour plus de détails sur la configuration, consultez replicaScheduling.

Planification par pondération dynamique

Le planificateur calcule dynamiquement le poids de chaque cluster en fonction des ressources actuellement disponibles, puis place les réplicas de pods proportionnellement.

Pour plus de détails sur la configuration, consultez Distribution dynamique et désordonnancement.

Désordonnancement

Les ressources disponibles dans les clusters associés évoluent au fil du temps. Lorsqu'un pod ne peut pas être planifié en raison d'une priorité faible ou de ressources insuffisantes, le désordonnanceur le déplace automatiquement vers un autre cluster disposant de ressources disponibles. Le désordonnancement est activé par défaut.

Pour les étapes de vérification, consultez Vérifier le désordonnancement.

Basculement au niveau de l'application

Lorsque des charges de travail en ligne et hors ligne partagent un cluster, les jobs hors ligne peuvent être interrompus par des pannes de nœuds, la préemption de ressources ou la libération d'instances préemptibles. Le basculement au niveau de l'application détecte lorsqu'un job s'arrête et le migre automatiquement vers un autre cluster.

Pour un exemple de configuration utilisant PyTorchJob avec une planification gang, consultez Utiliser Kube Queue sur une instance Fleet et planifier PyTorchJob via la planification gang.

Planification gang multi-cluster

La planification gang garantit que tous les pods d'un groupe corrélé sont planifiés simultanément ; si un pod ne peut pas être placé, aucun pod du groupe n'est planifié. Les instances ACK One Fleet étendent cette fonctionnalité à plusieurs clusters en utilisant la pré-allocation de ressources ou des contrôles dynamiques des ressources pour placer l'ensemble du groupe sur un seul cluster.

Cette approche est particulièrement utile pour les jobs distribués d'IA et de traitement des données :

  • Jobs d'entraînement PyTorch et TensorFlow (architecture maître-travailleur) : garantit que le pod maître et tous les pods travailleurs se trouvent sur le même cluster, maintenant ainsi une communication directe.

  • Jobs Spark (architecture pilote-exécuteur) : garantit que le pod pilote et tous les pods exécuteurs sont co-localisés, évitant ainsi la surcharge réseau inter-clusters.

Associée au désordonnancement et au basculement au niveau de l'application, la planification gang multi-cluster garantit que les jobs d'IA atteignent des clusters disposant de ressources suffisantes et continuent de s'exécuter sans intervention manuelle. Pour plus de détails, consultez Distribution des jobs.

Ressources distribuables

Les politiques de distribution et de substitution prennent en charge toutes les ressources répertoriées dans le tableau suivant. Par défaut, tout principal disposant de l'autorisation de créer des ressources sur une instance Fleet possède également l'autorisation de distribuer ces ressources aux clusters associés.

Niveau de ressource

Type de ressource

APIVersion

Politique de distribution

Politique de substitution

Cluster

Namespace

v1

Pris en charge

Pris en charge

PersistentVolume

v1

Pris en charge

Pris en charge

StorageClass

storage.k8s.io/v1

Pris en charge

Pris en charge

CustomResourceDefinition

apiextensions.k8s.io/v1

Pris en charge

Pris en charge

Namespace

Deployment

apps/v1

Pris en charge

Pris en charge

StatefulSet

apps/v1

Pris en charge

Pris en charge

DaemonSet

apps/v1

Pris en charge

Pris en charge

Job

batch/v1

Pris en charge

Pris en charge

CronJob

batch/v1

Pris en charge

Pris en charge

Ingress

networking.k8s.io/v1

Pris en charge

Pris en charge

Service

v1

Pris en charge

Pris en charge

PersistentVolumeClaim

v1

Pris en charge

Pris en charge

ConfigMap

v1

Pris en charge

Pris en charge

Secret

v1

Pris en charge

Pris en charge

Pod

v1

Pris en charge

Pris en charge

LimitRange

v1

Pris en charge

Pris en charge

ResourceQuota

v1

Pris en charge

Pris en charge

HorizontalPodAutoscaler

autoscaling/v2

Pris en charge

Pris en charge

Étapes suivantes

Tâche Description Référence
Déployer votre première application Utilisez kubectl pour créer une PropagationPolicy et distribuer les ressources aux clusters associés, avec une OverridePolicy pour les différences par cluster. Premiers pas avec la distribution d'applications
Comprendre les paramètres des politiques Découvrez l'ensemble complet des paramètres pour PropagationPolicy et OverridePolicy, y compris la sélection de cluster, la planification des réplicas et les règles de substitution. PropagationPolicy et OverridePolicy
Vérifier la progression de la distribution Exécutez kubectl amc pour interroger le statut de déploiement d'une application sur les clusters associés. Utiliser la ligne de commande AMC