本页面介绍了如何在 Google Distributed Cloud (GDC) 气隙 Kubernetes 集群中创建和管理无状态工作负载。借助无状态工作负载,您可以根据工作负载需求扩缩应用部署,而无需在 Kubernetes 集群中管理永久性存储空间来存储数据或应用状态。本页面可帮助您快速入门,以便高效地优化和调整应用的可用性。
本页面适用于应用运维人员群组中的开发者,他们负责为组织创建应用工作负载。如需了解详情,请参阅 GDC 气隙环境文档的受众群体。
准备工作
如需针对 Kubernetes 集群运行命令,请确保您拥有以下资源:
找到 Kubernetes 集群名称,或向平台管理员询问集群名称。
登录并生成 Kubernetes 集群的 kubeconfig 文件(如果您还没有)。
使用 Kubernetes 集群的 kubeconfig 路径替换这些说明中的
KUBERNETES_CLUSTER_KUBECONFIG
。
如需获得创建无状态工作负载所需的权限,请让您的组织 IAM 管理员向您授予项目命名空间中的命名空间管理员角色 (namespace-admin
)。
创建部署
您可以编写 Deployment
清单并运行 kubectl apply
来创建部署。这种方法还可保留对活跃资源所做的更新,但不会将更改合并回清单文件。
如需根据清单文件创建 Deployment
,请运行以下命令:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: DEPLOYMENT_NAME
spec:
replicas: NUMBER_OF_REPLICAS
selector:
matchLabels:
run: APP_NAME
template:
metadata:
labels: # The labels given to each pod in the deployment, which are used
# to manage all pods in the deployment.
run: APP_NAME
spec: # The pod specification, which defines how each pod runs in the deployment.
containers:
- name: CONTAINER_NAME
image: CONTAINER_IMAGE
EOF
替换以下内容:
KUBERNETES_CLUSTER_KUBECONFIG
:您要将容器工作负载部署到的 Kubernetes 集群的 kubeconfig 文件。NAMESPACE
:用于部署容器工作负载的项目命名空间。DEPLOYMENT_NAME
:您要将容器工作负载部署到的集群的 kubeconfig 文件。APP_NAME
:要在部署中运行的应用的名称。NUMBER_OF_REPLICAS
:部署管理的复制Pod
对象的数量。CONTAINER_NAME
:容器的名称。CONTAINER_IMAGE
:容器映像的名称。您必须提供容器注册表路径和映像版本,例如REGISTRY_PATH/hello-app:1.0
。
例如:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
run: my-app
template:
metadata:
labels:
run: my-app
spec:
containers:
- name: hello-app
image: REGISTRY_PATH/hello-app:1.0
如果您要将 GPU 工作负载部署到容器,请参阅管理 GPU 容器工作负载了解详情。