Paso 3: Instala apigeectl

En este paso se explica cómo descargar e instalar apigeectl en tu máquina de administrador de Anthos GKE en AWS. Entre los pasos se incluyen los siguientes: configurar los directorios de instalación, crear cuentas de servicio de Google Cloud que sean necesarias para que se comuniquen los componentes híbridos y crear credenciales de TLS que sean necesarias para que funcione Apigee hybrid.

Descarga e instala apigeectl

apigeectl es la interfaz de línea de comandos (CLI) para instalar y gestionar Apigee Hybrid en un clúster de Kubernetes.

Sigue estos pasos para obtener apigeectl:

  1. Almacena el número de la última versión 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)
  2. Comprueba que la variable se haya rellenado con un número de versión mediante el siguiente comando. Si quieres usar otra versión, puedes guardarla en una variable de entorno.
    echo $VERSION
  3. Descarga el paquete de lanzamiento de tu sistema operativo con el siguiente comando:

    Mac de 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
  4. Crea un directorio en tu sistema que sirva como directorio base para la instalación de Apigee hybrid.
  5. 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
  6. Cambia al directorio base con el comando cd.
  7. De forma predeterminada, el contenido del archivo tar se descomprime en un directorio cuyo nombre incluye la versión y la plataforma. Por ejemplo: ./apigeectl_1.0.0-f7b96a8_linux_64. Cambia el nombre de ese directorio a apigeectl con el siguiente comando:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  8. Cambia al directorio con el siguiente comando:
    cd ./apigeectl

    Este directorio es el apigeectldirectorio principal. Es donde se encuentra el comando ejecutable apigeectl.

  9. Crea una variable de entorno para almacenar esta ruta de directorio principal con el siguiente comando:
    export APIGEECTL_HOME=$PWD
  10. Verifica que la variable contiene la ruta correcta con el siguiente comando:
    echo $APIGEECTL_HOME

Configurar la estructura del directorio del proyecto

La siguiente estructura de directorios es una sugerencia. Separa el software de lanzamiento de Apigee hybrid de los archivos de configuración que debes crear. Si utilizas la variable $APIGEECTL_HOME y los enlaces simbólicos que crees, puedes cambiar fácilmente a una nueva versión del software si quieres. Consulta también Actualizar la versión de Apigee Hybrid.

  1. Asegúrate de que estás en el directorio base (el directorio en el que se encuentra el directorio apigeectl) con el siguiente comando:
    cd $APIGEECTL_HOME/..
  2. Crea una carpeta llamada hybrid-files con el siguiente comando. Puedes asignar el nombre que quieras al directorio, pero en la documentación se usa el nombre hybrid-files de forma sistemática. Más adelante, almacenarás archivos de configuración, claves de cuentas de servicio y certificados TLS en esta carpeta. Esta carpeta te permite mantener tus archivos de configuración separados de la instalación del software apigeectl.
    mkdir hybrid-files
  3. La estructura de directorios actual es la siguiente:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Cambia al directorio hybrid-files con el siguiente comando:
    cd hybrid-files
  5. En el directorio hybrid-files, crea los siguientes subdirectorios para organizar los archivos que crearás más adelante:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. En el directorio hybrid-files, crea los siguientes enlaces simbólicos a $APIGEECTL_HOME. Estos enlaces le permiten ejecutar el comando apigeectl desde el directorio hybrid-files, como se muestra en el siguiente ejemplo:
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. Para comprobar que los enlaces simbólicos se han creado correctamente, ejecuta el siguiente comando y asegúrate de que las rutas de los enlaces apuntan a las ubicaciones correctas:
    ls -l | grep ^l

Crear cuentas de servicio

Apigee Hybrid usa cuentas de servicio de Google Cloud para permitir que los componentes híbridos se comuniquen haciendo llamadas a las APIs 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 la cuenta de servicio. Después, debes añadir estas claves al archivo de configuración de tu clúster híbrido de Apigee.

