Auf dieser Seite wird beschrieben, wie Sie die Kommunikation zwischen der Organisation von Gemini und der Organisation des Kunden herstellen können.
Die Kundenorganisation sendet Anfragen von ihrem Inference Gateway an die Gemini-Organisation, in der sich der GenAI-Router und die Modellserver befinden. Bei der APIP-Integration (API Platform) des GenAI-Routers werden die Anfragen vom Inference Gateway geprüft. Durch die APIP-Integration wird sichergestellt, dass die Anfragen über die entsprechenden Anmeldedaten (STS-Token) und Rollenberechtigungen verfügen.
Weitere Informationen zu Gemini und Kundenorganisationen finden Sie unter Gemini und Kundenorganisationen.
Hinweise
Damit die organisationsübergreifende Kommunikation möglich ist, müssen Sie Folgendes haben:
- Eine vorhandene Kundenorganisation und eine Gemini-Organisation, die in derselben Zone ausgeführt werden.
- Die CLI-Tools
jqundyq. Weitere Informationen zur Einrichtung des Tool-Containers, derjqundyqenthält, finden Sie im OOPS-P0065-Runbook. - Ein OIDC-Client und ein Identitätsanbieter für Kunden- und Gemini-Organisationen. Informationen zum Erstellen eines OIDC-Clients finden Sie unter OIDC-Client in OC IT ADFS erstellen.
Verbindung zwischen Gemini- und Kundenorganisationen herstellen
Um die erforderliche Netzwerkbandbreite für Gemini auf GDC zu erreichen, gibt es eine benutzerdefinierte Hardware-Netzwerkkonfiguration für die Gemini-Organisation. Wenn Sie die Hardware verwenden und die Bandbreite erhöhen möchten, ist eine zusätzliche Konfiguration mit einem Interconnect erforderlich.
Um eine Verbindung zwischen den beiden Organisationen herzustellen, erstellen Sie eine AttachmentGroup-Ressource im Administrator-Root-Cluster, um Gemini- und Kundenorganisationen zu verknüpfen.
Die benutzerdefinierte Ressource muss wie im folgenden Beispiel aussehen:
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
Ersetzen Sie Folgendes:
GEMINI_ORG_NAME: der Name der Gemini-Organisation.CUSTOMER_ORG_NAME: der Name der Kundenorganisation.
Inference Gateway-Anfragen für die Verwendung des Datennetzwerks konfigurieren
Die Dienste „Inference Gateway“ und „GenAI Router“ werden im Infrastrukturcluster der jeweiligen Organisation ausgeführt. Standardmäßig werden beide Dienste über das Infrastrukturnetzwerk weitergeleitet, sie müssen jedoch das Datennetzwerk verwenden.
Damit für Gemini-Anfragen ausreichend Netzwerkbandbreite zur Verfügung steht, müssen Sie die Inference Gateway-Anfragen, die für den GenAI-Router bestimmt sind, über das Datennetzwerk weiterleiten. Sie müssen Istio-Netzwerkressourcen verwenden, um Anfragen über das Data Ingress Gateway der Gemini-Organisation anstelle des standardmäßigen Infrastruktur-Ingress-Gateways weiterzuleiten.
So konfigurieren Sie die Inference Gateway-Anfragen, die für den GenAI Router bestimmt sind, für die Verwendung des Datennetzwerks:
Rufen Sie den vollqualifizierten Domainnamen (FQDN) der GenAI Router-Komponente ab:
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_FQDNErsetzen Sie
GEMINI_ORG_MGMT_KUBECONFIG_PATHdurch den Pfad zur kubeconfig-Datei des Management-API-Servers der Gemini-Organisation.Die Ausgabe muss wie im folgenden Beispiel aussehen:
"genai-router.org-1.zone1.google.gdch.test"Rufen Sie den FQDN des Dienstkontos aus der Gemini-Organisation ab:
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_FQDNDie Ausgabe muss wie im folgenden Beispiel aussehen:
"service-accounts.org-1.zone1.google.gdch.test"Rufen Sie die ELB-IP-Adresse des Ingress-Gateways von der Datenebene der Gemini-Organisation ab:
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_ADDRESSDie Ausgabe muss wie im folgenden Beispiel aussehen:
"10.137.14.0/32"Fügen Sie eine
ServiceEntry-Ressource für den GenAI-Router und den FQDN der Identität hinzu. Lösen Sie dann die statische IP-Adresse der ELB-IP-Adresse des Ingress-Gateways aus der Datenebene der Gemini-Organisation auf: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 EOFErsetzen Sie
CUS_ORG_CP_KUBECONFIG_PATHdurch den Pfad zur kubeconfig-Datei der Datenebene des Organisationsinfrastrukturclusters der Kundenorganisation.Rufen Sie die NAT-IP-Adresse für den ausgehenden Traffic des
aics-system-Systemprojekts ab: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_IPErsetzen Sie
CUS_ORG_MGMT_KUBECONFIG_PATHdurch den Pfad zur kubeconfig-Datei des Management-API-Servers der Kundenorganisation.Die Ausgabe muss wie im folgenden Beispiel aussehen:
"10.200.32.29"Wenden Sie eine Organisationsnetzwerkrichtlinie auf den Management API-Server der Gemini-Organisation an, um Anfragen von der Kundenorganisation zuzulassen:
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 EOFErsetzen Sie
GEMINI_ORG_MGMT_KUBECONFIG_PATHdurch den Pfad zur kubeconfig-Datei des Management-API-Servers der Gemini-Organisation.Optional: Wenden Sie eine Organisationsnetzwerkrichtlinie auf den Management API-Server der Kundenorganisation an, um Anfragen an die Gemini-Organisation zuzulassen:
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 EOFErsetzen Sie Folgendes:
CUS_ORG_MGMT_KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei des Management-API-Servers der Kundenorganisation.CUSTOMER_ORG_OIQ: Der OIQ der Kundenorganisation.