[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-04。"],[[["\u003cp\u003eDeploy Kubernetes-native container applications to Google Distributed Cloud (GDC) air-gapped.\u003c/p\u003e\n"],["\u003cp\u003eGDC supports both stateless and stateful container workloads within its Kubernetes clusters.\u003c/p\u003e\n"],["\u003cp\u003eScale GDC Kubernetes cluster nodes based on your container workload requirements, even post-provisioning.\u003c/p\u003e\n"],["\u003cp\u003eGDC provides file and block persistent storage options for container workloads in air-gapped environments.\u003c/p\u003e\n"]]],[],null,["# Container workloads in GDC\n\nThis overview page explains the operating model for container workloads in a\nGoogle Distributed Cloud (GDC) air-gapped Kubernetes cluster. GDC\nprovides a managed Kubernetes service that 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 managing 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| **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\nKubernetes applications for a disconnected environment\n------------------------------------------------------\n\n*GKE on GDC* is a managed Kubernetes service that incorporates many\nGKE features into your GDC universe by\ndefault. This service eliminates the need to install, upgrade, integrate, and\nrun open source Kubernetes by yourself. You can operate and maintain the provided\nKubernetes distribution with a standard KRM API like any other Kubernetes\noffering that is declarative and idempotent. Likewise, GKE on GDC is\noffered from the GDC console, gdcloud CLI, and Terraform.\nFor more information on GDC Kubernetes clusters, see the\n[Kubernetes cluster overview](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/clusters). For more\ninformation on key Kubernetes concepts, see GKE documentation for\n[Start learning about Kubernetes](/kubernetes-engine/docs/learn/get-started-with-kubernetes).\n\nContainer workload state\n------------------------\n\nContainers in GDC are deployed to Kubernetes clusters as\nthe following:\n\n- [Stateless workloads](#stateless-workloads)\n- [Stateful workloads](#stateful-workloads)\n\nYou can scale out your GDC Kubernetes cluster nodes\nbased on the requirements of your container workloads, even after cluster\nprovisioning, as your compute requirements evolve.\n\nKubernetes provides several built-in workload resources to accomplish your\npreferred container application state. For more information, see Kubernetes\n[workloads](https://kubernetes.io/docs/concepts/workloads/) documentation.\n\n### Stateless workloads\n\n*Stateless workloads* are applications that do not store data or application\nstate to the Kubernetes cluster or to persistent storage. Instead, data and\napplication state stay with the client, which makes stateless applications more\nscalable. For example, a frontend application can be stateless: you deploy multiple\nreplicas to increase its availability and scale down when demand is low, and the\nreplicas have no need for unique identities.\n\nKubernetes uses the\n[`Deployment`](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)\nresource to deploy stateless applications as\nuniform, non-unique [Pods](https://kubernetes.io/docs/concepts/workloads/pods/).\nDeployments manage the *desired state* of your application, such as the\nfollowing:\n\n- The amount of Pods to run your application.\n- The version of the container image to run.\n- The labels of the Pods.\n\nYou can change the desired state dynamically through updates to the `Deployment`\nresource's `Pod` specification.\n\nStateless applications are in contrast to\n[stateful workloads](#stateful-workloads), which use persistent storage to save\ndata and application state.\n\n### Stateful workloads\n\n*Stateful workloads* are applications that save data to persistent disk storage\nfor use by the server, by clients, and by other applications. An example of a\nstateful application is a database or key-value store to which data is saved and\nretrieved by other applications. You must provision persistent storage for your\nstateful application to use.\n\nKubernetes uses the\n[`StatefulSet`](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)\nresource to deploy stateful applications. Pods in `StatefulSet` resources are\nnot interchangeable: each Pod has a unique identifier that is maintained no\nmatter where it is scheduled.\n\nStateful applications are different from\n[stateless workloads](#stateless-workloads),\nin which client data is not saved to the server between sessions.\n\n#### Persistent storage for containers\n\nGDC provides persistent block and file storage through\n[`PersistentVolumeClaim`](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)\n(PVC) objects. A PVC is a request for storage which is referenced by a `Pod`\nobject. A Pod is a group of one or more containers, with shared storage and\nnetwork resources. A PVC has an independent lifecycle from the Pod, which lets\nit persist beyond a single Pod.\n\nYou can dynamically provision persistent storage for your stateful workloads so\nthat the underlying volumes are created on demand. In\nGDC, you configure dynamic provisioning by creating one\nof the following pre-installed `StorageClass` objects:\n\n- `standard-rwo`: The `ReadWriteOnce` (RWO) block storage class. The volume can\n only be accessed by one node at a time. This storage class features an input\n and output operations per second (IOPS) guarantee and limit of 3 IOPS per GiB.\n\n- `system-performance-rwo`: The `ReadWriteOnce` performance block storage class.\n This storage class is a more performant version of RWO storage that features\n an IOPS guarantee and limit of 30 IOPS per GiB.\n\nYou can also create a\n[`VolumeSnapshot`](https://kubernetes.io/docs/concepts/storage/volume-snapshots/)\nobject to copy your container application's storage volume at a specific point\nin time without creating an entirely new volume. For example, a database\nadministrator could create a volume snapshot to back up databases before\nperforming edit or delete modifications.\n\nWhat's next\n-----------\n\n- [Create stateless workloads](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/containers/create-stateless-workloads)\n- [Create stateful workloads](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/containers/create-stateful-workloads)\n- [Access persistent storage](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/containers/access-persistent-storage)\n- [Deploy a containerized web server app](/distributed-cloud/hosted/docs/latest/gdch/platform-application/deploy-container-workloads)"]]