本文档介绍了如何创建 Google Distributed Cloud (GDC) 隔离项目,以便在组织内对资源进行分组。项目为资源提供生命周期和政策边界,从而允许多个用户群组分别管理 GDC 资源。
本文档面向平台管理员群组中的 IT 管理员、安全工程师和网络管理员等受众群体,他们负责管理组织内的资源。如需了解详情,请参阅 GDC 气隙环境文档的受众群体。
准备工作
如需执行本文档中的任务,您必须完成以下操作:
如需获得创建项目所需的权限,请让组织 IAM 管理员向您授予 Project Creator 角色 (
project-creator)。如需使用 gdcloud CLI,请确保您已安装该 CLI。如需了解详情,请参阅安装 gdcloud CLI。
如需使用 Terraform,请确保您已对其进行配置。如需了解详情,请参阅配置 Terraform。
创建新项目
您可以创建项目,以便对服务资源进行逻辑分组。例如,您可以创建单独的项目来存放开发、测试和生产环境的资源。
如需获得创建项目所需的权限,请让组织 IAM 管理员为您授予 Project Creator 角色。如需详细了解如何授予权限,请参阅为服务身份分配角色绑定部分。
控制台
如需使用 GDC 控制台创建新项目,请完成以下步骤:
- 在导航菜单中,点击项目。
- 点击添加项目。
- 在项目名称字段中,输入项目名称。
- 指定要与项目关联的结算账号 ID。如需跟踪项目资源费用,您的项目必须与结算账号相关联。如需了解详情,请参阅创建和关联结算账号。
- 点击继续。
- 可选:配置项目的网络功能。取消选中数据渗漏复选框,以停用组织内其他项目的所有出站流量。
- 点击继续。
- 在审核部分,查看摘要,然后点击创建。
- 如需验证新项目是否可用,请在控制台中查看是否显示了以下消息:
Project PROJECT_NAME successfully created。
gdcloud
如需使用 gdcloud CLI 创建新项目,请完成以下步骤:
如需创建项目,请运行:
gdcloud projects create PROJECT_ID将
PROJECT_ID替换为新项目的唯一标识符。验证新项目是否可用:
gdcloud projects list输出类似于以下内容:
METADATA.NAME my-project将新项目与结算账号相关联。如需跟踪项目资源费用,您必须拥有与项目相关联的结算账号。
API
如需使用 API 直接创建新项目,请完成以下步骤:
为全局管理 API 服务器 kubeconfig 文件设置环境变量:
export KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG如果您没有全局管理 API 服务器 kubeconfig 文件,请生成一个。
创建并应用
Project自定义资源:kubectl --kubeconfig=${KUBECONFIG} apply -f - <<EOF apiVersion: resourcemanager.global.gdc.goog/v1 kind: Project metadata: namespace: platform name: PROJECT_ID EOF将
PROJECT_ID替换为新项目的唯一标识符。验证新项目是否可用:
kubectl --kubeconfig=${KUBECONFIG} get projects -n platform输出类似于以下内容:
NAME READY my-project将新项目与结算账号相关联。如需跟踪项目资源费用,您必须拥有与项目相关联的结算账号。
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将新项目与结算账号相关联。如需跟踪项目资源费用,您必须拥有与项目相关联的结算账号。