Cette page présente les domaines de topologie et les consignes de configuration.
Pour configurer un domaine de topologie, vous devez activer le cluster avancé. Notez les limites suivantes avec l'aperçu avancé du cluster:
- Vous ne pouvez activer le cluster avancé qu'au moment de la création du cluster pour les nouveaux clusters 1.31.
- Une fois le cluster avancé activé, vous ne pourrez plus le mettre à niveau vers la version 1.32. N'activez le cluster avancé que dans un environnement de test.
Cette page s'adresse aux administrateurs et aux architectes qui définissent les solutions informatiques et l'architecture du système conformément à la stratégie de l'entreprise, et qui créent et gèrent des règles liées aux autorisations des utilisateurs. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud , consultez la section Rôles utilisateur et tâches courantes de l'utilisateur dans GKE Enterprise.
Présentation
Un domaine de topologie est un groupe de nœuds de cluster considérés comme faisant partie du même regroupement logique ou physique, tel qu'un campus ou un centre de données. Un domaine de topologie doit correspondre à du matériel ou à un logiciel sous-jacent susceptible de présenter une défaillance corrélée. Exemple :
- Défaillance logicielle, par exemple avec des serveurs vCenter différents
- Panne matérielle (racks, sources d'alimentation et bâtiments différents, par exemple)
Dans Google Distributed Cloud (logiciel uniquement) pour VMware, lorsque vous configurez un domaine de topologie lors de la création d'un cluster, vous devez définir un libellé de topologie. Après la création du cluster, le libellé de topologie est renseigné dans les libellés des nœuds du domaine de topologie.
Pour utiliser un domaine de topologie pendant l'aperçu, vous avez les options suivantes:
Utilisez la contrainte par défaut au niveau du cluster Kubernetes,
"topology.kubernetes.io/zone"
, comme clé dans le libellé de la topologie. Pour en savoir plus, consultez la section Contraintes par défaut intégrées.Configurez
PodTemplate
dans votre déploiement, StatefulSet ou ReplicaSet, le cas échéant, avec la clé de libellé de topologie. Dans la spécification du pod, vous utilisez la clé du libellé de topologie comme valeur pour le champtopologySpreadConstraints.topologyKey
. Cette clé permet au planificateur Kubernetes de distribuer des pods sur le domaine de topologie afin de garantir une haute disponibilité et d'éviter une surconcentration dans une zone donnée en cas de défaillance. Pour en savoir plus sur la configuration detopologySpreadConstraints
dans la spécification de votre pod, consultez la section Contraintes de répartition de la topologie des pods dans la documentation Kubernetes.
Exemples de libellés de domaine de topologie
Supposons que vous créiez les trois domaines de topologie suivants lorsque vous créez un cluster d'utilisateur:
...
topologyDomains:
- name: "topology-domain-1"
topologyLabels:
"topology.examplepetstore.com/zone": "zone-1"
...
...
topologyDomains:
- name: "topology-domain-2"
topologyLabels:
"topology.examplepetstore.com/zone": "zone-2"
...
...
topologyDomains:
- name: "topology-domain-3"
topologyLabels:
"topology.examplepetstore.com/zone": "zone-3"
...
Une fois le cluster créé, vous mettez à jour la spécification du pod, par exemple:
...
topologySpreadConstraints:
topologyKey: "topology.examplepetstore.com/zone"
...
De manière générale, le planificateur Kubernetes utilise topology.examplepetstore.com/zone
pour séparer les nœuds du cluster en différents groupes, zone-1
, zone-2
et zone-3
. Le planificateur répartit ensuite les pods sur ces trois groupes de nœuds.
Consignes de configuration des domaines de topologie
Pour garantir une utilisation efficace de toutes les ressources des clusters par le planificateur Kubernetes, nous vous recommandons les consignes suivantes:
- Les domaines de topologie doivent être équilibrés. Vous devez fournir des quantités presque égales de capacité de processeur et de RAM dans chaque domaine de topologie.
- Fournissez au moins deux domaines de topologie, et de préférence trois.
- Ne répartissez pas les données sur plusieurs clés de topologie.
- Les nœuds doivent avoir une taille similaire dans chaque domaine de topologie.
- Si vous utilisez des taints et des tolérances pour la séparation des charges de travail dans un cluster, chaque groupe de nœuds doit répondre aux exigences précédentes.
Si ces consignes ne sont pas respectées, le planificateur tentera toujours d'utiliser la pleine capacité du cluster, mais la planification des pods peut prendre plus de temps, et tous les pods ne bénéficieront pas du comportement de répartition attendu.
Étape suivante
- Créer un cluster d'administrateur à utiliser dans les domaines de topologie
- Créer un cluster d'utilisateur à utiliser dans les domaines de topologie
- Fichier de configuration de l'infrastructure vSphere