Questa sezione descrive 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 del sincronizzatore in esecuzione nel piano di runtime devono eseguire il polling della gestione eseguire il piano in modo regolare, scaricare i contratti e renderli disponibili per il runtime locale di Compute Engine.
Un sincronizzatore può supportare molti elaboratori di messaggi di cui è stato eseguito il deployment nello stesso pod.
Attivare l'accesso al sincronizzatore
Devi concedere all'account Synchronizer l'autorizzazione per scaricare gli elementi Apigee, ad esempio bundle di proxy e risorse dal piano di gestione. Devi chiamare un'API Apigee per autorizzare il sincronizzatore a estrarre gli elementi dal piano di gestione al piano di runtime.
- Assicurati di aver abilitato l'API Apigee come spiegato nei passaggi di configurazione di Google Cloud. Per maggiori dettagli, vedi Abilitare le API.
- Individua la chiave dell'account di servizio Google Cloud abilitata per la scrittura (un file JSON) che scaricato nell'ambito della sezione Creare account di servizio e credenziali. 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.
-
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
- 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 Apigee Sincronizzar Manager. 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 la sezione sull'API setSyncAuthorization.
- Per verificare che l'account di servizio sia stato impostato, chiama l'API seguente per ottenere un elenco dei servizi
account:
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=" }