Paso 4: Instala el híbrido en GKE

Aplica la configuración al clúster

Para instalar Apigee Hybrid en tu clúster, haz los siguiente:

  1. Asegúrate de estar en el directorio hybrid-base-directory/hybrid-files.
  2. Verifica que kubectl esté configurado en el contexto correcto. El contexto actual debe configurarse en el clúster en el que realizas la implementación:
    kubectl config get-contexts
  3. Ejecuta el comando init:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Con el comando init, se instalan los servicios de implementación de Apigee, Apigee Deployment Controller y Apigee Admission Webhook, y se implementan los componentes que no son de Apigee, Istio y Cert Manager.

  4. Para verificar el estado de la implementación, puedes usar estos comandos:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    y

    kubectl get pods -n apigee-system

    y

    kubectl get pods -n istio-system

    Cuando los pods estén listos, continúa con el siguiente paso.

  5. Realiza una instalación de “ejecución de prueba”. Ejecuta el comando apply con la marca --dry-run=true. Realizar una ejecución de prueba te permite comprobar si hay errores antes de que se realicen cambios en el clúster.
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
  6. Si no hay errores, puedes aplicar los componentes de entorno de ejecución específicos de Apigee al clúster:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  7. Para verificar el estado de la implementación, haz los siguiente:
    $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.

Habilita el acceso del sincronización

  1. Crea una cuenta de servicio de GCP 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.
  2. Descarga la clave de la cuenta de servicio a tu sistema. Sigue las instrucciones en Crea claves de cuentas de servicio en la documentación de GCP.
  3. Mueve la clave de la cuenta de servicio descargada en directorio de tus cuentas de servicio: /hybrid-base-directory/hybrid-files/service-accounts.
  4. Ejecuta estos dos comandos para obtener un token:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    En el ejemplo anterior org-admin-service-account-file es la ruta en tu sistema a la clave de la cuenta de servicio que descargaste con la función Administrador de la organización de Apigee.

  5. Llama a la API de setSyncAuthorization para habilitar los permisos requeridos por el sincronizador:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
    

    Aquí:

    • your_org_name: Es el nombre de tu organización híbrida.
    • synchronizer-manager-service-account-email: Es el nombre de una cuenta de servicio con la función de Apigee Synchronizer Manager. El nombre se forma como una dirección de correo electrónico. Por ejemplo: apigee-synchronizer@my-project.iam.gserviceaccount.com

    Ejemplo:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com"]}'
    
  6. Para verificar que se configuró la cuenta de servicio, llama a la siguiente API a fin de 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/your_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="
    }
        

Agrega el alias de host de MART a tu organización

Debes agregar el alias de host del extremo de MART a tu organización de Apigee. Debes establecer este valor antes cuando estableciste el valor de la propiedad mart.hostAlias en el archivo de anulaciones. El plano de administración necesita esta dirección para que pueda comunicarse con el plano del entorno de ejecución mediante MART.

Sigue estos pasos para agregar el alias de host de MART a tu organización:

  1. Obtén el valor que configuraste antes en tu archivo de anulaciones para la propiedad mart.hostAlias. Para que MART funcione, el alias de host debe ser un nombre de dominio completamente calificado.
  2. Ubica la clave de la cuenta de servicio con la función Administrador de la organización de Apigee que descargaste anteriormente, en la sección Habilita el acceso del sincronizador.
  3. Ejecuta estos dos comandos para obtener un token:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    En el ejemplo anterior org-admin-service-account-file es la ruta en tu sistema a la clave de la cuenta de servicio que descargaste con la función Administrador de la organización de Apigee.

  4. Llama a la siguiente API de administración para actualizar tu organización con el extremo de MART:
    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/your_org_name \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "your_org_name",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://HOST_ALIAS_DNS"
        } ]
      }
    }'

    A continuación, se muestra un ejemplo. Asegúrate de agregar el prefijo “https://” al alias del host.

    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/my_organization \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "my_organization",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://foo-mart.example.com"
        } ]
      }
    }'

Guarda el archivo de anulaciones

Asegúrate de guardar el archivo de anulaciones. Necesitarás este archivo para realizar actualizaciones, aplicar parches o cualquier otra modificación en la configuración del clúster en lo sucesivo.