Charges de travail Kubernetes pour la haute disponibilité
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page recommande des stratégies de charge de travail de conteneur Kubernetes qui rendent votre application plus tolérante aux pannes dans un univers Google Distributed Cloud (GDC) multizone isolé. GDC est compatible avec les applications de conteneurs natifs Kubernetes qui sont largement utilisées et compatibles avec Google Kubernetes Engine (GKE).
Cette page s'adresse aux développeurs du groupe des opérateurs d'applications, qui sont chargés de créer des charges de travail d'application pour leur organisation. Pour en savoir plus, consultez la documentation sur les audiences pour GDC en mode air-gapped.
Considérations Kubernetes pour les applications à haute disponibilité
Dans Kubernetes, la haute disponibilité ne se limite pas au plan de contrôle. Vous devez également concevoir et déployer des charges de travail de conteneurs de manière résiliente dans votre univers Google Distributed Cloud (GDC) sous air gap. Kubernetes propose plusieurs mécanismes puissants pour minimiser les temps d'arrêt et fournir des services à disponibilité élevée, même en cas de problèmes d'infrastructure ou lors d'une maintenance de routine. Voici les principales stratégies à prendre en compte pour la haute disponibilité :
Maintenir la disponibilité avec des répliques et l'autoscaling : vous devez disposer d'un nombre suffisant d'instances en cours d'exécution de votre application pour assurer la haute disponibilité.
ReplicaSet : une ressource ReplicaSet maintient un ensemble stable de répliques de pods identiques en cours d'exécution à tout moment. Si un pod échoue ou est arrêté, le contrôleur ReplicaSet en crée automatiquement un nouveau pour le remplacer. Pour en savoir plus, consultez la documentation Kubernetes sur ReplicaSet.
Autoscaler horizontal de pods (AHP) : alors qu'un ReplicaSet maintient un nombre fixe de répliques, le AHP ajuste automatiquement ce nombre en fonction des métriques observées, comme l'utilisation du processeur ou de la mémoire. Cela permet à votre application de gérer les pics de charge. Pour en savoir plus, consultez la documentation Kubernetes sur l'autoscaling horizontal des pods.
Répartissez vos risques avec des règles d'anti-affinité : pour en savoir plus, consultez la documentation Kubernetes sur l'affinité et l'anti-affinité.
Points de terminaison stables et équilibrage de charge avec les services : pour en savoir plus, consultez la documentation Kubernetes sur les services.
Mises à jour et rollbacks progressifs avec les déploiements : pour en savoir plus, consultez la documentation Kubernetes sur le rollback d'un déploiement.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Kubernetes workloads for high availability\n\nThis page recommends Kubernetes container workload strategies that make your\napplication more fault tolerant in a Google Distributed Cloud (GDC) air-gapped multi-zone\nuniverse. GDC supports Kubernetes-native container\napplications that are widely consumed and supported on\nGoogle Kubernetes Engine (GKE).\n\nThis page is for developers within the application operator group, who are\nresponsible for creating application workloads for their organization. For more\ninformation, see\n[Audiences for GDC air-gapped documentation](/distributed-cloud/hosted/docs/latest/gdch/resources/audiences).\n\nKubernetes considerations for HA apps\n-------------------------------------\n\nAchieving high availability (HA) in Kubernetes goes beyond just the control\nplane. You must also design and deploy container workloads in your\nGoogle Distributed Cloud (GDC) air-gapped universe resiliently. Kubernetes offers several\npowerful mechanisms to minimize downtime and provide highly available services\neven when facing infrastructure issues or during routine maintenance. The\nfollowing topics are key strategies to consider for HA:\n| **Important:** To access the URLs listed on this page, you must connect to the internet. The URLs are provided to access outside of your air-gapped environment.\n\n- **Maintain availability with replicas and autoscale**: You must have enough\n running instances of your application to provide HA.\n\n - `ReplicaSet`: A `ReplicaSet` resource maintains a stable set of\n identical pod replicas are running at any given time. If a pod fails or is\n terminated, the `ReplicaSet` controller automatically creates a new pod to\n replace it. See\n [ReplicaSet](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/)\n Kubernetes documentation for more information.\n\n - Horizontal Pod Autoscaler (HPA): While a `ReplicaSet` maintains a fixed\n number of replicas, the HPA automatically adjusts this number based on\n observed metrics like CPU utilization or memory usage. This allows your\n application to handle load spikes. See\n [Horizontal Pod Autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)\n Kubernetes documentation for more information.\n\n- **Minimize downtime with `PodDisruptionBudget` (PDB)** : See\n [Specifying a Disruption Budget for your Application](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)\n Kubernetes documentation for more information.\n\n- **Spread your risk with anti-affinity rules** : See\n [Affinity and anti-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)\n Kubernetes documentation for more information.\n\n- **Health checks with liveness, readiness, and startup probes** : See\n [Configure Liveness, Readiness and Startup Probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)\n Kubernetes documentation for more information.\n\n- **Stable endpoints and load balancing with services** : See\n [Services](https://kubernetes.io/docs/concepts/services-networking/service/)\n Kubernetes documentation for more information.\n\n- **Graceful updates and rollbacks with deployments** : See\n [Rolling Back a Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-back-a-deployment)\n Kubernetes documentation for more information.\n\n- **Set requests and limits for resources** : See\n [Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)\n Kubernetes documentation for more information.\n\nWhat's next\n-----------\n\n- [Start learning about Kubernetes](/kubernetes-engine/docs/learn/get-started-with-kubernetes)\n- [Container workloads in GDC](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/containers/containers-intro)\n- [Create a cluster to run container workloads](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/create-user-cluster)"]]