Apigee proporciona una herramienta, create-service-account, que crea la cuenta de servicio, asigna los roles a la cuenta de servicio y crea y descarga los archivos de claves de la cuenta de servicio con un solo comando. Para obtener información sobre los conceptos relacionados de Google Cloud, consulta los artículos sobre cómo crear y gestionar cuentas de servicio y cómo crear y gestionar claves de cuentas de servicio.

  1. Asegúrate de que te encuentras en el directorio base_directory/hybrid-files que has configurado en Configurar la estructura del directorio del proyecto.
  2. Ejecuta el siguiente comando desde el directorio hybrid-files. Este comando crea una cuenta de servicio para el componente apigee-metrics y coloca la clave descargada en el directorio ./service-accounts.
    ./tools/create-service-account apigee-metrics ./service-accounts

    Cuando veas la siguiente petición, introduce 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 administrador de servicios con el nombre exacto asignado por la herramienta, esta se creará y no tendrás que hacer nada más.

    Sin embargo, si ves el siguiente mensaje y petición, introduce y para generar nuevas claves:

    [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.
    
  3. Ahora, 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
  4. Verifica que las claves de cuenta de servicio se hayan creado con el siguiente comando. Eres responsable de almacenar estas claves privadas de forma segura. Los nombres de los archivos de claves tienen como prefijo el nombre de tu proyecto de Google Cloud.
    ls ./service-accounts

    El resultado debería ser similar al 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
  5. Asigna el rol Administrador de la organización de Apigee a las apigee-org-admin cuentas de servicio:
  6. Comprueba que la dirección de correo de la cuenta de servicio apigee-org-admin siga el patrón service_account@PROJECT_ID.iam.gserviceaccount.com, como se muestra en el siguiente ejemplo:
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. Asigna el rol 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

    Donde PROJECT_ID es tu proyecto de Google Cloud. Si las direcciones de correo de tu cuenta de servicio no siguen este patrón, sustitúyelas según corresponda.

    El resultado debe incluir una lista de todas las cuentas de servicio y sus roles, incluidos los siguientes:

    - members:
      - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com
      role: roles/apigee.admin

Crear certificados TLS

Debes proporcionar certificados TLS para la pasarela de entrada de tiempo de ejecución en tu configuración híbrida de Apigee. Para esta guía de inicio rápido (una instalación de prueba que no es de producción), la pasarela de tiempo de ejecución puede aceptar credenciales autofirmadas. En los siguientes pasos, se usa openssl para generar las credenciales autofirmadas.

En este paso, crearás los archivos de credenciales TLS y los añadirás al directorio base_directory/hybrid-files/certs. En el paso 4: Configura el clúster, añadirás las rutas de los archivos al archivo de configuración del clúster.

  1. Asegúrate de que te encuentras en el directorio base_directory/hybrid-files que has configurado en Configurar la estructura del directorio del proyecto.
  2. Asegúrate de que el nombre de dominio se guarda en la variable de entorno DOMAIN con el siguiente comando:
    echo $DOMAIN
  3. 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

    Donde DOMAIN es el dominio que has reservado para tu instalación híbrida en el Paso 5: Configura el DNS de la guía de inicio rápido (híbrido).

    Este comando crea un par de clave y certificado autofirmado que puedes usar para la instalación de inicio rápido.

  4. Comprueba que los archivos estén en el directorio ./certs con el siguiente comando:
    ls ./certs
      keystore.pem
      keystore.key

    Donde keystore.pem es el archivo de certificado TLS con firma automática y keystore.key es el archivo de clave.

Ahora tienes una base desde la que puedes configurar, desplegar y gestionar Apigee Hybrid en tu clúster de Kubernetes. A continuación, crearás un archivo que Kubernetes usará para desplegar los componentes del tiempo de ejecución híbrido en el clúster.

1 2 3 (SIGUIENTE) Paso 4: Configurar el clúster 5