En este paso, se explica cómo descargar y, luego, instalar apigeectl, configurar los directorios de instalación y crear las cuentas de servicio de GCP y las credenciales de TLS que se requieren para que funcione Apigee Hybrid.
Descargar e instalar apigeectl
apigeectl
es una interfaz de línea de comandos (CLI) para instalar y administrar Apigee Hybrid en un clúster de Kubernetes.
En los siguientes pasos, se describe cómo obtener apigeectl
:
-
Almacena el número de la versión más reciente en una variable con el siguiente comando:
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
-
Verifica que la variable se haya propagado con un número de versión mediante el siguiente comando. Si quieres usar una versión diferente, puedes guardarla en una variable de entorno.
echo $VERSION
-
Descarga el paquete de lanzamientos para tu sistema operativo con el siguiente comando:
Mac (64 bits)
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Linux de 64 bits
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
Mac de 32 bits:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz
Linux de 32 bits
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
- Crea un directorio en tu sistema a fin de que funcione como el directorio base para la instalación de Apigee Hybrid.
-
Extrae el contenido del archivo gzip descargado en el directorio base que acabas de crear con el siguiente comando:
tar xvzf filename.tar.gz -C path-to-base-directory
-
Cambia el directorio al directorio base con el comando
cd
. -
De forma predeterminada, el contenido del archivo tar se expande a un directorio con la versión y la plataforma en su nombre. Por ejemplo:
./apigeectl_1.0.0-f7b96a8_linux_64
. Cambia el nombre de ese directorio aapigeectl
con el siguiente comando:mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
-
Cambia al directorio con el siguiente comando:
cd ./apigeectl
Este directorio es el directorio principal de
apigeectl
. Es donde se encuentra el comando ejecutableapigeectl
. -
Crea una variable de entorno para guardar esta ruta del directorio principal con el siguiente comando:
export APIGEECTL_HOME=$PWD
-
Verifica que la variable contenga la ruta correcta con el siguiente comando:
echo $APIGEECTL_HOME
Configura la estructura del directorio del proyecto.
Recomendamos la siguiente estructura de directorios. Separa el software de actualización de Apigee Hybrid de los archivos de configuración que debes crear. Mediante el uso de la variable $APIGEECTL_HOME
y los vínculos simbólicos que crearás, puedes cambiar con facilidad a una nueva versión de software si lo deseas. Consulta también Actualiza Apigee Hybrid.
-
Asegúrate de estar en el directorio base (el directorio en el que se encuentra el directorio
apigeectl
) mediante el uso del siguiente comando:cd $APIGEECTL_HOME/..
-
Crea una carpeta nueva llamada
hybrid-files
con el siguiente comando. Puedes asignar el nombre que desees al directorio, pero en los documentos, el nombrehybrid-files
se usará de forma coherente. Más adelante, almacenarás archivos de configuración, claves de cuenta de servicio y certificados TLS en esta carpeta. Esta carpeta te permite mantener tus archivos de configuración separados de la instalación de softwareapigeectl
.mkdir hybrid-files
-
La estructura de directorios actual ahora tiene el siguiente aspecto:
pwd && ls
/hybrid-base-directory apigeectl hybrid-files -
Cambia el directorio a la carpeta
hybrid-files
con el siguiente comando:cd hybrid-files
-
Dentro del directorio
hybrid-files
, crea los siguientes tres subdirectorios para organizar los archivos que crearás más adelante:mkdir overrides
mkdir service-accounts
mkdir certs
-
En el directorio
hybrid-files
, crea los siguientes vínculos simbólicos a$APIGEECTL_HOME
. Estos vínculos te permiten ejecutar el comandoapigeectl
desde el directoriohybrid-files
como se muestra en el siguiente ejemplo:ln -s
$APIGEECTL_HOME
/tools toolsln -s
$APIGEECTL_HOME
/config configln -s
$APIGEECTL_HOME
/templates templatesln -s
$APIGEECTL_HOME
/plugins plugins -
Para verificar que los symlinks se hayan creado correctamente, ejecuta este comando y asegúrate de que las rutas de los vínculos apunten a las ubicaciones correctas:
ls -l | grep ^l
Crea cuentas de servicio
Apigee Hybrid usa cuentas de servicio de Google Cloud para permitir que los componentes híbridos se comuniquen mediante llamadas a la API autorizadas. En este paso, usarás una herramienta de línea de comandos de Apigee Hybrid para crear un conjunto de cuentas de servicio. La herramienta también descarga las claves privadas de las cuentas de servicio por ti. Luego, debes agregar estas claves a tu archivo de configuración de clúster de Apigee Hybrid.
Apigee proporciona una herramienta, create-service-account
, que crea la cuenta de servicio, asigna las funciones a la cuenta de servicio, y crea y descarga los archivos de claves para la cuenta de servicio en un solo comando. Para obtener información sobre los conceptos relacionados de Google Cloud, consulta Crea y administra cuentas de servicio y Crea y administra claves de cuentas de servicio.
-
Asegúrate de que estés en el directorio
base_directory/hybrid-files
que configuraste en Configura la estructura del directorio del proyecto. -
Ejecuta el siguiente comando desde el directorio
hybrid-files
: Con este comando, se crea una cuenta de servicio para el componenteapigee-metrics
y se coloca la clave que descargaste en el directorio./service-accounts
:./tools/create-service-account apigee-metrics ./service-accounts
Cuando veas el siguiente mensaje, ingresa y:
[INFO]: gcloud configured project ID is project_id. Press: y to proceed with creating service account in project: project_id Press: n to abort.
Si es la primera vez que se crea una cuenta de servicio con el nombre exacto asignado por la herramienta, la herramienta solo la crea, y no tienes que realizar ninguna otra acción.
Sin embargo, si ves el siguiente mensaje e instrucción, ingresa y para generar claves nuevas:
[INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists. ... [INFO]: The service account might have keys associated with it. It is recommended to use existing keys. Press: y to generate new keys.(this does not de-activate existing keys) Press: n to skip generating new keys.
-
A continuación, crea el resto de las cuentas de servicio con los siguientes comandos. El comando
create-service-account
es interactivo y requiere una respuesta para cada cuenta../tools/create-service-account apigee-synchronizer ./service-accounts
./tools/create-service-account apigee-udca ./service-accounts
./tools/create-service-account apigee-mart ./service-accounts
./tools/create-service-account apigee-cassandra ./service-accounts
./tools/create-service-account apigee-logger ./service-accounts
./tools/create-service-account apigee-watcher ./service-accounts
-
Usa el siguiente comando para verificar que se crearon las claves de la cuenta de servicio. Eres responsable de almacenar estas claves privadas de forma segura. Los nombres de los archivos de la clave tienen el prefijo del nombre de tu proyecto de Google Cloud.
ls ./service-accounts
El resultado debería ser similar a lo siguiente:
gcp-project-id-apigee-cassandra.json gcp-project-id-apigee-logger.json gcp-project-id-apigee-mart.json gcp-project-id-apigee-metrics.json gcp-project-id-apigee-synchronizer.json gcp-project-id-apigee-udca.json gcp-project-id-apigee-watcher.json
-
Asigna la función de administrador de la organización de Apigee a las cuentas de servicio
apigee-org-admin
: -
Verifica que la dirección de correo electrónico de la cuenta de servicio
apigee-org-admin
siga el patrónservice_account@PROJECT_ID.iam.gserviceaccount.com
, como se muestra en el siguiente ejemplo:gcloud iam service-accounts list --filter "apigee-org-admin"
-
Asigna la función con el siguiente comando:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin
En el ejemplo anterior, PROJECT_ID es el ID del proyecto de Google Cloud. Si las direcciones de correo electrónico de tu cuenta de servicio difieren de este patrón, reemplázalas según corresponda.
El resultado debe incluir una lista de todas las cuentas de servicio y sus funciones, incluidas las siguientes:
- members: - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com role: roles/apigee.admin
Crea certificados TLS
Debes proporcionar certificados TLS para la puerta de enlace de entrada del entorno de ejecución en tu configuración de Apigee Hybrid. A los fines de esta guía de inicio rápido (una instalación de prueba que no es de producción), la puerta de enlace del entorno de ejecución puede aceptar credenciales autofirmadas. En los siguientes pasos, openssl se usa para generar las credenciales autofirmadas.
En este paso, crearás los archivos de credenciales TLS y los agregarás al directorio base_directory/hybrid-files/certs
.
En el Paso 4: Configura el clúster, agregarás las rutas de acceso al archivo al archivo de configuración del clúster.
- Asegúrate de que estés en el directorio
base_directory/hybrid-files
que configuraste en Configura la estructura del directorio del proyecto. - Asegúrate de que el nombre de tu dominio se haya guardado en la variable de entorno
DOMAIN
con el siguiente comando:echo $DOMAIN
-
Ejecuta el siguiente comando desde el directorio
hybrid-files
:openssl req -nodes -new -x509 -keyout ./certs/keystore.key -out \ ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650
En el ejemplo anterior,
DOMAIN
es el dominio que reservaste para tu instalación híbrida en la Guía de inicio rápido (opción híbrida) Paso 5: Configura tu DNS.Este comando crea un par autofirmado de certificado y clave que puedes usar para la guía de inicio rápido.
-
Usa el siguiente comando para asegurarte de que los archivos estén en el directorio
./certs
.ls ./certs
keystore.pem keystore.keyEn el ejemplo anterior,
keystore.pem
es el archivo de certificado TLS autofirmado, ykeystore.key
es el archivo de claves.
Ahora tienes una base en la que puedes configurar, implementar y administrar Apigee Hybrid en tu clúster de Kubernetes. A continuación, crearás un archivo que Kubernetes usará para implementar los componentes del entorno de ejecución híbrido en el clúster.
1 2 3 (SIGUIENTE) Paso 4: Configura el clúster 5