Stay organized with collections
Save and categorize content based on your preferences.
This page recommends Kubernetes container workload strategies that make your
application more fault tolerant in a Google Distributed Cloud (GDC) air-gapped multi-zone
universe. GDC supports Kubernetes-native container
applications that are widely consumed and supported on
Google Kubernetes Engine (GKE).
This page is for developers within the application operator group, who are
responsible for creating application workloads for their organization. For more
information, see
Audiences for GDC air-gapped documentation.
Kubernetes considerations for HA apps
Achieving high availability (HA) in Kubernetes goes beyond just the control
plane. You must also design and deploy container workloads in your
Google Distributed Cloud (GDC) air-gapped universe resiliently. Kubernetes offers several
powerful mechanisms to minimize downtime and provide highly available services
even when facing infrastructure issues or during routine maintenance. The
following topics are key strategies to consider for HA:
Maintain availability with replicas and autoscale: You must have enough
running instances of your application to provide HA.
ReplicaSet: A ReplicaSet resource maintains a stable set of
identical pod replicas are running at any given time. If a pod fails or is
terminated, the ReplicaSet controller automatically creates a new pod to
replace it. See
ReplicaSet
Kubernetes documentation for more information.
Horizontal Pod Autoscaler (HPA): While a ReplicaSet maintains a fixed
number of replicas, the HPA automatically adjusts this number based on
observed metrics like CPU utilization or memory usage. This allows your
application to handle load spikes. See
Horizontal Pod Autoscaling
Kubernetes documentation for more information.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 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)"]]