本页介绍了 Gemini 与客户组织之间如何建立通信。
客户组织从其推理网关向托管生成式 AI 路由器和模型服务器的 Gemini 组织发送请求。GenAI 路由器的 API 平台 (APIP) 集成会检查来自推理网关的请求。APIP 集成可确保请求具有适当的凭据 (STS 令牌) 和角色权限。
如需详细了解 Gemini 和客户组织,请参阅 Gemini 和客户组织。
准备工作
如需启用跨组织通信,您必须满足以下条件:
- 现有客户组织和在同一可用区中运行的 Gemini 组织。
jq和yqCLI 工具。如需详细了解包含jq和yq的工具容器设置,请参阅 OOPS-P0065 运行手册。- 适用于客户组织和 Gemini 组织的 OIDC 客户端和身份提供方。如需创建 OIDC 客户端,请参阅在 OC IT ADFS 中创建 OIDC 客户端。
在 Gemini 组织与客户组织之间建立连接
为了满足 GDC 上 Gemini 所需的网络带宽,Gemini 组织需要自定义硬件网络配置。如需使用硬件并增加带宽,您需要使用互连进行额外配置。
如需在两个组织之间建立连接,请在根管理员集群中创建 AttachmentGroup 资源,以配对 Gemini 和客户组织。
自定义资源必须如下例所示:
IDENTIFIER=ag-gdc-gemini
GEMINI_ORG_NAME=GEMINI_ORG_NAME
CUSTOMER_ORG_NAME=CUSTOMER_ORG_NAME
apiVersion: system.private.gdc.goog/v1alpha1
kind: AttachmentGroup
metadata:
name: attachment-group-$IDENTIFIER
namespace: gpc-system
spec:
entities:
- domainType: OrgMixed
orgName: $CUSTOMER_ORG_NAME
- domainType: OrgMixed
orgName: $GEMINI_ORG_NAME
identifier: $IDENTIFIER
替换以下内容:
GEMINI_ORG_NAME:Gemini 组织的名称。CUSTOMER_ORG_NAME:客户组织的名称。
配置推理网关请求以使用数据网络
推理网关和 GenAI 路由器服务在其各自组织的组织基础架构集群中运行。默认情况下,这两种服务都通过基础设施网络进行路由,但它们必须使用数据网络。
为确保有足够的网络带宽来处理 Gemini 请求,您必须通过数据网络将推理网关请求路由到 GenAI 路由器。您必须使用 Istio 网络资源,通过 Gemini 组织的数据入站网关(而不是默认的基础设施入站网关)来路由请求。
请按以下步骤操作,将发往 GenAI 路由器的推理网关请求配置为使用数据网络:
检索 GenAI 路由器组件的完全限定域名 (FQDN):
KUBECONFIG=GEMINI_ORG_MGMT_KUBECONFIG_PATH GEN_AI_ROUTER_FQDN=$(kubectl --kubeconfig ${KUBECONFIG:?} \ get dnsregistrations.network.private.gdc.goog/genai-router \ -n gemini-system -o json | jq '.status.fqdn') echo $GEN_AI_ROUTER_FQDN将
GEMINI_ORG_MGMT_KUBECONFIG_PATH替换为 Gemini 组织的管理 API 服务器的 kubeconfig 文件路径。输出必须如下例所示:
"genai-router.org-1.zone1.google.gdch.test"从 Gemini 组织检索服务账号的 FQDN:
GEM_ORG_SERVICE_ACCOUNT_SERVICE_FQDN=$(kubectl --kubeconfig ${KUBECONFIG:?} \ get dnsregistrations.network.private.gdc.goog/service-accounts-infra-external \ -n iam-system -o json | jq '.status.fqdn') echo $GEM_ORG_SERVICE_ACCOUNT_SERVICE_FQDN输出必须如下例所示:
"service-accounts.org-1.zone1.google.gdch.test"从 Gemini 组织的数据平面检索入站流量网关 ELB IP 地址:
KUBECONFIG=GEMINI_ORG_MGMT_KUBECONFIG_PATH GEM_DATA_INGRSS_ELB_IP_ADDRESS=$(kubectl get Forwardingruleexternals/dataplane-ingress-gateway \ -n istio-system -ojson | jq .status.cidr) echo $GEM_DATA_INGRSS_ELB_IP_ADDRESS输出必须如下例所示:
"10.137.14.0/32"为 GenAI 路由器和身份 FQDN 添加
ServiceEntry资源。然后,从 Gemini 组织的数据平面解析到 Ingress 网关 ELB IP 地址的静态 IP 地址:KUBECONFIG=CUS_ORG_CP_KUBECONFIG_PATH kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: genai-service-entry namespace: aics-system spec: hosts: - $GEN_AI_ROUTER_FQDN ports: - number: 443 name: https protocol: TLS location: MESH_EXTERNAL resolution: STATIC endpoints: - address: $GEM_DATA_INGRSS_ELB_IP_ADDRESS EOF kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: identity-service-entry namespace: aics-system spec: hosts: - $GEM_ORG_SERVICE_ACCOUNT_SERVICE_FQDN ports: - number: 443 name: https protocol: TLS location: MESH_EXTERNAL resolution: STATIC endpoints: - address: $GEM_DATA_INGRSS_ELB_IP_ADDRESS EOF将
CUS_ORG_CP_KUBECONFIG_PATH替换为客户组织中的组织基础架构集群的数据平面 kubeconfig 文件的路径。检索
aics-system系统项目的出站 NAT IP 地址:KUBECONFIG=CUS_ORG_MGMT_KUBECONFIG_PATH IG_PROJECT_EGRESS_IP=$(kubectl --kubeconfig ${KUBECONFIG:?} get projects/aics-system \ -n gpc-system -ojson | jq .status.clusters[0].egressNATIPAddress) echo $IG_PROJECT_EGRESS_IP将
CUS_ORG_MGMT_KUBECONFIG_PATH替换为客户组织的管理 API 服务器的 kubeconfig 文件的路径。输出必须如下例所示:
"10.200.32.29"将组织网络政策从 Gemini 组织应用到管理 API 服务器,以允许来自客户组织的请求:
KUBECONFIG=GEMINI_ORG_MGMT_KUBECONFIG_PATH kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.gdc.goog/v1 kind: OrganizationNetworkPolicy metadata: name: allow-all-access namespace: platform spec: subject: services: matchTypes: - "all" ingress: - from: - ipBlock: cidr: $IG_PROJECT_EGRESS_IP EOF将
GEMINI_ORG_MGMT_KUBECONFIG_PATH替换为 Gemini 组织的管理 API 服务器的 kubeconfig 文件路径。可选:从客户组织向管理 API 服务器应用组织网络政策,以允许向 Gemini 组织发送请求:
KUBECONFIG=CUS_ORG_MGMT_KUBECONFIG_PATH kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.gdc.goog/v1 kind: OrganizationNetworkPolicy metadata: name: allow-all-access namespace: platform spec: ingress: - from: - ipBlock: cidr: CUSTOMER_ORG_OIQ subject: services: matchTypes: - all subjectType: ManagedService EOF替换以下内容:
CUS_ORG_MGMT_KUBECONFIG_PATH:客户组织的管理 API 服务器的 kubeconfig 文件的路径。CUSTOMER_ORG_OIQ:客户组织的 OIQ。