Paso 3: Instalar Apigeectl

En este paso, se explica cómo descargar y, luego, instalar apigeectl en la máquina de administración AWS de Anthos GKE. Los pasos incluyen la configuración de los directorios de instalación, la creación de cuentas de servicio de Google Cloud necesarias para que los componentes híbridos se comuniquen y la creación de credenciales TLS necesarias para que Apigee Hybrid funcione.

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:

  1. 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)
  2. 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
  3. 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
  4. Crea un directorio en tu sistema a fin de que funcione como el 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 el directorio al directorio base con el comando cd.
  7. 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 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 directorio principal de apigeectl. Es donde se encuentra el comando ejecutable apigeectl.

  9. Crea una variable de entorno para guardar esta ruta del directorio principal con el siguiente comando:
    export APIGEECTL_HOME=$PWD
  10. 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.

  1. 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/..
  2. Crea una carpeta nueva llamada hybrid-files con el siguiente comando. Puedes asignar el nombre que desees al directorio, pero en los documentos, el nombre hybrid-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 software apigeectl.
    mkdir hybrid-files
  3. La estructura de directorios actual ahora tiene el siguiente aspecto:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Cambia el directorio a la carpeta hybrid-files con el siguiente comando:
    cd hybrid-files
  5. 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
  6. En el directorio hybrid-files, crea los siguientes vínculos simbólicos a $APIGEECTL_HOME. Estos vínculos te 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 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.

  1. Asegúrate de que estés en el directorio base_directory/hybrid-files que configuraste en Configura la estructura del directorio del proyecto.
  2. Ejecuta el siguiente comando desde el directorio hybrid-files: Con este comando, se crea una cuenta de servicio para el componente apigee-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.
    
  3. 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
  4. 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
  5. Asigna la función de administrador de la organización de Apigee a las cuentas de servicio apigee-org-admin:
  6. Verifica que la dirección de correo electrónico 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 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.

  1. Asegúrate de que estés en el directorio base_directory/hybrid-files que configuraste en Configura la estructura del directorio del proyecto.
  2. Asegúrate de que el nombre de tu dominio se haya guardado 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

    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.

  4. Usa el siguiente comando para asegurarte de que los archivos estén en el directorio ./certs.
    ls ./certs
      keystore.pem
      keystore.key

    En el ejemplo anterior, keystore.pem es el archivo de certificado TLS autofirmado, y keystore.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