本页介绍了如何创建 Google Distributed Cloud (GDC) 气隙项目,以便在组织内将资源分组。项目为资源提供生命周期和政策边界,从而允许多个用户群组分别管理 GDC 资源。
本页面面向平台管理员群组中的 IT 管理员、安全工程师和网络管理员等受众群体,他们负责管理组织内的资源。如需了解详情,请参阅 GDC 气隙环境文档的受众群体。
准备工作
如需获得创建项目所需的权限,请让组织 IAM 管理员向您授予 Project Creator 角色 (project-creator
)。
在创建项目之前,请查看 Google Distributed Cloud (GDC) 空气隔离环境用于识别项目的信息:
项目名称:人类可读的项目名称。
任何 GDC API 都不会使用项目名称。您可以在项目创建期间或之后随时修改项目名称。项目名称不必具有唯一性。
项目名称必须符合以下要求:
- 长度在 4 到 30 个字符之间。
- 包含字母、数字、英文单引号、连字符、空格或英文感叹号。
项目 ID:项目的全局唯一标识符。
项目 ID 是一个唯一字符串,用于将您的项目与 GDC 中的所有其他项目区分开来。您只能在创建项目时修改项目 ID。
项目 ID 具有以下要求:
- 长度在 6 到 30 个字符之间。
- 包含小写字母、数字和连字符。
- 以字母开头。
- 不得以
g-
前缀开头,例如g-project
。 - 不得以连字符结尾。
- 不得以字符串
-cluster
或-system
结尾。-system
后缀专为 GDC 创建的项目预留。 - 不得使用正在或以前使用过的项目 ID;这包括已删除的项目。
请勿在项目名称、项目 ID 或其他资源名称中添加敏感信息。项目 ID 会在许多其他 GDC 资源的名称中使用,并且对项目或相关资源的任何引用都会公开项目 ID 和资源名称。
创建新项目
您可以创建项目,以便对服务资源进行逻辑分组。例如,您可以创建单独的项目来存放开发、测试和生产环境的资源。
如需获得创建项目所需的权限,请让组织 IAM 管理员为您授予 Project Creator 角色。如需详细了解如何授予权限,请参阅为服务身份分配角色绑定部分。
控制台
如需使用 GDC 控制台创建新项目,请完成以下步骤:
- 在导航菜单中,点击项目。
- 点击添加项目。
- 在项目名称字段中,输入项目名称。
- 点击继续。
- 可选:配置项目的网络功能。清除数据渗漏复选框,以停用组织内其他项目的所有出站流量。
- 点击继续。
- 在审核部分,查看摘要,然后点击创建。
- 如需验证新项目是否可用,请在控制台中查看是否显示了以下消息:
Project PROJECT_NAME successfully created
。 - 将新项目与结算账号相关联。如需跟踪项目资源费用,您必须拥有与项目相关联的结算账号。
gdcloud
如需使用 gdcloud CLI 创建新项目,请完成以下步骤:
API
如需使用 API 直接创建新项目,请完成以下步骤:
为全局管理 API 服务器 kubeconfig 文件设置环境变量:
export KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
如果您没有全局管理 API 服务器 kubeconfig 文件,请生成一个。
创建并应用
Project
自定义资源:kubectl apply -f --kubeconfig=${KUBECONFIG} - <<EOF apiVersion: resourcemanager.global.gdc.goog/v1 kind: Project metadata: namespace: platform name: PROJECT_ID EOF
将
PROJECT_ID
替换为新项目的唯一标识符。验证新项目是否可用:
kubectl --kubeconfig=${KUBECONFIG} get namespaces
将新项目与结算账号相关联。如需跟踪项目资源费用,您必须拥有与项目相关联的结算账号。
Terraform
如需使用 Terraform 创建新项目,请完成以下步骤:
确保您已配置 Terraform 并设置适当的权限。 如需了解详情,请参阅配置 Terraform 页面。
在 Terraform 配置文件中,插入以下代码段:
provider "kubernetes" { config_path = "GLOBAL_API_SERVER_KUBECONFIG" }
将
GLOBAL_API_SERVER_KUBECONFIG
替换为全局管理 API 服务器的 kubeconfig 文件的路径。如果您没有此 kubeconfig 文件,请生成一个。在 Terraform 配置文件(例如
main.tf
)中,插入以下代码段:resource "kubernetes_manifest" "project-create" { manifest = { "apiVersion" = "resourcemanager.global.gdc.goog/v1" "kind" = "Project" "metadata" = { "name" = "PROJECT_ID" "namespace" = "platform" } } }
将
PROJECT_ID
替换为新项目的唯一标识符。使用 Terraform 应用新项目:
terraform apply
将新项目与结算账号相关联。如需跟踪项目资源费用,您必须拥有与项目相关联的结算账号。