Ringkasan
Dokumen ini menjelaskan prosedur untuk mengaktifkan biaya berulang, pengisian saldo, dan penyiapan untuk fitur Monetisasi Apigee di organisasi Hybrid.
Prasyarat
- Apigee Hybrid versi 1.15.1 atau yang lebih tinggi. Lihat Mengupgrade Apigee Hybrid untuk mengetahui petunjuk upgrade.
- Monetisasi diaktifkan untuk project hybrid Apigee Anda. Lihat Mengaktifkan monetisasi Apigee.
Prosedur
Mengaktifkan biaya berulang, isi ulang, dan penyiapan untuk monetisasi Apigee hybrid memerlukan pembuatan dan penyiapan akun layanan Google apigee-mint-task-scheduler
serta pemberian akses ke pipeline data Pub/Sub.
- Jika Anda belum mendownload diagram Helm versi 1.15.1, Tarik diagram Helm dengan perintah berikut:
Di direktori $APIGEE_HELM_CHARTS_HOME, gunakan perintah
pull
untuk menyalin semua diagram Helm Apigee Hybrid ke penyimpanan lokal Anda:export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
export CHART_VERSION=1.15.1
helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
- Buat akun layanan
apigee-mint-task-scheduler
.Jika Anda belum membuat akun layanan
apigee-mint-task-scheduler
, buat sekarang dengan alatcreate-service-account
. Lihat Langkah 4: Buat akun layanan untuk mengetahui informasi tentang cara membuat akun layanan sebagai bagian dari penginstalan hibrida baru.-
Temukan alat
create-service-account
di direktori $APIGEE_HELM_CHARTS_HOME:$APIGEE_HELM_CHARTS_HOME/ └── apigee-operator/ └── etc/ └── tools/ └── create-service-account
Pastikan Anda dapat menjalankan
create-service-account
. Jika Anda baru saja mendownload diagram, filecreate-service-account
mungkin tidak dalam mode yang dapat dieksekusi. Di direktori APIGEE_HELM_CHARTS_HOME, jalankan perintah berikut:$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account --help
Jika output Anda menampilkan
permission denied
, Anda perlu membuat file dapat dieksekusi, misalnya denganchmod
di Linux, MacOS, atau UNIX atau di Windows Explorer atau dengan perintahicacls
di Windows. Contoh:chmod +x $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account
-
Buat akun layanan
apigee-mint-task-scheduler
dan simpan file sertifikat yang didownload di direktori diagramapigee-org
dengan perintah berikut:$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-mint-task-scheduler \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
-
Temukan alat
- Aktifkan akses bidang kontrol untuk akun layanan
apigee-mart
danapigee-mint-task-scheduler
.Jika Anda belum mengaktifkan akses panel kontrol untuk akun layanan
apigee-mart
danapigee-mint-task-scheduler
, lakukan sekarang dengan langkah-langkah berikut. Lihat Langkah 7: Aktifkan akses bidang kontrol untuk mengetahui informasi tentang cara mengaktifkan akses bidang kontrol sebagai bagian dari penginstalan hibrida baru.- Jika Anda bukan pemilik project Google Cloud yang terkait dengan organisasi hybrid Apigee, pastikan akun pengguna Google Cloud Anda memiliki peran roles/apigee.admin (Admin Organisasi Apigee). Anda dapat memeriksa peran yang ditetapkan kepada Anda dengan perintah ini:
gcloud projects get-iam-policy ${PROJECT_ID} \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"
Jika output Anda tidak menyertakan roles/apigee.admin, lihat Langkah 7: Aktifkan akses control plane untuk mengetahui langkah-langkah menambahkan peran atau meminta pengguna yang memiliki peran tersebut untuk melakukan langkah ini.
- Panggil
API updateControlPlaneAccess
untuk mengaktifkan izin yang diperlukan menggunakan perintah berikut:
Tidak ada residensi data
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \ -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-mint-task-scheduler@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"
Dengan alamat email akun layanan adalah sebagai berikut:
apigee-mart@${ORG_NAME}.iam.gserviceaccount.com
apigee-mint-task-scheduler@${ORG_NAME}.iam.gserviceaccount.com
apigee-runtime@${ORG_NAME}.iam.gserviceaccount.com
Residensi data
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \ -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-mint-task-scheduler@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"
Dengan:
CONTROL_PLANE_LOCATION
adalah lokasi untuk data bidang kontrol Anda jika penginstalan hybrid Anda menggunakan residensi data. Ini adalah lokasi tempat konten inti pelanggan seperti paket proxy disimpan. Untuk mengetahui daftarnya, lihat Region bidang kontrol API Apigee yang tersedia.- Berikut adalah alamat email akun layanan:
apigee-mart@${ORG_NAME}.iam.gserviceaccount.com
apigee-mint-task-scheduler@${ORG_NAME}.iam.gserviceaccount.com
apigee-runtime@${ORG_NAME}.iam.gserviceaccount.com
-
Verifikasi akses bidang kontrol untuk akun layanan
apigee-mart
danapigee-mint-task-scheduler
.Tidak ada residensi data
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess"
Residensi data
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess"
Output Anda harus menyertakan akun layanan
apigee-mart
,apigee-mint-task-scheduler
, danapigee-runtime
yang mirip dengan berikut:{ "synchronizerIdentities": [ "serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com" ], "analyticsPublisherIdentities": [ "serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com", "serviceAccount:apigee-mint-task-scheduler@$ORG_NAME.iam.gserviceaccount.com", "serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com" ] }
- Jika Anda bukan pemilik project Google Cloud yang terkait dengan organisasi hybrid Apigee, pastikan akun pengguna Google Cloud Anda memiliki peran roles/apigee.admin (Admin Organisasi Apigee). Anda dapat memeriksa peran yang ditetapkan kepada Anda dengan perintah ini:
- Tambahkan stanza khusus Monetisasi ke file
overrides.yaml
Anda.Tambahkan stanza berikut ke file
overrides.yaml
Anda:runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" #must be 1.15.1 or higher. mintTaskScheduler: # if using stored SA cert files: serviceAccountPath: MINT_TASK_SCHEDULER_SA_CERT_FILE.json # if using stored Kubernetes secrets: serviceAccountRef: MINT_TASK_SCHEDULER_SA_K8S_SECRET # if using Workload Identity on GKE: gsa: "apigee-mint-task-scheduler@PROJECT_ID.iam.gserviceaccount.com" # or if using Vault: serviceAccountSecretProviderClass: apigee-orgsakeys-spc
Jika Anda menggunakan secret Kubernetes, lihat Menyimpan data di secret Kubernetes.
Jika Anda menggunakan Vault, lihat Menyimpan kunci akun layanan di Hashicorp Vault.
Jika Anda menggunakan Vault, pastikan Anda telah menambahkan
mint
ke class penyedia rahasia khusus organisasi. Lihat Membuat objekSecretProviderClass
. -
Terapkan perubahan pada diagram
apigee-operator
,apigee-org
, danapigee-env
.Jika telah menetapkan variabel lingkungan $ORG_NAME dan APIGEE_NAMESPACE, Anda dapat menggunakannya dalam perintah berikut:
- Instal operator.
Uji coba:
helm upgrade operator apigee-operator/ \ --install \ --namespace $APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
Instal diagram:
helm upgrade operator apigee-operator/ \ --install \ --namespace $APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
- Instal organisasi Apigee.
Uji coba:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace $APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
Instal diagram:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace $APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
- Instal lingkungan. Ulangi langkah ini untuk setiap lingkungan.
Anda harus menginstal satu lingkungan dalam satu waktu. Tentukan lingkungan dengan
--set env=
ENV_NAME. Jika telah menetapkan variabel lingkungan $ENV_NAME di shell, Anda dapat menggunakannya dalam perintah berikut:Uji coba:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace $APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME adalah nama yang digunakan untuk melacak penginstalan dan upgrade diagram
apigee-env
. Nama ini harus unik dari nama rilis Helm lainnya di penginstalan Anda. Biasanya ini sama denganENV_NAME
. Namun, jika lingkungan Anda memiliki nama yang sama dengan grup lingkungan, Anda harus menggunakan nama rilis yang berbeda untuk lingkungan dan grup lingkungan, misalnyadev-env-release
dandev-envgroup-release
. Untuk mengetahui informasi selengkapnya tentang rilis di Helm, lihat Tiga konsep penting dalam dokumentasi Helm.Instal diagram:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace $APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
- Instal operator.
- Khusus Workload Identity di GKE: Konfigurasi Workload Identity untuk akun layanan
apigee-mint-task-scheduler
.Jika Anda melakukan penginstalan baru, lakukan langkah ini selain langkah-langkah di Langkah 11 (Opsional): Konfigurasi Workload Identity.
Saat Anda menjalankan upgrade helm dengan tanda
--dry-run
untuk diagramapigee-org
, output akan menyertakan perintah yang diperlukan untuk mengonfigurasi Workload Identity dengan nama akun layanan Google dan akun layanan Kubernetes yang benar.- Dapatkan perintah untuk menyiapkan Workload Identity untuk
apigee-org
dan jalankan perintah di bagianNOTES:
dalam output.helm upgrade $ORG_NAME apigee-org/ \ --namespace $NAMESPACE \ -f overrides.yaml \ --dry-run=server
Output harus berisi petunjuk yang mirip dengan berikut di bagian
NOTES:
:NOTES: ... For organization GKE Workload Identity, please make sure to add the below membership to the IAM policy binding using the respective Kubernetes SA (KSA). gcloud iam service-accounts add-iam-policy-binding apigee-mint-task-scheduler@PROJECT_ID.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[APIGEE_NAMESPACE/apigee-mint-task-scheduler-PROJECT_ID-UNIQUE_ID]" \ --project PROJECT_ID
Nama akun layanan Kubernetes memiliki format
apigee-mint-task-scheduler-PROJECT_ID-UNIQUE_ID
. - Jalankan perintah untuk menyiapkan Workload Identity untuk
apigee-mint-task-scheduler
.
- Dapatkan perintah untuk menyiapkan Workload Identity untuk
Lihat juga
- Mengaktifkan monetisasi Apigee untuk mengetahui informasi selengkapnya tentang monetisasi di Apigee.
mintTaskScheduler.serviceAccountPath
: Menetapkan jalur ke file kunci akun layanan untuk akun layananapigee-mint-task-scheduler
.mintTaskScheduler.serviceAccountRef
: Menetapkan secret Kubernetes yang berisi kunci akun layanan untuk akun layananapigee-mint-task-scheduler
.mintTaskScheduler.gsa
: Menetapkan akun layanan Google untuk akun layananapigee-mint-task-scheduler
. Ini harus berupa alamat email akun layanan.