Configurare il sincronizzatore

In questa sezione viene descritto il sincronizzatore.

Panoramica dello strumento di sincronizzazione

In Apigee hybrid, il compito principale di Synchronizer è eseguire il polling e scaricare i contratti di runtime forniti dal piano di gestione. Le informazioni comunicate per contratto includono l'API proxy, prodotti API, cache e host virtuali. Per impostazione predefinita, Synchronizer memorizza i dati di configurazione dell'ambiente nel database Cassandra.

Le istanze di sincronizzazione in esecuzione nel piano di runtime devono eseguire regolarmente il polling del piano di gestione, scaricare i contratti e renderli disponibili per le istanze di runtime locali.

Un sincronizzatore può supportare molti elaboratori di messaggi di cui è stato eseguito il deployment nello stesso pod.

Attivare l'accesso al sincronizzatore

Devi concedere l'autorizzazione Sincronizzazione per eseguire il pull-down Artefatti Apigee, come risorse e bundle proxy dal piano di gestione. Devi chiamare un L'API Apigee per autorizzare il sincronizzatore a eseguire il pull degli artefatti dal piano di gestione nel piano di runtime.

  1. Assicurati di aver attivato l'API Apigee come spiegato nella procedura di configurazione della piattaforma Google Cloud. Per maggiori dettagli, vedi Passaggio 3: attiva le API.
  2. Individua la chiave dell'account di servizio Google Cloud abilitato per la scrittura (un file JSON) che scaricati nell'ambito della sezione Creare account di servizio. L'account di servizio dispone dell'amministratore organizzazione Apigee ruolo ed è quello denominato "apigee-org-admin". Se non hai ancora creato questo account di servizio, devi farlo prima di continuare.
  3. Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso in cui si trova la chiave dell'account di servizio:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
  4. Chiama l'API setSyncAuthorization per attivare le autorizzazioni richieste per Synchronizer:
    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:synchronizer-manager-service-account-name"]}'
    

    Dove:

    • your_org_name: il nome dell'organizzazione ibrida.
    • synchronizer-manager-service-account-name: il nome di un account di servizio con il ruolo Gestore sincronizzatore Apigee. Il nome ha la forma di . Ad esempio: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Esempio:

    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
    

    Per ulteriori informazioni su questa API, consulta SyncAuthorization tramite Google Cloud.

  5. Per verificare che l'account di servizio sia stato impostato, chiama la seguente API per ottenere un elenco di account di servizio:
    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    L'output è simile al seguente:

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }