Ringkasan
Langkah ini menjelaskan cara membuat akun layanan Google Cloud yang diperlukan agar Apigee hybrid dapat beroperasi, dan menetapkan peran IAM yang sesuai untuk akun layanan tersebut.
Prosedur ini menggunakan dua variabel lingkungan berikut yang ditentukan di Langkah 2: Download diagram Helm Apigee. Variabel ini bersifat opsional. Jika Anda tidak menentukannya, ganti jalur direktori yang sesuai untuk setiap variabel dalam contoh kode.
$APIGEE_HELM_CHARTS_HOME: Direktori tempat Anda mendownload diagram Helm Apigee, yang ditentukan di Langkah 2: Download diagram Helm Apigee.$PROJECT_ID: Project ID Google Cloud Anda, yang ditentukan di Bagian 1: Penyiapan Project dan Org--Langkah 1: Aktifkan API.
Lingkungan produksi vs. non-produksi
Panduan ini mengacu pada penginstalan Produksi ("Prod") dan Non-produksi ("Non-prod"). Penginstalan produksi disesuaikan untuk kapasitas penggunaan, penyimpanan, dan skalabilitas yang lebih besar. Penginstalan non-produksi menggunakan lebih sedikit resource dan terutama ditujukan untuk tujuan pembelajaran dan demonstrasi.
Saat membuat dan mengonfigurasi akun layanan untuk Apigee hybrid, Anda harus mengetahui jenis penginstalan yang Anda targetkan.
Untuk penginstalan produksi, sebaiknya buat akun layanan terpisah untuk setiap komponen hybrid Apigee. Misalnya, runtime, mart, metrics, mint, udca, dan sebagainya masing-masing mendapatkan akun layanan sendiri.
Untuk penginstalan non-prod, Anda dapat membuat satu akun layanan yang berlaku untuk semua komponen.
Untuk mempelajari lebih lanjut akun layanan yang digunakan oleh Apigee dan peran yang ditetapkan untuk akun tersebut, lihat Akun layanan dan peran yang digunakan oleh komponen hybrid.
Mengautentikasi akun layanan
Apigee hybrid mendukung tiga metode autentikasi akun layanan Google:
Workload Identity di AKS, EKS, atau GKE
Untuk penginstalan hybrid Apigee di GKE, Google Cloud menawarkan opsi yang disebut Workload Identity untuk mengautentikasi komponen runtime hybrid. Opsi ini tidak menggunakan file sertifikat yang didownload untuk mengautentikasi akun layanan. Sebagai gantinya, opsi ini mengaitkan akun layanan Google Cloud yang Anda buat pada langkah ini dengan akun layanan Kubernetes di cluster Kubernetes. Lihat Mengaktifkan Workload Identity di GKE atau Mengaktifkan Workload Identity Federation di AKS dan EKS
Buat akun layanan
Apigee Hybrid menggunakan akun layanan berikut:
Prod
| Akun layanan | Peran IAM | Diagram Helm Apigee |
|---|---|---|
apigee-cassandra |
Storage Object Admin | apigee-datastore |
apigee-logger |
Penulis Log | apigee-telemetry |
apigee-mart |
Apigee Connect Agent | apigee-org |
apigee-metrics |
Penulis Metrik Pemantauan | apigee-telemetry |
apigee-mint-task-scheduler(v1.14.3 dan yang lebih baru) |
Tidak memerlukan peran | apigee-org |
apigee-runtime |
Tidak memerlukan peran | apigee-env |
apigee-synchronizer |
Apigee Synchronizer Manager Storage Object Admin |
apigee-env |
apigee-udca |
Apigee Analytics Agent | apigee-orgapigee-env |
apigee-watcher |
Apigee Runtime Agent | apigee-org |
Non-prod
| Akun layanan | Peran IAM | Diagram Helm Apigee |
|---|---|---|
apigee-non-prod |
Admin Objek Penyimpanan Logs Writer Apigee Connect Agent Monitoring Metric Writer Apigee Synchronizer Manager Apigee Analytics Agent Apigee Runtime Agent |
apigee-datastoreapigee-telemetryapigee-orgapigee-env |
Alat create-service-account
Apigee menyediakan alat,
create-service-account, di direktori
apigee-operator/etc/tools:
$APIGEE_HELM_CHARTS_HOME/ └── apigee-operator/ └── etc/ └── tools/ └── create-service-account
Alat ini membuat akun layanan, menetapkan peran IAM ke setiap akun, dan mendownload file sertifikat dalam format JSON untuk setiap akun.
Pastikan Anda dapat menjalankan create-service-account. Jika Anda baru saja mendownload diagram, file create-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 harus membuat file dapat dieksekusi, misalnya dengan chmod di Linux, MacOS, atau UNIX atau di Windows Explorer atau dengan perintah icacls di Windows. Contoh:
chmod +x $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account
Buat akun layanan
Karena Helm tidak mendukung referensi file di luar direktori chart, Anda akan membuat setiap file sertifikat akun layanan di direktori chart untuk komponen hybrid yang sesuai.
Untuk langkah berikutnya, pilih apakah Anda mengonfigurasi penginstalan Produksi atau Non-produksi.
Prod
- Pastikan variabel lingkungan
PROJECT_IDditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_IDenvironment variable--project-id PROJECT_IDke perintahcreate-service-account. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOMEadalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat setiap akun layanan. Berikan respons dengany.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-cassandra \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-logger \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-mart \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-metrics \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-runtime \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-synchronizer \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-udca \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-udca \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-watcher \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-orgJika Anda mengaktifkan Monetisasi untuk Apigee Hybrid (Apigee Hybrid v1.14.3 dan yang lebih baru):
$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
- Salin file JSON
apigee-udcake direktori diagramapigee-env. ID ini diperlukan untuk operasi cakupan organisasi dan cakupan lingkungan.cp $APIGEE_HELM_CHARTS_HOME/apigee-org/$PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
- Pastikan file akun layanan dibuat di direktori yang benar dengan memeriksa
konten setiap direktori diagram. Output Anda akan terlihat seperti ini:
ls ./apigee-datastoreChart.yaml PROJECT_ID-apigee-cassandra.json templates values.yamlls ./apigee-telemetryChart.yaml PROJECT_ID-apigee-logger.json PROJECT_ID-apigee-metrics.json templates values.yamlls ./apigee-orgChart.yaml PROJECT_ID-apigee-udca.json templates PROJECT_ID-apigee-mart.json PROJECT_ID-apigee-mint-task-scheduler.json PROJECT_ID-apigee-watcher.json values.yamlls ./apigee-envChart.yaml PROJECT_ID-apigee-runtime.json PROJECT_ID-apigee-synchronizer.json my_project_id-apigee-udca.json templates values.yaml
Non-prod
- Pastikan variabel lingkungan
PROJECT_IDditentukan.echo $PROJECT_ID
create-service-account tool uses the value of the. Jika tidak ditentukan, tentukan dengan ID Project Google Cloud Anda atau tambahkan tandaPROJECT_IDenvironment variable--project-id PROJECT_IDke perintahcreate-service-account. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOMEadalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat setiap akun layanan. Berikan respons dengany.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
- Verifikasi nama file akun layanan yang dibuat di direktori
apigee-datastore:ls $APIGEE_HELM_CHARTS_HOME/apigee-datastore
Chart.yaml PROJECT_ID-apigee-non-prod.json templates values.yaml
- Salin file akun layanan ke direktori diagram lain yang akan memerlukannya:
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME $APIGEE_HELM_CHARTS_HOME/apigee-org/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME $APIGEE_HELM_CHARTS_HOME/apigee-env/
Untuk mengetahui informasi selengkapnya tentang akun layanan dan alat create-service-account, lihat:
Sekarang Anda telah membuat akun layanan dan menetapkan peran yang diperlukan oleh komponen hybrid Apigee. Selanjutnya, buat sertifikat TLS yang diperlukan oleh gateway traffic masuk hybrid.