Menentukan penggantian konfigurasi
Penginstal hybrid Apigee menggunakan default untuk banyak setelan; namun, ada beberapa setelan yang tidak memiliki default. Anda harus memberikan nilai untuk setelan ini, seperti yang akan dijelaskan selanjutnya.
Sebelum memulai
Sebaiknya tinjau skenario berikut untuk menentukan apakah Anda ingin mengonfigurasi cluster untuk skenario tersebut atau tidak. Konfigurasi ini bersifat opsional.
- Jika Anda berencana menginstal sistem hybrid di beberapa region, baca Deployment multi-region sebelum melanjutkan.
- Apigee Hybrid memberikan sandi default untuk pengguna Cassandra; namun, sebaiknya Anda mengubah sandi pengguna default. Lihat Mengonfigurasi TLS untuk Cassandra untuk mengetahui detailnya.
- Jika Anda ingin mengonfigurasi setelan penyimpanan dan heap untuk Cassandra, lihat Mengonfigurasi setelan penyimpanan dan heap.
- Untuk skenario penginstalan produksi, konfigurasikan penyimpanan persistent solid state disk (SSD) untuk Cassandra. Kami tidak mendukung penggunaan SSD lokal untuk Apigee Hybrid. Untuk mengetahui detailnya, lihat Menambahkan penyimpanan SSD untuk deployment produksi.
Mengonfigurasi cluster
Berdasarkan konvensi, penggantian konfigurasi ditulis dalam file bernama overrides.yaml
di
direktori $HYBRID_FILES/overrides
Anda.
- Buat file baru bernama
overrides.yaml
di direktori$HYBRID_FILES/overrides
Anda. Contoh:vi $HYBRID_FILES/overrides/overrides.yaml
overrides.yaml
menyediakan konfigurasi untuk penginstalan hybrid Apigee unik Anda. File penggantian dalam langkah ini memberikan konfigurasi dasar untuk penginstalan runtime hybrid jejak kecil, yang cocok untuk penginstalan pertama Anda. - Di
overrides.yaml
, tambahkan nilai properti yang diperlukan, yang ditunjukkan di bawah. Deskripsi terperinci dari setiap properti juga diberikan di bawah.Jika Anda menginstal Apigee Hybrid di GKE dan berencana menggunakan Workload Identity untuk mengautentikasi komponen hybrid, pilih tab GKE - Workload Identity untuk mengonfigurasi file
overrides.yaml
Anda.Untuk semua penginstalan lainnya, pilih tab untuk lingkungan non-produksi, Non-produksi, atau produksi, Prod, tergantung pilihan Anda di Langkah 4: Buat akun layanan dan kredensial.
Untuk penginstalan di lingkungan produksi, lihat persyaratan penyimpanan untuk database Cassandra dalam Mengonfigurasi Cassandra untuk produksi.
GKE - Workload Identity
Pastikan file
overrides.yaml
memiliki struktur dan sintaksis berikut. Nilai di red, bold italics adalah nilai properti yang harus Anda berikan. Peristiwa tersebut dijelaskan dalam tabel di bawah ini.Jika menginstal Apigee Hybrid di GKE, Anda memiliki alternatif untuk mengautentikasi dan membuat permintaan ke Google API, yaitu Workload Identity. Untuk ringkasan Workload Identity, lihat:
- Memperkenalkan Workload Identity: Autentikasi yang lebih baik untuk aplikasi GKE Anda
- Menggunakan Workload Identity
Untuk menggunakan Workload Identity dengan Apigee Hybrid di GKE, gunakan template ini lalu ikuti langkah-langkah di Langkah 8: Instal hybrid runtime untuk membuat akun layanan Kubernetes dan mengaitkannya dengan akun layanan Google yang Anda buat di Langkah 4: Buat akun layanan dan kredensial.
gcp: region: ANALYTICS_REGION projectID: GCP_PROJECT_ID workloadIdentityEnabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME instanceID: "UNIQUE_INSTANCE_IDENTIFIER" cassandra: hostNetwork: false # false for all GKE installations. # See Multi-region deployment: Prerequisites replicaCount: 3 # Use 1 for demo installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. backup: enabled: true # Set to true for initial installation. # This triggers apigeectl to create the apigee-cassandra-backup Kubernetes service account. # See Cassandra backup overview for instructions on using cassandra.backup. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional envs: - name: ENVIRONMENT_NAME logger: enabled: false # Set to false for all GKE installations.
Non-produksi
Pastikan file
overrides.yaml
memiliki struktur dan sintaksis berikut. Nilai di red, bold italics adalah nilai properti yang harus Anda berikan. Peristiwa tersebut dijelaskan dalam tabel di bawah ini.Terdapat perbedaan antara berbagai platform untuk region project Google Cloud dan region cluster Kubernetes. Pilih platform tempat Anda menginstal Apigee Hybrid.
gcp: region: ANALYTICS_REGION projectID: GCP_PROJECT_ID k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME instanceID: "UNIQUE_INSTANCE_IDENTIFIER" cassandra: replicaCount: 1 # Use 1 for non-prod or "demo" installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. hostNetwork: false # Set to false for single region installations and multi-region installations # with connectivity between pods in different clusters, for example GKE installations. # Set to true for multi-region installations with no communication between # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. # See Multi-region deployment: Prerequisites virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional envs: - name: ENVIRONMENT_NAME serviceAccountPaths: synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH logger: enabled: false # Set to false to disable logger for GKE installations. # Set to true for all platforms other than GKE. # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
Produksi
Pastikan file
overrides.yaml
memiliki struktur dan sintaksis berikut. Nilai di red, bold italics adalah nilai properti yang harus Anda berikan. Peristiwa tersebut dijelaskan dalam tabel di bawah ini.Terdapat perbedaan antara berbagai platform untuk region project Google Cloud dan region cluster Kubernetes. Pilih platform tempat Anda menginstal Apigee Hybrid.
gcp: region: ANALYTICS_REGION projectID: GCP_PROJECT_ID k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME instanceID: "UNIQUE_INSTANCE_IDENTIFIER" cassandra: hostNetwork: false # Set to false for single region installations and multi-region installations # with connectivity between pods in different clusters, for example GKE installations. # Set to true for multi-region installations with no communication between # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. # See Multi-region deployment: Prerequisites replicaCount: 3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: capacity: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. See Known issue 243167389. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE envs: - name: ENVIRONMENT_NAME serviceAccountPaths: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-synchronizer.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-runtime.json" mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-watcher.json" logger: enabled: false # Set to false to disable logger for GKE installations. # Set to true for all platforms other than GKE. # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-logger.json"
Contoh
Contoh berikut menunjukkan file penggantian yang telah selesai dengan contoh nilai properti yang ditambahkan:
gcp: region: us-central1 projectID: hybrid-example k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example instanceID: "my_hybrid_example" cassandra: hostNetwork: false replicaCount: 3 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-synchronizer.json udca: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json runtime: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms. serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, LOGGER_SERVICE_ACCOUNT_NAME.json
- Setelah selesai, simpan {i>file<i}.
Tabel berikut menjelaskan setiap nilai properti yang harus Anda berikan dalam file penggantian. Untuk mengetahui informasi selengkapnya, lihat Referensi properti konfigurasi.
Variabel | Deskripsi |
---|---|
ANALYTICS_REGION | Di GKE, Anda harus menetapkan nilai ini ke region yang sama dengan tempat cluster dijalankan. Di semua platform lainnya, pilih region analisis
yang terdekat dengan cluster Anda yang memiliki dukungan Analytics (lihat tabel di
Bagian 1, Langkah 2: Membuat organisasi.
Ini adalah nilai yang Anda tetapkan ke variabel lingkungan |
GCP_PROJECT_ID | Mengidentifikasi project Google Cloud tempat
apigee-logger dan apigee-metrics mengirim
datanya. Ini adalah nilai yang ditetapkan ke variabel lingkungan
PROJECT_ID . |
CLUSTER_NAME | Nama cluster Kubernetes Anda. Ini adalah nilai yang ditetapkan ke
variabel lingkungan CLUSTER_NAME . |
CLUSTER_LOCATION | Region tempat cluster berjalan. Ini adalah region tempat Anda membuat cluster pada
Langkah 1: Buat cluster.
Ini adalah nilai yang Anda tetapkan ke variabel lingkungan |
ORG_NAME | ID organisasi hybrid Apigee Anda. Ini adalah nilai yang ditetapkan ke variabel lingkungan ORG_NAME . |
UNIQUE_INSTANCE_IDENTIFIER | String unik untuk mengidentifikasi instance ini. Nama ini dapat berupa kombinasi huruf dan angka dengan panjang maksimal 63 karakter. Anda dapat membuat beberapa organisasi di cluster yang sama, tetapi |
ENVIRONMENT_GROUP_NAME | Nama grup lingkungan yang ditetapkan untuk lingkungan Anda.
Ini adalah grup yang Anda buat di
Penyiapan project dan organisasi - Langkah 3: Buat grup lingkungan. Ini adalah nilai yang ditetapkan ke variabel lingkungan ENV_GROUP .
|
CERT_NAME KEY_NAME |
Masukkan nama file sertifikat dan kunci TLS yang ditandatangani sendiri
yang Anda buat sebelumnya di
Langkah 5: Buat sertifikat TLS. File ini harus berada di
direktori base_directory/hybrid-files/certs .
Contoh:
sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key |
INGRESS_NAME | Nama gateway masuk Apigee untuk deployment Anda. Nama ini dapat berupa nama apa pun yang memenuhi persyaratan berikut:
Lihat |
SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE | (Opsional). Ini adalah pasangan nilai kunci yang menyediakan anotasi untuk layanan masuk default Anda. Anotasi digunakan oleh platform cloud Anda untuk membantu mengonfigurasi penginstalan hybrid, misalnya menetapkan jenis load balancer ke internal atau eksternal.
Anotasi bervariasi dari satu platform ke platform lain. Lihat dokumentasi platform Anda untuk anotasi yang diperlukan dan disarankan. Jadikan sebagai komentar atau hapus bagian ini jika Anda tidak menggunakannya. |
SVC_LOAD_BALANCER_IP | (Opsional). Alamat IP yang telah dicadangkan untuk load balancer.
Pada platform yang mendukung penentuan alamat IP load balancer, load balancer akan dibuat dengan alamat IP ini.
Pada platform yang tidak mengizinkan Anda menentukan IP load balancer, properti ini akan diabaikan.
Jadikan sebagai komentar atau hapus bagian ini jika Anda tidak menggunakannya. |
ENVIRONMENT_NAME | Gunakan nama yang sama dengan yang Anda gunakan saat membuat lingkungan di UI, seperti yang dijelaskan dalam Penyiapan project dan organisasi - Langkah 3: Buat grup lingkungan. |
*_SERVICE_ACCOUNT_FILEPATH | Akun jalur dan nama file dari file JSON akun layanan di
direktori service-accounts/ Anda. Nama harus menyertakan jalur ke file akun layanan. Jalur ini dapat berupa jalur lengkap, atau jalur yang terkait dengan direktori
hybrid-files/ Anda. Jika menyertakan jalur relatif, Anda harus memanggil
apigeectl , yang merupakan perintah untuk menerapkan konfigurasi ini, dari direktori
hybrid-files/ Anda.
Untuk lingkungan non-produksi, nama akun layanan tunggal secara default adalah
Untuk lingkungan produksi, nama file kunci akun layanan yang Anda buat dengan alat Anda dapat melihat daftar file akun layanan di direktori
Nama default akun layanan lingkungan produksi adalah:
|
Ringkasan
File konfigurasi ini memberi tahu Kubernetes cara men-deploy komponen hybrid ke cluster. Selanjutnya, Anda akan mengaktifkan akses sinkronisasi sehingga runtime Apigee dan bidang pengelolaan dapat berkomunikasi.