Paso 7: Instalar el entorno de ejecución de Hybrid

Habilita el acceso del sincronizador

Para habilitar el acceso del sincronizador, haz lo siguiente:

  1. 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:

    1. 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.

    2. 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.
  2. 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.
    1. Asegúrate de estar en el directorio /hybrid-base-directory/hybrid-files/.
    2. 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]
      $ 
  3. 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
  4. 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"
  5. 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)
  6. 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

  7. 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.
  8. 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:

  1. Asegúrate de estar en el directorio hybrid-base-directory/hybrid-files.
  2. 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
  3. 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
  4. 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 de kubectl que ejecutes. Verifica la versión de kubectl 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
  5. 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.

  6. 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.

  7. 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
  8. 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
  9. 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.