Menentukan penggantian konfigurasi
Penginstal hybrid Apigee menggunakan setelan default untuk banyak setelan; Namun, ada adalah beberapa pengaturan yang tidak memiliki {i>default<i}. Anda harus memberikan nilai untuk pengaturan ini, seperti yang dijelaskan selanjutnya.
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
. Contoh:vi $HYBRID_FILES/overrides/overrides.yaml
overrides.yaml
menyediakan konfigurasi untuk instalasi Apigee Hybrid yang unik. File yang diganti di langkah ini menyediakan konfigurasi dasar untuk hibrida jejak kecil instalasi {i>runtime<i}, yang cocok untuk instalasi pertama Anda. - Di
overrides.yaml
, tambahkan properti yang diperlukan nilai tersebut, seperti yang ditampilkan di bawah ini. Deskripsi mendetail tentang setiap properti juga diberikan di bawah:Non-produk
Pastikan file
overrides.yaml
memiliki mengikuti struktur dan {i>syntax<i}. Nilai dalam red, bold italics adalah nilai properti yang harus Anda berikan. Hal tersebut dijelaskan dalam tabel di bawah ini.Ada perbedaan di antara berbagai platform untuk Region project Google Cloud dan region cluster Kubernetes. Pilih 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 # You do not need to set Annotations or LoadBalancerIP if you are creating your own Kubernetes # service for ingress deployment. In prod, it's recommended to create your own Kubernetes service. # See: Expose Apigee ingress gateway. 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
Prod
Pastikan file
overrides.yaml
memiliki mengikuti struktur dan {i>syntax<i}. Nilai dalam red, bold italics adalah nilai properti yang harus Anda berikan. Hal tersebut dijelaskan dalam tabel di bawah ini.Untuk penginstalan di lingkungan produksi, lihat persyaratan penyimpanan untuk Database Cassandra di Mengonfigurasi Cassandra untuk produksi.
Ada perbedaan di antara berbagai platform untuk Region project Google Cloud dan region cluster Kubernetes. Pilih 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 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 ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 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 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 beserta 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 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ao: args: disableIstioConfigInAPIServer: true 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 file.
Tabel berikut menjelaskan setiap nilai properti yang harus Anda berikan di file pengganti. Untuk informasi selengkapnya, lihat Referensi properti konfigurasi.
Variabel | Deskripsi |
---|---|
ANALYTICS_REGION | Di GKE, Anda harus menetapkan nilai ini ke region yang sama dengan tempat cluster
sedang berjalan. Di semua platform lainnya, pilih analisis yang paling mendekati
ke cluster Anda yang memiliki dukungan Analytics (lihat tabel di
Bagian 1, Langkah 2: Buat organisasi.
Ini adalah nilai yang Anda tetapkan ke variabel lingkungan
|
GCP_PROJECT_ID | Mengidentifikasi project Google Cloud tempat
apigee-logger dan push apigee-metrics
data mereka. 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 dijalankan. Ini adalah wilayah tempat
Anda membuat cluster di
Langkah 1: Buat cluster.
Ini adalah nilai yang Anda tetapkan ke variabel lingkungan
|
ORG_NAME | ID organisasi hybrid Apigee Anda. Ini adalah nilai
ditetapkan ke variabel lingkungan ORG_NAME . |
UNIQUE_INSTANCE_IDENTIFIER | String unik untuk mengidentifikasi instance ini. Data 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 dalam
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. Bisa saja berupa nama
apa pun yang sesuai
persyaratan berikut:
Lihat |
SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE | (Opsional). Ini adalah pasangan nilai kunci yang memberikan
pada anotasi layanan masuk default Anda. Anotasi digunakan oleh
platform cloud Anda untuk membantu mengonfigurasi
misalnya menyetel jenis load balancer ke
internal atau eksternal.
Anotasi bervariasi dari satu platform ke platform yang lain. Lihat platform Anda untuk anotasi yang diperlukan dan disarankan. |
SVC_LOAD_BALANCER_IP | (Opsional). Di platform yang mendukung penentuan load balancer dengan alamat IP, load balancer akan dibuat dengan alamat IP ini. Pada platform yang tidak mengizinkan Anda untuk menentukan IP load balancer, properti ini diabaikan. |
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 | Jalur dan akun nama file JSON akun layanan di
Direktori service-accounts/ . Nama harus menyertakan jalur ke
akun layanan Google Cloud. Ini bisa berupa jalur lengkap, atau jalur yang relatif terhadap
Direktori hybrid-files/ . Jika Anda menyertakan jalur relatif, Anda harus memanggil
apigeectl , perintah untuk menerapkan konfigurasi ini, dari
Direktori hybrid-files/ .
Untuk lingkungan non-produksi, nama akun layanan tunggal
Untuk lingkungan produksi, nama kunci akun layanan
file yang Anda buat dengan Anda dapat melihat daftar file akun layanan di
Direktori Nama default akun layanan lingkungan produksi adalah:
|
Ringkasan
File konfigurasi memberi tahu Kubernetes cara men-deploy hybrid komponen ke sebuah cluster. Selanjutnya, Anda akan mengaktifkan akses sinkronisasi sehingga Bidang manajemen dan runtime Apigee akan dapat berkomunikasi.
1 2 3 4 5 6 (BERIKUTNYA) Langkah 7: Aktifkan akses Sinkronisasi 8 9 10