Specifica gli override della configurazione
L'installatore di Apigee Hybrid utilizza i valori predefiniti per molte impostazioni, ma alcune non hanno valori predefiniti. Devi specificare i valori per queste impostazioni, come spiegato di seguito.
Prima di iniziare
Ti consigliamo di esaminare i seguenti scenari per stabilire se vuoi configurare in un cluster Kubernetes. Queste configurazioni sono facoltative.
- Se prevedi di installare un modello ibrido in più regioni, leggi Deployment multiregionale prima di continuare.
- Apigee hybrid fornisce password predefinite per gli utenti Cassandra; Tuttavia, ti consigliamo di cambiare le password utente predefinite. Consulta: Per maggiori dettagli, vedi Configurare TLS per Cassandra.
- Se vuoi configurare le impostazioni di archiviazione e heap per Cassandra, consulta Configura le impostazioni di archiviazione e heap.
- Per gli scenari di installazione di produzione, configura lo spazio di archiviazione su unità a stato solido (SSD) permanente per Cassandra. Non supportiamo l'uso di SSD locali per Apigee hybrid. Per maggiori dettagli, vedi Aggiungere spazio di archiviazione SSD per gli implementazioni di produzione.
Configura il cluster
Per convenzione, gli override della configurazione vengono scritti in un file denominato overrides.yaml
in
nella directory $HYBRID_FILES/overrides
.
- Crea un nuovo file denominato
overrides.yaml
nel tuo Directory$HYBRID_FILES/overrides
. Ad esempio:vi $HYBRID_FILES/overrides/overrides.yaml
overrides.yaml
fornisce la configurazione per la tua installazione Apigee hybrid univoca. Il file degli override in questo passaggio fornisce una configurazione di base per un modello ibrido di piccole dimensioni l'installazione runtime, adatta alla prima installazione. - In
overrides.yaml
, aggiungi i valori obbligatori della proprietà, mostrati di seguito. Di seguito è riportata anche una descrizione dettagliata di ogni proprietà.Se stai installando Apigee hybrid su GKE e prevedi di utilizzare Workload Identity per autenticare i componenti ibride, seleziona la scheda GKE - Workload Identity per configurare il file
overrides.yaml
.Per tutte le altre installazioni, seleziona la scheda "Non di produzione", Non di produzione o ambienti di produzione, Prod, a seconda delle scelte Passaggio 4: crea gli account di servizio e le credenziali.
Per le installazioni in ambienti di produzione, esamina i requisiti di archiviazione per Database Cassandra in Configurare Cassandra per produzione.
GKE - Workload Identity
Assicurati che il file
overrides.yaml
abbia la struttura e la sintassi che seguono. I valori in red, bold italics sono i valori delle proprietà che devi fornire. Sono descritti nella tabella riportata di seguito.Se installi Apigee hybrid su GKE, hai un'alternativa per l'autenticazione e inviare richieste alle API di Google, Workload Identity. Per panoramiche di Workload Identity, consulta:
- Introduzione a Workload Identity: autenticazione migliorata per le applicazioni GKE
- Utilizzo di Workload Identity
Per utilizzare Workload Identity con Apigee Hybrid su GKE, utilizza questo modello e poi segui i passaggi descritti nel passaggio 8: installa il runtime ibrida per creare gli account di servizio Kubernetes e associarli agli account di servizio Google che hai creato nel passaggio 4: crea account di servizio e credenziali.
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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 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 di produzione
Assicurati che il file
overrides.yaml
abbia la struttura e la sintassi che seguono. Valori in red, bold italics sono i valori delle proprietà che devi fornire. Sono descritte nel tabella riportata di seguito.Esistono differenze tra le diverse piattaforme per Regione del progetto Google Cloud e regione del cluster Kubernetes. Scegli il tipo in 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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 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
Produzione
Assicurati che il file
overrides.yaml
abbia la struttura e la sintassi che seguono. Valori in red, bold italics sono i valori delle proprietà che devi fornire. Sono descritti nella tabella riportata di seguito.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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 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"
Esempio
L'esempio seguente mostra un file delle sostituzioni completato con valori di 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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 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
- Al termine, salva il file.
La tabella seguente descrive ciascuno dei valori delle proprietà che devi fornire nel file delle sostituzioni. Per ulteriori informazioni, vedi Riferimento per le 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 (consulta la tabella in Parte 1, Passaggio 2: crea un'organizzazione.
Questo è il valore assegnato alla variabile di ambiente
|
GCP_PROJECT_ID | Identifica il progetto Google Cloud in cui
apigee-logger e il push di apigee-metrics
i propri dati. Questo è il valore assegnato alla variabile di ambiente
PROJECT_ID . |
CLUSTER_NAME | Il nome del cluster Kubernetes. Si tratta del valore assegnato
variabile di ambiente CLUSTER_NAME . |
CLUSTER_LOCATION | La regione in cui è in esecuzione il cluster. Si tratta della regione in cui
hai creato il cluster nel
passaggio 1: crea un cluster.
Questo è il valore assegnato 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 con una lunghezza massima di 63 caratteri. Puoi creare più organizzazioni nello stesso cluster,
|
ENVIRONMENT_GROUP_NAME | Il nome del gruppo di ambienti a cui sono assegnati gli ambienti.
Si tratta del 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 di ingresso Apigee per il tuo 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 in entrata predefinito. Le annotazioni sono utilizzate
la tua piattaforma cloud per aiutarti a configurare
dell'installazione, ad esempio impostando il tipo di bilanciatore del carico su
interni o esterni.
Le annotazioni variano da una piattaforma all'altra. Fai riferimento alla documentazione della piattaforma per le annotazioni richieste 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 l'indicazione 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 nell'UI, come spiegato in Configurazione del progetto e dell'organizzazione - Passaggio 3: crea un gruppo di ambienti. |
*_SERVICE_ACCOUNT_FILEPATH | L'account del percorso e del nome file dei file JSON dell'account di servizio nel tuo
Directory service-accounts/ . I nomi devono includere il percorso
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 della chiave dell'account di servizio
generato con Puoi vedere l'elenco dei file degli account di servizio in
Directory I nomi predefiniti degli account di servizio dell'ambiente di produzione sono:
|
Riepilogo
Il file di configurazione indica a Kubernetes come eseguire il deployment dei componenti ibridi in un cluster. Successivamente, abilita l'accesso per la sincronizzazione in modo che I piani di runtime e di gestione Apigee saranno in grado di comunicare.
1 2 3 4 5 6 (AVANTI) Passaggio 7: attiva l'accesso al sincronizzatore 8 9 10 11