En esta sección, se describe el sincronizador.
Descripción general del sincronizador
En Apigee Hybrid, el trabajo principal del sincronizador es consultar y descargar los contratos del entorno de ejecución que proporciona el plano de administración. La información que se comunica por contrato incluye proxies de API, productos de API, cachés y hosts virtuales. El sincronizador almacena de forma predeterminada los datos de configuración del entorno en la base de datos de Cassandra.
Se espera que las instancias de sincronización que se ejecutan en el plano del entorno de ejecución sondeen el plano de administración de forma periódica, descarguen los contratos y los pongan a disposición de las instancias de entorno de ejecución locales.
Un sincronizador puede admitir muchos procesadores de mensajes implementados en el mismo pod.
Habilita el acceso del sincronizador
Debes otorgar el permiso Sincronizador para extraer artefactos de Apigee, como paquetes de proxy y recursos del plano de administración. Debes llamar a una API de Apigee a fin de autorizar que el sincronizador extraiga artefactos del plano de administración al plano del entorno de ejecución.
- Asegúrate de haber habilitado la API de Apigee como se explica en los pasos de configuración de GCP. Para obtener detalles, consulta el Paso 3: Habilita las API.
- Busca la clave de la cuenta de servicio de GCP habilitada para la escritura (un archivo JSON) que descargaste como parte de Crea cuentas de servicio. La cuenta de servicio tiene la función de Administrador de la organización de Apigee y se llama “apigee-org-admin”. Si no creaste esta cuenta de servicio antes, debes hacerlo antes de continuar.
-
Configura la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
en la ruta en la que se encuentra la clave de la cuenta de servicio:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
- Llama a la API de setSyncAuthorization para habilitar los permisos necesarios en 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"]}'
Dónde:
your_org_name
: Es el nombre de la organización híbrida.synchronizer-manager-service-account-name
: Es el nombre de una cuenta de servicio con la función de Apigee Synchronizer Manager. El nombre se forma como una dirección de correo electrónico. Por ejemplo:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Ejemplo:
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"]}'
Para obtener más información sobre esta API, consulta API de SyncAuthorization.
- Para verificar que se configuró la cuenta de servicio, llama a la siguiente API a fin de obtener una lista de cuentas de servicio:
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 ''
El resultado es similar al siguiente:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }