Habilita el acceso del sincronizador
Para habilitar el acceso del sincronizador, haz lo siguiente:
- Crea una cuenta de servicio de Google Cloud y agrégale la función Administrador de la organización de Apigee. Esta cuenta de servicio se usará para autenticar una llamada a la API que realizarás en un paso posterior. Una forma sencilla de crear la cuenta de servicio es a través de GCP Console.
Para obtener instrucciones, consulta Crea y administra cuentas de servicio en la documentación de GCP.
Por ejemplo, con los siguientes comandos
gcloud
, se creará la cuenta de servicio y se le asignará la función Administrador de la organización de Apigee:- Crea la cuenta:
gcloud iam service-accounts create apigee-org-admin \ --display-name="apigee-org-admin"
En que apigee-org-admin es el nombre de la cuenta de servicio que creas. Se recomienda “
apigee-org-admin
” para este instructivo. - Asigna la función Administrador de la organización de Apigee a la cuenta de servicio:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.admin"
Aquí:
- $PROJECT_ID es el nombre de tu proyecto de Google Cloud que creaste en el Paso 2: Crea un proyecto de Google Cloud.
- apigee-org-admin es el nombre de la cuenta de servicio que acabas de crear.
- roles/apigee.admin es la función Administrador de la organización de Apigee.
- Crea la cuenta:
- Descarga la clave de la cuenta de servicio a tu sistema. Usa el siguiente comando para descargar la clave en tu directorio
service-accounts/
. Para obtener más información, consulta las instrucciones en Crea claves de cuentas de servicio en la documentación de GCP.- Asegúrate de estar en el directorio
/hybrid-base-directory/hybrid-files/
. - Descarga la clave:
gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \ --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com
El resultado debería ser similar a lo siguiente:
created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid- example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com] $
- Asegúrate de estar en el directorio
- Verifica la ruta a la clave de la cuenta de servicio de Administrador de la organización de Apigee con el siguiente comando:
ls service-accounts/*admin*
El resultado debería ser similar a lo siguiente:
service-accounts/hybrid-example-apigee-org-admin.json
- Crea una variable de entorno ORG_ADMIN_ACCOUNT con el nombre del archivo de claves.
Por ejemplo:
export ORG_ADMIN_ACCOUNT="hybrid-example-apigee-org-admin.json"
- Ejecuta los siguientes comandos para obtener un token:
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
export TOKEN=$(gcloud auth application-default print-access-token)
- Obtén la dirección de correo electrónico de tu cuenta de servicio de
apigee-synchronizer
con el siguiente comando:gcloud iam service-accounts list --filter "apigee-synchronizer"
Si coincide con el patrón
apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
, puedes usarlo en el paso siguiente - Llama a la API de setSyncAuthorization para habilitar los permisos requeridos de Synchronizer con el siguiente comando:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'
Aquí:
$ORG_NAME
: Es el nombre de tu organización híbrida.apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
: Es la dirección de correo electrónico de la cuenta de servicio de apigee-syncnronizer.
- A fin de verificar que se haya configurado la cuenta de servicio, usa el siguiente comando para llamar a la API y obtener una lista de cuentas de servicio:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$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=" }
Aplica la configuración al clúster:
Sigue estos pasos para instalar Apigee Hybrid en tu clúster:
- Asegúrate de estar en el directorio
hybrid-base-directory/hybrid-files
. - Verifica que
kubectl
esté configurado en el contexto correcto con el siguiente comando. El contexto actual se debe configurar en el clúster en el que implementas Apigee Hybrid.kubectl config get-contexts
- Para las plataformas de AWS en GKE, EKS y GKE On-Prem, verifica que la variable
KUBECONFIG
se configure con el siguiente comando.echo $KUBECONFIG
- Realiza una inicialización de ejecución de prueba. Ejecuta el comando
init
con la marca--dry-run
. Realizar una ejecución de prueba te permite comprobar si hay errores antes de que se realicen cambios en el clúster.En la versión 1.4.4 híbrida, la sintaxis de la marca
--dry-run
depende de la versión dekubectl
que ejecutes. Verifica la versión dekubectl
con el siguiente comando:kubectl version
Versión 1.17 de
kubectl
y versiones anteriores:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true
Versión 1.18
kubectl
y versiones posteriores:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
- Si no hay errores, ejecuta el comando
init
de la siguiente manera:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
Con el comando
init
, se instalan los servicios de implementación de Apigee del controlador de implementación de Apigee y el webhook de admisión de Apigee. - Para verificar el estado de la implementación, puedes usar los siguientes comandos:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
kubectl get pods -n apigee-system
kubectl get pods -n istio-system
Cuando los pods estén listos, continúa con el siguiente paso.
- Realiza una instalación de ejecución de prueba. Ejecuta el comando
apply
con la marca--dry-run
.Versión 1.17 de
kubectl
y versiones anteriores:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
Versión 1.18
kubectl
y versiones posteriores:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
-
Si no hay errores, puedes aplicar los componentes del entorno de ejecución específico de Apigee al clúster con el siguiente comando:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Para verificar el estado de la implementación, ejecuta el siguiente comando:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
Repite este paso hasta que los pods estén listos. Los pods pueden tardar varios minutos en iniciarse.