Passaggio 7: configura il runtime ibrido

Specifica gli override della configurazione

Il programma di installazione ibrido Apigee utilizza i valori predefiniti per molte impostazioni; tuttavia, ci sono alcune impostazioni senza valori predefiniti. Devi fornire i valori per queste impostazioni, come spiegato di seguito.

  1. Assicurati di essere nella directory hybrid-base-directory/hybrid-files/overrides/.
    cd hybrid-base-directory/hybrid-files/overrides
  2. Crea un nuovo file denominato overrides.yaml nel tuo editor di testo preferito. Per esempio:
    vi overrides.yaml

    overrides.yaml fornisce la configurazione per il tuo modello ibrido Apigee unico dell'installazione. Il file degli override in questo passaggio fornisce una configurazione di base per un utilizzo ridotto l'installazione del runtime ibrida, adatta alla prima installazione.

  3. In overrides.yaml, aggiungi i valori della proprietà obbligatori, mostrati di seguito. Una dettagliata di seguito viene fornita anche la descrizione di ciascuna proprietà:

    Per le installazioni in ambienti di produzione, esamina i requisiti di archiviazione per Database Cassandra in Configurare Cassandra per produzione.

    Sintassi

    Assicurati che il file overrides.yaml abbia la struttura e la sintassi indicate di seguito. I valori in red, bold italics sono che devi fornire. Sono descritti nella tabella riportata di seguito.

    Ci sono differenze tra le diverse piattaforme per la regione del progetto Google Cloud e della regione del cluster Kubernetes. Scegli la piattaforma 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"  # See the property description table below information about this parameter.
      
    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
        sslCertPath: ./certs/cert-name.pem
        sslKeyPath: ./certs/key-name.key
    
    envs:
      - name: environment-name
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-synchronizer.json
          udca: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
          runtime: ./service-accounts/runtime-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
            # Use the same service account for mart and connectAgent
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/watcher-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, 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: ./service-accounts/logger-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-logger.json
    
    

    Esempio

    L'esempio seguente mostra un file di override completati con valori di proprietà di esempio aggiunto:

    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
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-udca.json
          runtime: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, example-hybrid-apigee-mart.json
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-watcher.json
    
    logger:
      enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms.
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, logger-service-account-name.json
    
    
  4. Al termine, salva il file.

La seguente tabella descrive tutti i valori della proprietà che devi specificare nel esegue l'override del file. 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 tutto altre piattaforme, seleziona la regione di analisi più vicina al cluster con Analytics assistenza (vedi la tabella Parte 1, Passaggio 4: crea un'organizzazione.

Questo è il valore assegnato alla variabile di ambiente ANALYTICS_REGION in precedenza.

gcp-project-id Identifica il progetto Google Cloud in cui viene eseguito il push di apigee-logger e apigee-metrics i 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 nel Passaggio 1: crea un cluster.

Questo è il valore assegnato alla variabile di ambiente CLUSTER_LOCATION in precedenza.

org-name L'ID della tua organizzazione Apigee ibrida. Questo è il valore assegnato all'ambiente la variabile ORG_NAME.
unique-instance-identifier

Una stringa univoca per identificare questa istanza ibrida Apigee per cluster. La stringa può essere un combinazione di lettere e numeri di massimo 63 caratteri.

  • Puoi creare più organizzazioni in un unico cluster. Assicurati solo di utilizza lo stesso valore instanceID per ogni volta che aggiungi una nuova organizzazione nello stesso cluster.
  • Se hai più cluster (nello stesso regione o in più regioni), ogni cluster richiede un valore instanceID univoco.

Se hai bisogno di aiuto per generare un ID univoco, puoi utilizzare una stringa casuale strumento di generazione di testi di tua scelta, ad esempio random.org/strings.

environment-group-name Il nome del gruppo di ambienti a cui sono assegnati i tuoi ambienti. Questo è il gruppo creato in Configurazione di progetto e organizzazione - Passaggio 5: crea un gruppo di ambienti. Questo è il valore assegnato alla variabile di ambiente ENV_GROUP.
cert-name
key-name
Inserisci il nome della chiave TLS autofirmata e dei file dei certificati generati in precedenza in Passaggio 6: crea i certificati TLS. Questi file devono trovarsi in nella directory base_directory/hybrid-files/certs. Ad esempio:
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
.
environment-name Utilizza lo stesso nome che hai utilizzato per la creazione di un ambiente nella UI, come spiegato in Configurazione di progetto e organizzazione - Passaggio 5: crea un gruppo di ambienti.
synchronizer-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del apigee-synchronizer file della chiave dell'account di servizio generato da te con lo strumento create-service-account Configurazione del runtime ibrido - Passaggio 6: crea gli account di servizio e le credenziali. Puoi vedere l'elenco dei servizi dei file di account nella directory service-accounts/. Ad esempio:
ls ../service-accounts/
udca-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del apigee-udca file della chiave dell'account di servizio generato da te con lo strumento create-service-account.
runtime-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del file di chiave dell'account di servizio apigee-runtime generato con lo strumento create-service-account.
mart-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del apigee-mart file della chiave dell'account di servizio generato da te con lo strumento create-service-account.
metrics-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del apigee-metrics file della chiave dell'account di servizio generato da te con lo strumento create-service-account.
udca-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del apigee-udca file della chiave dell'account di servizio generato da te con lo strumento create-service-account.
watcher-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del apigee-watcher file della chiave dell'account di servizio generato da te con lo strumento create-service-account.
logger-service-account-name Per gli ambienti non di produzione, il nome del singolo account di servizio, non-prod per impostazione predefinita. Per gli ambienti di produzione, il nome del apigee-logger file della chiave dell'account di servizio generato da te con lo strumento create-service-account.

Riepilogo

Il file di configurazione indica a Kubernetes come eseguire il deployment in un cluster. Successivamente, abiliterai l'accesso con la sincronizzazione in modo che i piani di runtime e gestione Apigee potranno comunicare.

1 2 3 4 5 6 7 (SUCCESSIVO) Passaggio 8: abilita l'accesso del sincronizzatore 9