Gemini di Google Distributed Cloud (GDC) dengan air gap memungkinkan Anda mengirimkan perintah video melalui dua metode utama:
- Encoding base64 inline: Enkode video ke dalam format base64 dan kirimkan sebagai data inline dalam permintaan API.
- Bucket penyimpanan: Upload video ke bucket penyimpanan dan berikan URL video di bucket sebagai bagian dari permintaan.
Halaman ini memandu Anda menyiapkan konfigurasi bucket tambahan yang diperlukan untuk perintah video dengan Gemini di GDC sehingga Inference Gateway dapat memiliki akses ke bucket.
Sebelum memulai
Sebelum menyiapkan bucket untuk perintah video Gemini di GDC, Anda harus memenuhi prasyarat berikut:
- Instal alat CLI
jqdanyq. Untuk mengetahui detail penyiapan penampung alat, yang berisijqdanyq, lihat buku pedoman OOPS-P0065. - Dapatkan peran Admin Secret Inference Gateway (
inference-gateway-secret-admin) di namespaceaics-systemuntuk membuat resourceSecret. Untuk mengetahui detail selengkapnya, lihat buku pedoman IAM-R0005. - Buat organisasi Gemini.
Mengonfigurasi bucket penyimpanan untuk perintah video
Konfigurasi bucket penyimpanan objek untuk mengizinkan pengguna mengirimkan perintah video di organisasi pelanggan Anda.
Buat bucket
di project aics-system dengan nilai berikut:
- Nama bucket:
aics-inference-gateway - Namespace:
aics-system - Deskripsi:
Bucket for video prompts
Secara default, bucket dienkripsi secara otomatis dengan V2 encryption, dan lokasinya berada di zona yang sama dengan kube-apiserver pengelolaan tempat Anda membuat resource. Oleh karena itu, Anda harus membuat resource Bucket zonal di server API pengelolaan dari organisasi pelanggan, yang berada di zona Gemini. Untuk mengetahui informasi selengkapnya tentang Storage API, lihat
Ringkasan Storage API.
Resource Bucket harus terlihat seperti contoh berikut:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
labels:
object.gdc.goog/bucket-type: normal
object.gdc.goog/encryption-version: v2
object.gdc.goog/tenant-category: system
name: aics-inference-gateway
namespace: aics-system
spec:
description: Bucket for video prompts
location: GEMINI_ZONE
storageClass: Standard
Ganti GEMINI_ZONE dengan nama zona Gemini.
Mengonfigurasi akses ke bucket
Ikuti langkah-langkah berikut untuk mengonfigurasi akses ke bucket yang Anda buat untuk perintah video:
Buat akun layanan di server API pengelolaan dari organisasi pelanggan:
KUBECONFIG=CUS_ORG_MGMT_KUBECONFIG_PATH kubectl --kubeconfig ${KUBECONFIG:?} apply -f - << EOF apiVersion: v1 kind: ServiceAccount metadata: name: aics-inference-gateway namespace: aics-system EOFGanti
CUS_ORG_MGMT_KUBECONFIG_PATHdengan jalur ke file kubeconfig server API pengelolaan dari organisasi pelanggan.Terapkan resource
RoledanRoleBindingyang memberi akun layanan akses baca dan tulis ke bucket:kubectl --kubeconfig ${KUBECONFIG:?} apply -f - << EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: logging.private.gdch.goog/loggingpipeline-name: default name: aics-inference-gateway-buckets-role namespace: aics-system rules: - apiGroups: - object.gdc.goog resourceNames: - aics-inference-gateway resources: - buckets verbs: - read-object - write-object EOF kubectl --kubeconfig ${KUBECONFIG:?} apply -f - << EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: logging.private.gdch.goog/loggingpipeline-name: default name: audit-logs-loki-pa-buckets-binding namespace: aics-system roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: aics-inference-gateway-buckets-role subjects: - kind: ServiceAccount name: aics-inference-gateway namespace: aics-system EOFSalin kunci akses dari server API pengelolaan dari organisasi pelanggan. Kunci akses ini di-mount ke deployment Inference Gateway, dan Inference Gateway menggunakannya untuk mengakses bucket. Ikuti langkah-langkah berikut untuk menyalin kunci akses dari satu server API ke server API lainnya:
Dapatkan nama secret yang berisi kunci akses:
MGMT_KUBECONFIG=CUS_ORG_MGMT_KUBECONFIG_PATH kubectl get secret -n aics-system \ --kubeconfig {MGMT_KUBECONFIG:?} | grep object-storage-keyGanti
CUS_ORG_MGMT_KUBECONFIG_PATHdengan jalur ke file kubeconfig server API pengelolaan dari organisasi pelanggan.Output harus terlihat mirip dengan contoh berikut:
object-storage-key-sysstd-sa-5adjkgdmmn6fyd4o6ybnrnuaiomsbihq4jluymifw4jvcf7w7aya Opaque 3 14mSalin kunci akses:
SECRET_NAME=object-storage-key-sysstd-sa-5adjkgdmmn6fyd4o6ybnrnuaiomsbihq4jluymifw4jvcf7w7aya kubectl get secret/$SECRET_NAME -n aics-system --kubeconfig {MGMT_KUBECONFIG:?} -o yaml | yq .data > access-key.yamlBuat secret baru dengan kunci akses di cluster infrastruktur org:
CP_KUBECONFIG=CUS_ORG_CP_KUBECONFIG_PATH (echo "apiVersion: v1"; echo "kind: Secret"; echo "metadata:"; echo " name: object-storage-key-std-sa"; \ echo " namespace: aics-system"; echo "data:"; sed 's/^/ /' access-key.yaml | cat -) > object-storage-key-std-sa.yaml kubectl apply --kubeconfig {CP_KUBECONFIG} -f object-storage-key-std-sa.yamlGanti
CUS_ORG_CP_KUBECONFIG_PATHdengan jalur ke file kubeconfig cluster infrastruktur org dari organisasi pelanggan.