本頁說明如何建立 Gemini 與客戶機構之間的通訊。
客戶機構會從 Inference Gateway 將要求傳送至 Gemini 機構,該機構會代管 GenAI Router 和模型伺服器。GenAI Router 的 API 平台 (APIP) 整合功能會檢查 Inference Gateway 的要求。APIP 整合可確保要求具備適當的憑證 (STS 權杖) 和角色權限。
如要進一步瞭解 Gemini 和客戶機構,請參閱「Gemini 和客戶機構」。
事前準備
如要啟用跨機構通訊功能,您必須具備下列條件:
- 現有的客戶機構和在同一區域執行的 Gemini 機構。
jq和yqCLI 工具。如要進一步瞭解工具容器設定 (包含jq和yq),請參閱 OOPS-P0065 執行手冊。- 客戶和 Gemini 機構的 OIDC 用戶端和身分識別提供者。如要建立 OIDC 用戶端,請參閱「在 OC IT ADFS 中建立 OIDC 用戶端」。
在 Gemini 和客戶機構之間建立連線
如要符合 Gemini on GDC 的網路頻寬需求,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:客戶機構的名稱。
設定 Inference Gateway 要求,以使用資料網路
Inference Gateway 和 GenAI Router 服務會在各自機構的機構基礎架構叢集中執行。根據預設,這兩項服務都會透過基礎架構網路傳輸,但必須使用資料網路。
為確保 Gemini 請求有足夠的網路頻寬,您必須透過資料網路,將 Inference Gateway 請求傳送至 GenAI Router。您必須使用 Istio 網路資源,透過 Gemini 機構的資料輸入閘道轉送要求,而非預設基礎架構輸入閘道。
請按照下列步驟,設定傳送至 GenAI 路由器的 Inference Gateway 要求使用資料網路:
擷取 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 機構的資料層擷取 Ingress 閘道 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 Gateway 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。