Specifica gli override della configurazione
Il programma di installazione di Apigee hybrid utilizza i valori predefiniti per molte impostazioni. Tuttavia, alcune impostazioni non hanno valori predefiniti. Devi fornire i valori per queste impostazioni, come spiegato di seguito.
Prima di iniziare
Ti consigliamo di esaminare gli scenari seguenti per determinare se vuoi configurare il tuo cluster. Queste configurazioni sono facoltative.
- Se prevedi di installare un ambiente ibrido in più regioni, leggi Deployment in più regioni prima di continuare.
- Apigee hybrid fornisce password predefinite per gli utenti Cassandra. Ti consigliamo di modificare le password utente predefinite. Per maggiori dettagli, consulta Configurazione di TLS per Cassandra.
- Se vuoi configurare le impostazioni di archiviazione e heap per Cassandra, consulta Configurare le impostazioni di archiviazione e heap.
- Come descritto nella Parte 1: configurazione di progetti e organizzazione - Passaggio 1: abilita le API, per scenari di installazione in produzione, configura lo spazio di archiviazione su disco a stato solido permanente (SSD) per Cassandra. Apigee non supporta l'utilizzo di SSD locali per Apigee hybrid. Per maggiori dettagli, consulta Aggiungere spazio di archiviazione SSD per i deployment di produzione.
Configura il cluster
Per convenzione, gli override della configurazione vengono scritti in un file denominato overrides.yaml
generalmente archiviato nella directory $APIGEE_HELM_CHARTS_HOME
.
- Crea un nuovo file denominato
overrides.yaml
nella directory$APIGEE_HELM_CHARTS_HOME
.overrides.yaml
fornisce la configurazione per la tua installazione ibrida univoca di Apigee. Il file di override in questo passaggio fornisce una configurazione di base per un'installazione del runtime ibrido di dimensioni ridotte, adatta alla tua prima installazione. - In
overrides.yaml
, aggiungi i valori obbligatori della proprietà, mostrati di seguito. Di seguito viene fornita una descrizione dettagliata di ogni struttura.Seleziona la scheda relativa all'installazione, alla produzione, alla produzione o alle installazioni non di produzione (installazioni demo, di valutazione o proof of concept), Non di produzione, a seconda della tua scelta nel Passaggio 4: crea gli account di servizio.
Per le installazioni in ambienti di produzione, consulta i requisiti di archiviazione per il database Cassandra in Configurare Cassandra per la produzione.
Se stai installando Apigee hybrid su GKE e prevedi di utilizzare Workload Identity per autenticare i componenti ibridi, seleziona la scheda Prod: Workload Identity o Non-prod: Workload Identity per configurare il tuo file
overrides.yaml
.Ambiente di
Assicurati che il file
overrides.yaml
abbia la struttura e la sintassi seguenti. I valori in red, bold italics sono valori della proprietà che devi fornire. In questa pagina puoi modificare i valori corrispondenti. Sono descritti nella tabella seguente.Esistono differenze tra le diverse piattaforme per la regione del progetto Google Cloud e per la regione del cluster Kubernetes. Scegli la piattaforma su cui stai installando Apigee hybrid.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the chart directory. synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-synchronizer.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-runtime.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-udca.json" 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. 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # For example: "apigee-org/PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-mart.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-logger.json" metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-watcher.json"
Non di produzione
Assicurati che il file
overrides.yaml
abbia la struttura e la sintassi seguenti. I valori in red, bold italics sono valori della proprietà che devi fornire. In questa pagina puoi modificare i valori corrispondenti. Sono descritti nella tabella seguente.Esistono differenze tra le diverse piattaforme per la regione del progetto Google Cloud e per la regione del cluster Kubernetes. Scegli la piattaforma su cui stai installando Apigee hybrid.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the chart directory. synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" 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: 1 # Use 1 for non-prod or "demo" installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # Use the same service account for mart and connectAgent # For example: "PROJECT_ID-apigee-non-prod.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json"
Produzione: Workload Identity
Questo modello è per le installazioni di produzione su GKE utilizzando Workload Identity. Assicurati che il file
overrides.yaml
abbia la struttura e la sintassi seguenti. I valori in red, bold italics sono valori della proprietà che devi fornire. In questa pagina puoi modificare i valori corrispondenti. Sono descritti nella tabella seguente.Se stai installando Apigee hybrid su GKE, hai un'alternativa per autenticare ed effettuare richieste alle API di Google, Workload Identity. Per panoramiche di Workload Identity, consulta:
- Introduzione a Workload Identity: migliore autenticazione per le applicazioni GKE
- Utilizzo di Workload Identity
Per utilizzare Workload Identity con Apigee hybrid su GKE, usa questo modello e poi segui i passaggi descritti nel Passaggio 11: installa Apigee hybrid utilizzando i grafici Helm per creare gli account di servizio Kubernetes e associarli agli account di servizio Google creati nel Passaggio 4: crea gli account di servizio.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME gsa: synchronizer: "SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com" runtime: "RUNTIME_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-runtime@PROJECT_ID.iam.gserviceaccount.com" udca: "UDCA_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" 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. backup: enabled: true # Set to true for initial installation. # This triggers the chart to create the apigee-cassandra-backup Kubernetes service account when you install it. # See Cassandra backup overview for instructions on using cassandra.backup. 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: gsa: "MART_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" connectAgent: gsa: "MART_SERVICE_ACCOUNT_EMAIL" # Use the same service account for mart and connectAgent # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. gsa: "LOGGER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-logger@PROJECT_ID.iam.gserviceaccount.com" metrics: gsa: "METRICS_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-metrics@PROJECT_ID.iam.gserviceaccount.com" udca: gsa: "UDCA_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" watcher: gsa: "WATCHER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-watcher@PROJECT_ID.iam.gserviceaccount.com"
Non di produzione: Workload Identity
Questo modello è per le installazioni non di produzione su GKE utilizzando Workload Identity. Assicurati che il file
overrides.yaml
abbia la struttura e la sintassi seguenti. I valori in red, bold italics sono valori della proprietà che devi fornire. In questa pagina puoi modificare i valori corrispondenti. Sono descritti nella tabella seguente.Se stai installando Apigee hybrid su GKE, hai un'alternativa per autenticare ed effettuare richieste alle API di Google, Workload Identity. Per panoramiche di Workload Identity, consulta:
- Introduzione a Workload Identity: migliore autenticazione per le applicazioni GKE
- Utilizzo di Workload Identity
Per utilizzare Workload Identity con Apigee hybrid su GKE, usa questo modello e poi segui i passaggi descritti nel Passaggio 11: installa Apigee hybrid utilizzando i grafici Helm per creare gli account di servizio Kubernetes e associarli agli account di servizio Google che hai creato nel Passaggio 4: crea gli account di servizio.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true gsa: "NON_PROD_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com" 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: 1 # Use 1 for non-prod or "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 the chart to create the apigee-cassandra-backup Kubernetes service account when you install it. # See Cassandra backup overview for instructions on using cassandra.backup. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE 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.
Esempio
L'esempio seguente mostra un file di override completato con valori di proprietà di esempio aggiunti:
instanceID: "my_hybrid_example" namespace: apigee gcp: projectID: hybrid-example region: us-central1 k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example envs: - name: test serviceAccountPaths: synchronizer:my-hybrid-project-apigee-synchronizer.json runtime: my-hybrid-project-apigee-runtime.json udca: my-hybrid-project-apigee-udca.json cassandra: hostNetwork: false replicaCount: 3 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms. serviceAccountPath: apigee-telemetry/my-hybrid-project-apigee-logger.json mart: serviceAccountPath: my-hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: my-hybrid-project-apigee-mart.json metrics: serviceAccountPath: my-hybrid-project-apigee-metrics.json udca: serviceAccountPath: my-hybrid-project-apigee-udca.json watcher: serviceAccountPath: my-hybrid-project-apigee-watcher.json
- Al termine, salva il file.
La tabella seguente descrive tutti i valori delle proprietà che devi fornire nel file di override. Per maggiori informazioni, consulta Riferimento alla proprietà di configurazione.
Variabile | Descrizione | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UNIQUE_INSTANCE_IDENTIFIER | Una stringa univoca per identificare questa istanza. Può essere una combinazione qualsiasi di lettere e numeri, fino a un massimo di 63 caratteri. Puoi creare più organizzazioni nello stesso cluster, ma
|
|||||||||||||||||||||||||||
APIGEE_NAMESPACE | Lo spazio dei nomi Kubernetes per i componenti ibridi di Apigee. Il valore predefinito è |
|||||||||||||||||||||||||||
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 (consulta la tabella nella Parte 1, Passaggio 2: crea un'organizzazione.
Questo è il valore assegnato in precedenza alla variabile di ambiente |
|||||||||||||||||||||||||||
PROJECT_ID | Identifica il progetto Google Cloud in cui apigee-logger e apigee-metrics eseguono il push dei propri dati. Questo è il valore assegnato alla variabile di ambiente PROJECT_ID . |
|||||||||||||||||||||||||||
CLUSTER_NAME | Il nome del tuo 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 assegnato in precedenza alla variabile di ambiente |
|||||||||||||||||||||||||||
ORG_NAME | L'ID della tua organizzazione ibrida Apigee. Questo è il valore assegnato alla variabile di ambiente ORG_NAME . |
|||||||||||||||||||||||||||
ENVIRONMENT_GROUP_NAME | Il nome del gruppo di ambienti a cui sono assegnati i tuoi ambienti.
Questo è il gruppo che hai creato nella sezione
Configurazione di progetti e organizzazione - Passaggio 3: crea un gruppo di ambienti. Questo
è il valore assegnato alla variabile di ambiente ENV_GROUP .
|
|||||||||||||||||||||||||||
PATH_TO_CERT_FILE PATH_TO_KEY_FILE |
Inserisci il percorso e il nome file della chiave TLS autofirmata e i file dei certificati che hai generato in precedenza nel
Passaggio 5: crea i certificati TLS. Questi file devono trovarsi nella directory APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs .
Ad esempio:
sslCertPath: certs/keystore.crt 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) Questa è una coppia chiave-valore che fornisce annotazioni per il servizio in entrata predefinito. La tua piattaforma cloud utilizza le annotazioni per aiutarti a configurare l'installazione ibrida, ad esempio impostando il tipo di bilanciatore del carico su interno o esterno.
Le annotazioni variano da una piattaforma all'altra. Fai riferimento alla documentazione della piattaforma per le annotazioni obbligatorie e suggerite. Commenta o elimina questa sezione se non la utilizzi. |
|||||||||||||||||||||||||||
SVC_LOAD_BALANCER_IP | (Facoltativo) Un indirizzo IP che hai prenotato per il bilanciatore del carico.
Sulle piattaforme che supportano la specifica dell'indirizzo IP del bilanciatore del carico, il bilanciatore del carico verrà creato con questo indirizzo IP.
Sulle piattaforme che non consentono di specificare l'IP del bilanciatore del carico, questa proprietà viene ignorata.
Commenta o elimina questa sezione se non la utilizzi. | |||||||||||||||||||||||||||
ENVIRONMENT_NAME | Utilizza lo stesso nome utilizzato per creare un ambiente nella UI, come spiegato in Configurazione di progetto e 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 del grafico corrispondente. Fornisci i nomi con il percorso relativo alla directory del grafico. Ad esempio:
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 generato con lo strumento Puoi visualizzare i file degli account di servizio in ogni directory dei grafici corrispondente. I nomi predefiniti delle directory dei grafici e corrispondenti per gli account di servizio sono:
|
|||||||||||||||||||||||||||
*_SERVICE_ACCOUNT_EMAIL | Gli indirizzi email degli account di servizio per gli account di servizio Google (GSA) che devi fornire se utilizzi Workload Identity su GKE.
Questi sono gli account di servizio che hai creato nel
Passaggio 4: crea gli account di servizio.
Puoi trovare gli indirizzi email degli account di servizio con il seguente comando:
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee" |
Riepilogo
Il file di configurazione indica a Kubernetes come eseguire il deployment dei componenti ibridi in un cluster. Successivamente, abiliterai l'accesso al programma di sincronizzazione in modo che i piani di runtime e gestione di Apigee possano comunicare.