Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee Hybrid.
Lihat dokumentasi
Apigee Edge.
Halaman ini menjelaskan langkah-langkah yang diperlukan untuk menginstal dan mengonfigurasi Operator APIM Apigee untuk Kubernetes. Untuk mempelajari lebih lanjut manfaat penggunaan APIM Operator, lihat Ringkasan Apigee APIM Operator untuk Kubernetes.
Sebelum memulai
Sebelum mulai menginstal Operator APIM, pastikan Anda memiliki peran dan izin yang diperlukan untuk menyelesaikan langkah-langkahnya dan Anda telah menyelesaikan tugas prasyarat yang dijelaskan dalam Operator APIM: Sebelum memulai.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menginstal APIM Operator, minta administrator Anda untuk memberi Anda peran IAM berikut di organisasi:
-
Buat dan kelola cluster GKE:
Admin Kontainer (
roles/container.admin
) -
Membuat dan mengelola akun layanan:
Service Account Admin (
roles/iam.serviceAccountAdmin
) -
Membuat dan mengelola ekstensi layanan:
Admin Ekstensi Layanan (
roles/networkservices.serviceExtensionsAdmin
) -
Membuat dan mengelola grup endpoint jaringan (NEG):
Admin Instance Compute (
roles/compute.instanceAdmin
) -
Membuat dan mengelola layanan backend:
Compute Load Balancer Admin (
roles/compute.loadBalancerAdmin
) -
Membuat dan mengelola resource Apigee:
Apigee Admin (
roles/apigee.admin
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.
Menginstal dan mengonfigurasi Operator APIM
Bagian berikut menjelaskan langkah-langkah yang diperlukan untuk menginstal dan mengonfigurasi Operator APIM:
- Tetapkan variabel lingkungan.
- Aktifkan API yang diperlukan.
- Mengambil dan mengonfigurasi kredensial.
- Instal APIM Operator.
- Buat identitas workload.
- Buat lingkungan Apigee.
- Verifikasi penyiapan GKE Gateway.
Menetapkan variabel lingkungan
Di project Google Cloud yang berisi instance Apigee, gunakan perintah berikut untuk menetapkan variabel lingkungan:
export PROJECT_ID=PROJECT_ID
export CLUSTER_NAME=CLUSTER_NAME
export REGION=REGION
export APIGEE_ORG=APIGEE_ORG
Dengan:
PROJECT_ID
adalah ID project dengan instance Apigee Anda.CLUSTER_NAME
adalah nama cluster GKE Anda.REGION
adalah region cluster GKE Anda.APIGEE_ORG
ditetapkan ke nilai yang sama denganPROJECT_ID
.
Untuk mengonfirmasi bahwa variabel lingkungan telah ditetapkan dengan benar, jalankan perintah berikut:
echo $PROJECT_ID $CLUSTER_NAME $REGION $APIGEE_ORG
Mengaktifkan API yang diperlukan
Operator APIM memerlukan akses ke API berikut:
Nama | Judul |
---|---|
apigee.googleapis.com |
Apigee API |
compute.googleapis.com |
Compute Engine API |
networkservices.googleapis.com |
Network Services API |
container.googleapis.com |
Google Kubernetes Engine API |
Gunakan perintah berikut untuk mengonfirmasi bahwa API yang diperlukan telah diaktifkan:
gcloud services list --project=$PROJECT_ID
Jika Anda tidak melihat API yang diperlukan tercantum dalam output perintah, aktifkan API tersebut:
gcloud services enable apigee.googleapis.com --project=$PROJECT_ID
gcloud services enable compute.googleapis.com --project=$PROJECT_ID
gcloud services enable networkservices.googleapis.com --project=$PROJECT_ID
gcloud services enable container.googleapis.com --project=$PROJECT_ID
Mengambil dan mengonfigurasi kredensial
Ambil kredensial cluster Anda dan buat akun layanan untuk terhubung ke layanan Google Cloud :
Dapatkan kredensial cluster menggunakan perintah berikut:
gcloud container clusters get-credentials $CLUSTER_NAME --location=$REGION --project=$PROJECT_ID
Kredensial ini digunakan untuk berkomunikasi dengan cluster GKE yang dibuat pada langkah prasyarat.
- Siapkan Kredensial Akun Layanan untuk terhubung ke layanan Google Cloud :
gcloud iam service-accounts create apigee-apim-gsa
- Berikan peran dan izin yang diperlukan ke akun layanan yang Anda buat menggunakan perintah berikut:
- Peran Admin Apigee: Diperlukan untuk membuat dan mengelola resource Apigee.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:apigee-apim-gsa@$PROJECT_ID." \ --role "roles/apigee.admin"
- Peran admin ekstensi layanan: Diperlukan untuk membuat dan mengelola ekstensi layanan.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:apigee-apim-gsa@$PROJECT_ID." \ --role "roles/networkservices.serviceExtensionsAdmin"
- Peran admin jaringan: Diperlukan untuk mengelola akses ke Apigee menggunakan ekstensi layanan.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:apigee-apim-gsa@$PROJECT_ID." \ --role "roles/compute.networkAdmin"
- Peran admin load balancer: Diperlukan untuk mengelola akses antara grup endpoint jaringan (NEG)
dan layanan backend.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:apigee-apim-gsa@$PROJECT_ID." \ --role "roles/compute.loadBalancerAdmin"
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:apigee-apim-gsa@$PROJECT_ID." \ --role "roles/iam.workloadIdentityUser"
- Peran Admin Apigee: Diperlukan untuk membuat dan mengelola resource Apigee.
Membuat workload identity
Penginstalan helm
APIM Operator di langkah berikutnya akan membuat akun layanan Kubernetes (KSA) yang diperlukan bernama
apim-ksa
di namespace apim
. Saat dibuat, KSA berisi anotasi yang diperlukan
untuk dikaitkan dengan identitas workload yang digunakan oleh APIM Operator untuk mengakses resource Apigee
dan Service Networking yang diperlukan.
Untuk membuat workload identity, gunakan perintah berikut:
gcloud iam service-accounts add-iam-policy-binding apigee-apim-gsa@$PROJECT_ID. --role roles/iam.workloadIdentityUser --member "serviceAccount:$PROJECT_ID.svc.id.goog[apim/apim-ksa]"
Perintah ini mengikat KSA dengan akun layanan Google yang Anda buat
di Mengambil dan mengonfigurasi kredensial dan menetapkan peran workloadIdentityUser
.
Mungkin perlu waktu beberapa menit, bahkan hingga 7 menit atau lebih, agar perubahan identitas beban kerja diterapkan di seluruh sistem.
Untuk mengonfirmasi bahwa workload identity telah dibuat, gunakan perintah berikut:
gcloud config set project $PROJECT_ID
kubectl run --rm -it --image google/cloud-sdk:slim \ --namespace apim workload-identity-test \ --overrides='{ "spec": { "serviceAccountName": "apim-ksa" } }' \ -- gcloud auth list
Output-nya akan terlihat seperti berikut:
Credentialed Accounts ACTIVE ACCOUNT * GSA@$PROJECT_ID.
Instal Definisi Resource Kustom (CRD) dan Operator APIM
Instal definisi resource kustom (CRD) Kubernetes dan Operator APIM:
- Buat namespace untuk APIM Operator:
kubectl create ns apim
- Instal definisi resource kustom (CRD) APIM Operator:
helm install apigee-apim-crds -n apim \ oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-crds \ --version 1.0.0 \ --atomic
- Instal Operator APIM:
helm install apigee-apim-operator -n apim \ oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-helm \ --version 1.0.0 \ --set projectId=$PROJECT_ID \ --set serviceAccount=apigee-apim-gsa@$PROJECT_ID. \ --set apigeeOrg=$PROJECT_ID \ --set generateEnv=TRUE \ --atomic
- Pastikan penginstalan berhasil diselesaikan:
helm list -n apim
Output-nya akan terlihat seperti berikut:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION apigee-apim-crds apim 1 2025-02-01 00:17:03.399810627 +0000 UTC deployed apigee-apim-operator-crds-1.0.0 1.0.0 apigee-apim-operator apim 1 2025-02-01 00:15:00.362829981 +0000 UTC deployed apigee-apim-operator-helm-1.0.0 1.0.0
- Konfirmasi bahwa KSA dibuat dengan anotasi yang diperlukan:
kubectl describe serviceaccounts apim-ksa -n apim
Output-nya akan terlihat seperti berikut:
Name: apim-ksa Namespace: apim ... Annotations: iam.gke.io/gcp-service-account: apigee-apim-gsa@my-project-id.
- Pastikan operator APIM telah aktif dan berjalan di pod cluster:
kubectl get pods -n apim
Output-nya akan terlihat seperti berikut:
NAME READY STATUS RESTARTS AGE apigee-apim-operator-8559d4994b-h55fl 1/1 Running 0 8m34s
Jika
STATUS
bukanRunning
, atauREADY
tidak menampilkan1/1
, lihat Memecahkan masalah Operator APIM untuk memecahkan masalah penginstalan.
Membuat lingkungan Apigee
Jika Anda menginstal APIM Operator menggunakan generateEnv=TRUE
pada langkah sebelumnya,
operator akan membuat lingkungan Apigee baru saat kebijakan Ekstensi APIM dibuat dan diterapkan. Nama lingkungan baru akan memiliki awalan: apim-enabled-dep-env
.
Jika Anda menginstal APIM Operator dengan generateEnv=FALSE
, Anda harus membuat lingkungan Apigee baru:
- Tetapkan
TOKEN
yang diperlukan untuk perintahcurl
:export TOKEN=$(gcloud auth print-access-token)
- Buat lingkungan menggunakan salah satu perintah berikut:
- Untuk organisasi yang berlangganan pada tahun 2021:
curl -X POST "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments" -H \ "Authorization: Bearer $TOKEN" -H "content-type:application/json" \ -d '{ "name": "ENV_NAME", "displayName": "ENV_NAME", "state": "ACTIVE", "deploymentType": "PROXY", "apiProxyType": "PROGRAMMABLE", "properties": { "property": [ { "name": "apigee-service-extension-enabled", "value": "true" } ] } }'
Dengan
ENV_NAME
adalah nama lingkungan yang akan dibuat. - Untuk organisasi Berlangganan 2024 dan Bayar sesuai penggunaan:
curl -i -X POST -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments" -H "Content-Type:application/json" -d '{ "name": "ENV_NAME", "displayName": "ENV_NAME", "state": "ACTIVE", "deploymentType": "PROXY", "apiProxyType": "PROGRAMMABLE", "type" : "COMPREHENSIVE", "properties": { "property": [ { "name": "apigee-service-extension-enabled", "value": "true" } ] } }'
Dengan:
ENV_NAME
adalah nama lingkungan yang akan dibuat.ENV_TYPE
adalah jenis lingkungan yang akan dibuat. Misalnya,INTERMEDIATE
atauCOMPREHENSIVE
.
Untuk memeriksa apakah lingkungan berhasil dibuat:
curl -i -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments"
- Untuk organisasi yang berlangganan pada tahun 2021:
- Lampirkan lingkungan ke instance Apigee Anda:
curl -i -X POST -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/instances/INSTANCE_NAME/attachments" \ -H "Content-Type:application/json" -d '{"environment": "ENV_NAME"}'
Dengan:
INSTANCE_NAME
adalah nama instance Apigee Anda.ENV_NAME
adalah nama lingkungan yang Anda buat di langkah sebelumnya.
Untuk memeriksa status operasi lampiran lingkungan:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/operations/OPERATION_ID"
Dengan
OPERATION_ID
adalah ID operasi lampiran lingkungan.
Memecahkan masalah
Jika Anda mengalami masalah saat menginstal APIM Operator, lihat Memecahkan Masalah APIM Operator untuk mengetahui solusi atas error umum.