Specificare gli override della configurazione
Il programma di installazione di Apigee Hybrid utilizza i valori predefiniti per molte impostazioni, ma alcune impostazioni non hanno valori predefiniti. Devi fornire i valori per queste impostazioni, come spiegato di seguito.
Per convenzione, gli override di configurazione vengono scritti in un file denominato overrides.yaml nella
directory $HYBRID_FILES/overrides.
- Crea un nuovo file denominato
overrides.yamlnella directory$HYBRID_FILES/overrides. Ad esempio:vi $HYBRID_FILES/overrides/overrides.yaml
Il file
overrides.yamlfornisce la configurazione per la tua installazione unica di Apigee hybrid. Il file di override in questo passaggio fornisce una configurazione di base per un'installazione ibrida del runtime con un footprint ridotto, adatta alla tua prima installazione. - In
overrides.yaml, aggiungi i valori delle proprietà obbligatorie, mostrati di seguito. Di seguito è riportata anche una descrizione dettagliata di ciascuna proprietà:Non di produzione
Assicurati che il file
overrides.yamlabbia la seguente struttura e sintassi. I valori in red, bold italics sono valori delle proprietà che devi fornire. Sono descritti nella tabella seguente.Esistono differenze tra le diverse piattaforme per la regione del progetto Google Cloud e la regione del cluster Kubernetes. Scegli la piattaforma su cui stai installando 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_FILEPATHProd
Assicurati che il file
overrides.yamlabbia la seguente struttura e sintassi. I valori in red, bold italics sono valori delle proprietà che devi fornire. Sono descritti nella tabella seguente.Per le installazioni negli ambienti di produzione, esamina i requisiti di archiviazione per il database Cassandra in Configurazione di Cassandra per la produzione.
Esistono differenze tra le diverse piattaforme per la regione del progetto Google Cloud e la regione del cluster Kubernetes. Scegli la piattaforma su cui stai installando 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"Esempio
L'esempio seguente mostra un file di override completato con valori delle proprietà di esempio aggiunti:
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 - Al termine, salva il file.
La tabella seguente descrive ciascuno dei valori delle proprietà che devi fornire nel file di override. Per ulteriori informazioni, consulta Riferimento alle proprietà di configurazione.
| Variabile | Descrizione |
|---|---|
| ANALYTICS_REGION | In GKE, devi impostare questo valore sulla stessa regione in cui è in esecuzione il cluster. In tutte le altre piattaforme, seleziona la regione di analisi
più vicina al tuo cluster che supporta Analytics (vedi la tabella nella
Parte 1, passaggio 2: crea un'organizzazione).
Questo è il valore che hai assegnato in precedenza alla variabile di ambiente
|
| GCP_PROJECT_ID | Identifica il progetto Google Cloud in cui
apigee-logger e apigee-metrics inviano
i propri dati. Questo è il valore assegnato alla variabile di ambiente
PROJECT_ID. |
| CLUSTER_NAME | Il nome del cluster Kubernetes. Questo è il valore assegnato alla
variabile di ambiente CLUSTER_NAME. |
| CLUSTER_LOCATION | La regione in cui è in esecuzione il cluster. Questa è la regione in cui
hai creato il cluster nel
passaggio 1: crea un cluster.
Questo è il valore che hai assegnato in precedenza alla variabile di ambiente
|
| ORG_NAME | L'ID della tua organizzazione Apigee hybrid. Questo è il valore
assegnato alla variabile di ambiente ORG_NAME. |
| UNIQUE_INSTANCE_IDENTIFIER | Una stringa univoca per identificare questa istanza. Può essere qualsiasi combinazione di lettere e numeri fino a 63 caratteri. Puoi creare più organizzazioni nello stesso cluster, ma
|
| ENVIRONMENT_GROUP_NAME | Il nome del gruppo di ambienti a cui sono assegnati i tuoi ambienti.
Questo è il gruppo che hai creato in
Configurazione del progetto e dell'organizzazione - Passaggio 3: crea un gruppo di ambienti. Questo
è il valore assegnato alla variabile di ambiente ENV_GROUP.
|
| CERT_NAME KEY_NAME |
Inserisci il nome dei file della chiave e del certificato TLS autofirmati
che hai generato in precedenza nel
passaggio 5: crea i certificati TLS. Questi file devono trovarsi nella
directory base_directory/hybrid-files/certs.
Ad esempio:
sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key |
| INGRESS_NAME | Il nome del gateway in entrata Apigee per il deployment. Può essere qualsiasi nome che soddisfi
i seguenti requisiti:
Consulta |
| SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE | (Facoltativo) Si tratta di una coppia chiave-valore che fornisce
annotazioni per il servizio di ingresso predefinito. Le annotazioni vengono utilizzate dalla tua piattaforma cloud per configurare l'installazione ibrida, ad esempio impostando il tipo di bilanciatore del carico su interno o esterno.
Le annotazioni variano da piattaforma a piattaforma. Consulta la documentazione della piattaforma per le annotazioni richieste e suggerite. |
| SVC_LOAD_BALANCER_IP | (Facoltativo) Sulle piattaforme che supportano la specifica dell'indirizzo IP del bilanciatore del carico, questo verrà creato con questo indirizzo IP. Sulle piattaforme che non consentono di specificare l'IP del bilanciatore del carico, questa proprietà viene ignorata. |
| ENVIRONMENT_NAME | Utilizza lo stesso nome che hai utilizzato quando hai creato un ambiente nell'interfaccia utente, come spiegato in Configurazione del progetto e dell'organizzazione - Passaggio 3: crea un gruppo di ambienti. |
| *_SERVICE_ACCOUNT_FILEPATH | Il percorso e il nome file dell'account dei file JSON dell'account di servizio nella directory service-accounts/. I nomi devono includere il percorso del file
dell'account di servizio. Può trattarsi di un percorso completo o del percorso relativo alla directory
hybrid-files/. Se includi un percorso relativo, devi chiamare
apigeectl, il comando per applicare questa configurazione, dalla directory
hybrid-files/.
Per gli ambienti non di produzione, il nome del singolo account di servizio è
Per gli ambienti di produzione, il nome del file della chiave dell'account di servizio
che hai generato con lo strumento Puoi visualizzare l'elenco dei file dei account di servizio nella directory
I nomi predefiniti dei service account dell'ambiente di produzione sono:
|
Riepilogo
Il file di configurazione indica a Kubernetes come eseguire il deployment dei componenti ibridi in un cluster. Successivamente, attiverai l'accesso al sincronizzatore in modo che i piani di gestione e runtime di Apigee possano comunicare.
1 2 3 4 5 6 (AVANTI) Passaggio 7: attiva l'accesso a Synchronizer 8 9 10