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 tersebut.
Prosedur ini menggunakan dua variabel lingkungan berikut yang ditentukan di Langkah 2: Mendownload 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: Mendownload diagram Helm Apigee.$PROJECT_ID
: Project ID Google Cloud Anda, yang ditentukan di Bagian 1: Penyiapan Project dan Organisasi--Langkah 1: Mengaktifkan 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 untuk tujuan pembelajaran dan demonstrasi.
Saat membuat dan mengonfigurasi akun layanan untuk Apigee hybrid, Anda harus mengetahui jenis penginstalan yang ditargetkan.
Untuk penginstalan produksi, sebaiknya buat akun layanan terpisah untuk setiap komponen campuran Apigee. Misalnya, runtime, mart, metrik, udca, dan sebagainya masing-masing mendapatkan akun layanannya 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, lihat Akun layanan dan peran yang digunakan oleh komponen campuran.
Mengautentikasi akun layanan
Apigee hybrid mendukung tiga metode autentikasi akun layanan Google:
Workload Identity di AKS, EKS, atau GKE
Untuk penginstalan hibrida Apigee di GKE, Google Cloud menawarkan opsi yang disebut Workload Identity untuk mengautentikasi komponen runtime hibrida. 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
Membuat 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-runtime |
Tidak ada peran yang diperlukan | apigee-env |
apigee-synchronizer |
Apigee Synchronizer Manager | apigee-env |
apigee-udca |
Apigee Analytics Agent | apigee-org apigee-env |
apigee-watcher |
Apigee Runtime Agent | apigee-org |
Non-prod
Akun layanan | Peran IAM | Diagram Helm Apigee |
---|---|---|
apigee-non-prod |
Storage Object Admin Logs Writer Apigee Connect Agent Monitoring Metric Writer Apigee Synchronizer Manager Apigee Analytics Agent Apigee Runtime Agent |
apigee-datastore apigee-telemetry apigee-org apigee-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.
Verifikasi bahwa 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 bertuliskan 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
Membuat akun layanan
Karena Helm tidak mendukung file referensi di luar direktori diagram, Anda akan membuat setiap file sertifikat akun layanan di direktori diagram untuk komponen campuran yang sesuai.
Untuk langkah berikutnya, pilih apakah Anda mengonfigurasi penginstalan Produksi atau Non-produksi.
Prod
- Pastikan variabel lingkungan
PROJECT_ID
ditentukan.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_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOME
adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat setiap akun layanan. 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-org
- Salin file JSON
apigee-udca
ke direktori diagramapigee-env
. Hal ini diperlukan untuk operasi cakupan org dan cakupan env.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 direktori setiap diagram. Output Anda akan terlihat seperti:
ls ./apigee-datastore
Chart.yaml PROJECT_ID-apigee-cassandra.json templates values.yamlls ./apigee-telemetry
Chart.yaml PROJECT_ID-apigee-logger.json PROJECT_ID-apigee-metrics.json templates values.yamlls ./apigee-org
Chart.yaml PROJECT_ID-apigee-udca.json templates PROJECT_ID-apigee-mart.json PROJECT_ID-apigee-watcher.json values.yamlls ./apigee-env
Chart.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_ID
ditentukan.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_ID
environment variable--project-id PROJECT_ID
ke perintahcreate-service-account
. -
Buat akun layanan dengan perintah berikut, dengan
$APIGEE_HELM_CHARTS_HOME
adalah jalur tempat Anda mendownload diagram Helm Apigee. Anda mungkin diminta untuk membuat setiap akun layanan. 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 perlu merujuk ke file tersebut:
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 hibrida Apigee. Selanjutnya, buat sertifikat TLS yang diperlukan oleh gateway traffic masuk hybrid.