Paso 7: Instala el entorno de ejecución híbrido

Habilitar el acceso del sincronizador

Para habilitar el acceso del sincronizador, sigue estos pasos:

  1. Crea una cuenta de servicio de Google Cloud 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.

    Por ejemplo, los siguientes comandos gcloud crearán la cuenta de servicio y le asignarán el rol Administrador de la organización de Apigee:

    1. Crea la cuenta:
      gcloud iam service-accounts create apigee-org-admin \
          --display-name="apigee-org-admin"

      Donde apigee-org-admin es el nombre de la cuenta de servicio que vas a crear. "apigee-org-admin" es el valor recomendado para este tutorial.

    2. Asigna el rol 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"

      Donde:

      • $PROJECT_ID es el nombre del proyecto de Google Cloud que has creado 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 el rol Administrador de organización de Apigee.
  2. Descarga la clave de la cuenta de servicio en tu sistema. Usa el siguiente comando para descargar la clave en tu directorio service-accounts/. Para obtener más información, consulta las instrucciones sobre cómo crear claves de cuentas de servicio en la documentación de GCP.
    1. Asegúrate de que estás 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

      La salida debería tener un aspecto similar al 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 al 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 de tu cuenta de servicio 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 siguiente paso.

  7. Llama a la API setSyncAuthorization para habilitar los permisos necesarios para 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"'"]}'
    

    Donde:

    • $ORG_NAME: el nombre de tu organización híbrida.
    • apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com: dirección de correo de la cuenta de servicio apigee-synchronizer.
  8. Para verificar que se ha 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 que estás 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 debe ser el clúster en el que vas a implementar Apigee Hybrid.
    kubectl config get-contexts
  3. Solo para las plataformas AWS en GKE, EKS y GKE on-premise, comprueba que la variable KUBECONFIG se ha definido con el siguiente comando.
    echo $KUBECONFIG
  4. Haz una inicialización de prueba de funcionamiento. Ejecuta el comando init con la marca --dry-run. Al hacer una prueba, puedes comprobar si hay errores antes de que se apliquen cambios al clúster.

    En la versión híbrida 1.4.4, la sintaxis de la marca --dry-run depende de la versión de kubectl que estés usando. Comprueba la versión de kubectl con el siguiente comando:

    kubectl version

    kubectl versión 1.17 y anteriores:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true

    kubectl versión 1.18 y 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

    El comando init instala los servicios de despliegue de Apigee Apigee Deployment Controller y Apigee Admission Webhook.

  6. Para comprobar 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, ve al siguiente paso.

  7. Haz una instalación de prueba de funcionamiento. Ejecuta el comando apply con la marca --dry-run.

    kubectl versión 1.17 y anteriores:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true

    kubectl versión 1.18 y posteriores:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
  8. Si no hay errores, puedes aplicar los componentes de tiempo de ejecución específicos de Apigee al clúster con el siguiente comando:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  9. Para comprobar el estado del despliegue, ejecuta el siguiente comando:
    $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.