Questa sezione descrive lo strumento di sincronizzazione.
Panoramica del sincronizzatore
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 dal contratto includono proxy API, prodotti API, cache e host virtuali. Per impostazione predefinita, Synchronizer memorizza i dati di configurazione dell'ambiente nel database Cassandra.
Le istanze di Synchronizer in esecuzione nel piano di runtime devono eseguire il polling del piano di gestione su base regolare, 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.
Attivare l'accesso al sincronizzatore
Devi concedere l'autorizzazione Synchronizer per scaricare gli artefatti Apigee, come i bundle proxy e le risorse dal management plane. Devi chiamare un'API Apigee per autorizzare il sincronizzatore a estrarre gli artefatti dal piano di gestione al piano di runtime.
- Assicurati di aver attivato l'API Apigee come spiegato nella procedura di configurazione di Google Cloud. Per maggiori dettagli, vedi Attivare le API.
- Individua la chiave dell'account di servizio Google Cloud con accesso in scrittura (un file JSON) che hai scaricato nell'ambito della procedura Crea service account e credenziali. Il account di servizio ha il ruolo Amministratore organizzazione Apigee ed è quello denominato "apigee-org-admin". Se non hai creato in precedenza questo account di servizio, devi farlo prima di continuare.
-
Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALSsul percorso in cui si trova la chiave del account di servizio:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json - Chiama l'API setSyncAuthorization per
abilitare 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 Synchronizer Manager. Il nome è formato come 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 saperne di più su questa API, consulta l'articolo API setSyncAuthorization.
- Per verificare che il account di servizio sia stato impostato, chiama la seguente API per ottenere un elenco di service
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=" }