- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
Aplica la configuración al clúster
Para instalar Apigee hybrid en tu clúster, sigue estos pasos:
- Asegúrate de que estás en el directorio
hybrid-base-directory/hybrid-files
. - Verifica que
kubectl
esté configurado en el contexto correcto. El contexto actual debe ser el clúster en el que vas a implementar:kubectl config get-contexts
- Ejecuta el comando
init
:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
El comando
init
instala los servicios de despliegue de Apigee Apigee Deployment Controller y Apigee Admission Webhook, y despliega componentes que no son de Apigee, como Istio y Cert Manager. - Para comprobar el estado de la implementación, puedes usar estos comandos:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
y
kubectl get pods -n apigee-system
y
kubectl get pods -n istio-system
Cuando los pods estén listos, ve al siguiente paso.
- Haz una instalación de prueba. Ejecuta el comando
apply
con la marca--dry-run=true
. Al hacer una prueba, puedes comprobar si hay errores antes de que se apliquen cambios al clúster.$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
-
Si no hay errores, puede aplicar los componentes de tiempo de ejecución específicos de Apigee al clúster:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Para comprobar el estado de la implementación, sigue estos pasos:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
Repite este paso hasta que todos los pods estén listos. Los pods pueden tardar varios minutos en iniciarse.
Añadir un nombre de host estático para Cassandra en /etc/hosts (solo Anthos 1.2.x)
En este paso, obtendrás la IP y el nombre de host de los nodos de trabajo asignados a Cassandra y los añadirás al archivo /etc/hosts
. Cuando se usa la red del host, el pod
usa el nombre de host y la IP del nodo. El nombre de host del nodo no está en el DNS, por lo que debes añadir una entrada de nombre de host estático en /etc/hosts
para cada nodo de trabajo de Cassandra.
- Ejecuta este comando para obtener los nodos de trabajador de Cassandra. El parámetro
apigee-data
es la etiqueta de nodo predeterminada a la que se asigna Cassandra. Si has usado otra etiqueta de nodo, sustitúyela por la que hayas usado. Consulta cómo etiquetar los nodos de trabajo.kubectl get nodes -l apigee.com/apigee-nodepool=apigee-data -o wide
Ejemplo:
kubectl get nodes -o wide my-cluster1-844788cc8c-2gx7d NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME my-cluster1-844788cc8c-2gx7d Ready none 19d v1.14.7-gke.24 21.0.129.248 21.0.129.248 Ubuntu 18.04.3 LTS 4.15.0-62-generic docker://17.3.2
- Añade los nombres de los nodos y las IPs externas devueltos por el comando anterior de cada nodo de trabajo de Cassandra a tu archivo
/etc/hosts
:cat /etc/hosts 127.0.0.1 localhost 21.0.129.248 my-cluster1-844788cc8c-2gx7d
Habilitar el acceso del sincronizador
- Crea una cuenta de servicio de GCP y añádele el rol Administrador de la organización de Apigee. Esta cuenta de servicio se usará para autenticar una llamada a la API que harás en un paso posterior. Una forma sencilla de crear la cuenta de servicio es a través de la consola de GCP. Para ver las instrucciones, consulta el artículo Crear y gestionar cuentas de servicio de la documentación de GCP.
- Descarga la clave de la cuenta de servicio en tu sistema. Sigue las instrucciones que se indican en el artículo Crear claves de cuenta de servicio de la documentación de GCP.
- Mueve la clave de cuenta de servicio descargada al directorio de cuentas de servicio:
/hybrid-base-directory
/hybrid-files/service-accounts
. - Ejecuta estos dos comandos para obtener un token:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
Donde org-admin-service-account-file es la ruta de tu sistema a la clave de la cuenta de servicio que has descargado con el rol Administrador de la organización de Apigee.
- Llama a la API setSyncAuthorization para habilitar los permisos necesarios para el sincronizador:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \ -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
Donde:
your_org_name
: El nombre de tu organización híbrida.synchronizer-manager-service-account-email
: el nombre de una cuenta de servicio con el rol Administrador del sincronizador de Apigee. El nombre tiene el formato de una dirección de correo electrónico. Por ejemplo:apigee-synchronizer@my-project.iam.gserviceaccount.com
Ejemplo:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \ -d '{"identities":["serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com"]}'
- Para verificar que se ha configurado la cuenta de servicio, llama a la siguiente API para 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/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=" }
Añadir la IP de MART a tu organización
Debe añadir la dirección IP del endpoint MART a su organización de Apigee. Este valor ya lo ha definido al asignar el valor de la propiedad mart.hostAlias
en el archivo de anulaciones.
El plano de gestión necesita esta dirección para poder comunicarse con el plano de tiempo de ejecución a través de MART.
Sigue estos pasos para añadir la IP de MART a tu organización:
- Obtén el valor que definiste anteriormente en el archivo de anulaciones para la propiedad
mart.hostAlias
. Para que MART funcione, el alias de host debe ser un nombre de dominio completo. - Busca la clave de la cuenta de servicio con el rol Administrador de la organización de Apigee que descargaste anteriormente en la sección Habilitar el acceso del sincronizador.
- Ejecuta estos dos comandos para obtener un token:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
Donde org-admin-service-account-file es la ruta de tu sistema a la clave de la cuenta de servicio que has descargado con el rol Administrador de la organización de Apigee.
- Llama a la siguiente API de gestión para actualizar tu organización con el endpoint de MART:
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "your_org_name", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://HOST_ALIAS_DNS" } ] } }'
Aquí tienes un ejemplo. Asegúrate de añadir el prefijo "https://" al nombre de dominio.
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/my_organization \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "my_organization", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://foo-mart.example.com" } ] } }'
Guarda el archivo de anulaciones.
Asegúrate de guardar el archivo de anulaciones. Necesitarás este archivo para realizar futuras actualizaciones, parches o cualquier otra modificación en la configuración del clúster.