创建 Gemini 组织

本页面将引导您了解如何在 Google Distributed Cloud (GDC) 空气隔离环境中创建新组织,以及如何配置该组织以使用 Gemini。

本页面使用了两个指代不同概念的术语:客户组织Gemini 组织。每个术语的定义如下:

  • 客户组织:用户在其中运行工作负载、访问平台基础架构和使用 Vertex AI 服务的 GDC 组织。如需详细了解客户组织,请参阅创建客户组织
  • Gemini 组织:配置为运行 Gemini 模型服务器的组织资源。出于安全考虑,此组织不允许运行用户工作负载。Gemini 组织中只能运行经过 Google 批准的第三方代码。Gemini 组织与客户组织是不同的组织,前者采用多单租户模型,其中每个客户组织都有其对应的 Gemini 组织。

如需详细了解组织之间的差异,请参阅 Operator 概览

准备工作

如需创建 Gemini 组织,您必须具备以下条件:

  • 客户组织已启动并正在运行。
  • 系统中的浏览器。
  • Git 命令行界面 (CLI)。
  • kubectl CLI。
  • gdcloud CLI。
  • jqyq CLI 工具。如需详细了解包含 jqyq 的工具容器设置,请参阅 OOPS-P0065 运行手册。
  • 必要的基础设施运维人员 (IO) 角色。如需详细了解这些角色,请参阅准备 IAM 权限

此外,请确保您满足部署前检查

创建 Gemini 组织

如需创建 Gemini 组织,请按以下步骤操作:

  1. 按照创建组织指南操作,直到完成将 IO 身份提供方与 IAC 组织相关联。此操作会创建一个单独的组织,该组织在单个区域中充当 Gemini 组织。创建组织时,请遵循以下准则:

    • 其中一个可用服务器必须是具有 d3-highgpu1-256-gdc-metal 机器类别的 Dell XE9680 服务器。使用 IaC 创建组织说明的第一步提供了一个用于检查可用服务器的命令。如果机器类为 d3-highgpu1-256-gdc-metal 的服务器不可用,请参阅动态扩展概览,了解服务器扩展选项。然后,添加新的工作负载服务器

    • 使用 IaC 创建组织时,在创建 Organization 自定义资源后,在自定义资源中添加注解 organizations.resourcemanager.private.gdc.goog/shared-service-cluster-skip-create-cluster: "true",以跳过创建共享服务集群并优化资源。

    • 在单个可用区中创建 OrganizationZonalConfig 自定义资源。此地区用作 Gemini 地区。客户组织必须位于同一可用区,但也可以部署在更多可用区中。如需了解详情,请参阅 Gemini 的多地区部署模型

  2. 向 Gemini 组织的 Organization 自定义资源添加 lcm.private.gdc.goog/org-tenant="gemini" 标签:

    KUBECONFIG=ROOT_ADMIN_KUBECONFIG_PATH
    GEMINI_ORG_NAME=GEMINI_ORGANIZATION_NAME
    
    kubectl label organization -n gpc-system ${GEMINI_ORG_NAME:?} \
      lcm.private.gdc.goog/org-tenant="gemini" --kubeconfig ${KUBECONFIG:?}
    

    替换以下内容:

    • ROOT_ADMIN_KUBECONFIG_PATH:根管理员集群的 kubeconfig 文件的路径。
    • GEMINI_ORGANIZATION_NAME:Gemini 组织的名称。
  3. 检查 Gemini 组织的组织基础架构集群是否已启动并正在运行:

    kubectl get cluster/${GEMINI_ORG_NAME:?}-admin -n ${GEMINI_ORG_NAME:?}
    

    以下输出显示了名为 org-1 的 Gemini 组织的示例:

    NAMESPACE   NAME          ABM VERSION        DESIRED ABM VERSION   CLUSTER STATE
    org-1       org-1-admin   1.30.500-gke.128   1.30.500-gke.128      Running
    
  4. 查找 Gemini 组织的组织基础架构集群中配置了 H200 GPU 的所有工作器节点:

    KUBECONFIG=GEM_ORG_CP_KUBECONFIG_PATH
    
    kubectl --kubeconfig ${KUBECONFIG:?} get nodes \
      -o json | jq -r \
      '.items[] | select(.status.capacity."nvidia.com/gpu-pod-NVIDIA_H200"=="8") | .metadata.name'
    

    GEM_ORG_CP_KUBECONFIG_PATH 替换为 Gemini 组织的组织基础架构集群的 kubeconfig 文件的路径。

  5. gemini.gdc.goog/large-gemini=true 标签应用于您从上一个命令中获得的所有具有 H200 GPU 的工作器节点:

    NODE_NAME=H200_WORKER_NODE_NAME
    
    kubectl label node ${NODE_NAME:?} \
      "gemini.gdc.goog/large-gemini=true" \
      --kubeconfig ${KUBECONFIG:?}
    

    H200_WORKER_NODE_NAME 替换为具有 H200 GPU 的工作器节点的名称。

替换 Gemini 可操作组件的功能门控

在完成 Gemini 组织的配置并确认其状态为 READY 后,您必须替换功能门,以在 Gemini 组织或客户组织中启用可操作的组件。

下表总结了您必须遵循的 Runbook,以替换功能门并启用可操作的组件:

可操作的组件 目标组织 Runbook 参考文档
GEMINI Gemini 组织 GEMINI-F0001
AICS 客户组织 AICS-F0001
GPU Gemini 组织 GPU-F0001

生成加密密钥

为组织生成加密密钥是一次性操作。如果您重新运行该命令,系统将无法再解密任何已上传的模型。如需生成密钥,您需要在刚刚创建的新组织上运行作业。

KUBECONFIG=GEM_ORG_CP_KUBECONFIG_PATH
kubectl --kubeconfig=${KUBECONFIG:?} -n gemini create job --from=cronjob/gemini-weights-transfer-keygen

作业完成后,您应该能够使用以下命令读取密钥

KUBECONFIG=GEM_ORG_CP_KUBECONFIG_PATH
kubectl --kubeconfig=${KUBECONFIG:?} -n gemini-system \
  logs job.batch/gemini-weights-transfer-keygen \
  | grep -oP '<PublicKey.*?</PublicKey>' | head -n 1

后续步骤