Passaggio 7: configura il runtime di hybrid

Specificare le sostituzioni di configurazione

L'installatore 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.

  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. Ad esempio:
    vi overrides.yaml

    overrides.yaml fornisce la configurazione per la tua installazione unica di Apigee hybrid. Il file delle sostituzioni in questo passaggio fornisce una configurazione di base per un'installazione del runtime ibrida con un ingombro ridotto, adatta per la prima installazione.

  3. In overrides.yaml, aggiungi i valori delle proprietà richiesti, mostrati di seguito. Di seguito è riportata anche una descrizione dettagliata di ogni proprietà:

    Sintassi

    Assicurati che il file overrides.yaml abbia la seguente struttura e sintassi. I valori in red, bold italics sono 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 installi 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
        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 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"
      
    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 tabella seguente descrive ciascuno dei valori della proprietà che devi fornire nel file delle sostituzioni. Per ulteriori informazioni, consulta 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 4: crea un'organizzazione.

Si tratta del valore che hai assegnato alla variabile di ambiente ANALYTICS_REGION in precedenza.

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. Si tratta della regione in cui hai creato il cluster nel passaggio 1: crea un cluster.

Si tratta del valore che hai assegnato alla variabile di ambiente CLUSTER_LOCATION in precedenza.

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 una combinazione qualsiasi di lettere e numeri con una lunghezza massima di 63 caratteri.

Puoi creare più organizzazioni nello stesso cluster, ma instanceId deve essere lo stesso per tutte le organizzazioni nello stesso cluster Kubernetes.
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 5: creazione di 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 6: creazione dei certificati TLS. Questi file devono trovarsi nella directory base_directory/hybrid-files/certs. Ad esempio:
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
environment-name Utilizza lo stesso nome utilizzato per creare un ambiente nell'interfaccia utente, come spiegato in Configurazione del progetto e dell'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 che hai generato con lo strumento create-service-account in Configurazione dell'ambiente di runtime ibrido - Passaggio 6: crea account di servizio e credenziali. Puoi visualizzare l'elenco dei file degli account di servizio 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 che hai generato 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 della chiave dell'account di servizio apigee-runtime che hai 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 che hai generato 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 che hai generato 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 che hai generato 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 che hai generato 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 che hai generato con lo strumento create-service-account.

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 di runtime di Apigee possano comunicare.

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