Configura il sincronizzatore

In questa sezione viene descritto il programma di sincronizzazione.

Panoramica del programma di sincronizzazione

In Apigee hybrid, il compito principale del sincronizzatore consiste nel eseguire il polling e il download dei contratti di runtime forniti dal piano di gestione. Le informazioni comunicate per contratto includono proxy API, prodotti API, cache e host virtuali.

Le istanze del sincronizzatore in esecuzione sul piano di runtime dovrebbero eseguire il polling regolare del piano di gestione, scaricare i contratti e renderli disponibili alle istanze di runtime locali.

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

Abilita accesso al programma di sincronizzazione

Devi concedere l'autorizzazione Sincronizzatore per estrarre gli artefatti Apigee, come bundle proxy e risorse dal piano di gestione. Devi chiamare un'API Apigee per autorizzare il sincronizzatore a eseguire il pull degli artefatti dal piano di gestione al piano di runtime.

  1. Assicurati di aver abilitato l'API Apigee come spiegato nei passaggi di configurazione di Google Cloud. Per maggiori dettagli, consulta il Passaggio 3: abilita le API.
  2. Individua la chiave dell'account di servizio Google Cloud abilitata per la scrittura (un file JSON) che hai scaricato nell'ambito della procedura Crea account di servizio. L'account di servizio ha il ruolo Amministratore organizzazione Apigee ed è quello denominato "apigee-org-admin". Se non hai già 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 abilitare le autorizzazioni richieste per il sincronizzatore:
    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 di sincronizzazione Apigee. Il nome ha il formato di un indirizzo email. 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 maggiori informazioni su questa API, consulta la pagina relativa all'API SyncAuthorization.

  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="
    }