Dokumen ini menjelaskan cara mengamati penerapan kuota. Sistem kuota air gap Google Distributed Cloud (GDC) melindungi layanan dengan mencegah lonjakan penggunaan yang tidak terduga yang dapat membebani layanan. Untuk membantu Anda memahami cara kuota layanan dikonfigurasi dan diterapkan, Anda dapat menggunakan layanan Library Agent untuk mengamati perilaku kuota, seperti pembatasan kapasitas.
Layanan Library Agent mengekspos dua API:
- GetShelf: Mengambil detail untuk rak tertentu dan tidak dibatasi kecepatan.
- ListShelves: Mengambil daftar semua rak dan memiliki batas kecepatan dua permintaan per menit.
Halaman ini ditujukan bagi developer dalam grup operator aplikasi, yang bertanggung jawab untuk memantau kuota dan pola penggunaan untuk project mereka. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi audiens untuk GDC yang terisolasi dari jaringan.
Sebelum memulai
Sebelum berinteraksi dengan layanan Library Agent, pastikan Anda memiliki izin yang benar dan endpoint layanan:
Untuk mendapatkan izin yang diperlukan untuk berinteraksi dengan layanan Library Agent, minta Admin IAM Project Anda untuk memberi Anda peran LibraryAgent User di namespace project Anda. Misalnya, Project IAM Admin dapat mengikat peran
libraryagent-userke akun pengguna Anda di namespace project Anda dengan menerapkan resourceRoleBinding:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: libraryagent-user-binding namespace: PROJECT_NAMESPACE subjects: - kind: User name: USER_EMAIL_ADDRESS apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: libraryagent-user apiGroup: rbac.authorization.k8s.io EOFGanti kode berikut:
PROJECT_NAMESPACE: namespace project Anda, sepertiproject-123.USER_EMAIL_ADDRESS: alamat email yang terkait dengan identitas pengguna Anda.
Minta Admin Platform yang memiliki akses ke cluster admin org dan yang memiliki peran DNS Monitor (
dns-monitor-mp) untuk mendapatkan nama DNS bagi layanan Library Agent:kubectl get dnsregistration.network.private.gdc.goog -n libraryagent-system libraryagent -o jsonpath='{.status.fqdn}'Jika Anda perlu mengedit pendaftaran DNS, PA juga harus memiliki peran DNS Debugger (
dns-debugger-mp).
Patuhi batas kuota
Untuk berinteraksi dengan Library Agent API dan mengamati pembatasan kecepatan, ikuti langkah-langkah berikut:
Tetapkan variabel lingkungan untuk nama DNS dan token autentikasi Anda:
export DNS_NAME=LIBRARY_AGENT_DNS_NAME export TOKEN="$($HOME/gdcloud auth print-identity-token --audiences=https://$DNS_NAME)"Ganti
LIBRARY_AGENT_DNS_NAMEdengan nama DNS yang Anda peroleh sebelumnya.Panggil
GetShelfAPI untuk mengambil rak tertentu berdasarkan nama. Metode ini tidak memiliki batas kecepatan:curl -v -X GET \ -H "Authorization: Bearer ${TOKEN?}" \ --insecure \ https://$DNS_NAME/v1alpha1/projects/PROJECT_NAMESPACE/shelves/Shelf1Ganti
PROJECT_NAMESPACEdengan namespace project Anda.Anda menerima respons
HTTP 200 OK.Panggil API
ListShelvesuntuk mencantumkan semua galeri di lokasi yang tercermin dalam nama DNS. Metode ini dibatasi hingga dua permintaan per menit:curl -v -X GET \ -H "Authorization: Bearer ${TOKEN?}" \ --insecure \ https://$DNS_NAME/v1alpha1/projects/PROJECT_NAMESPACE/shelvesGanti
PROJECT_NAMESPACEdengan namespace project Anda.Jika Anda berada dalam batas dua permintaan per menit, Anda akan menerima respons
HTTP 200 OK.Untuk mengamati penerapan kuota, panggil API
ListShelvesberulang kali hingga Anda melampaui batas kapasitas:curl -v -X GET \ -H "Authorization: Bearer ${TOKEN?}" \ --insecure \ https://$DNS_NAME/v1alpha1/projects/PROJECT_NAMESPACE/shelvesGanti
PROJECT_NAMESPACEdengan namespace project Anda.Jika Anda melebihi batas, Anda akan menerima respons
HTTP 429 Too Many Requests, yang menunjukkan bahwa permintaan dibatasi lajunya oleh sistem kuota. Outputnya mirip dengan hal berikut ini:* Request completely sent off < HTTP/2 429 < x-envoy-ratelimited: true < date: Thu, 24 Apr 2025 18:37:16 GMT < server: istio-envoy < x-envoy-upstream-service-time: 46 < * Connection #0 to host libraryagent.org-1.zone1.google.gdch.test left intactPenerapan batas kecepatan tidak selalu akurat; mungkin diperlukan lebih dari dua permintaan dalam satu menit untuk memicu error 429.