Configuración de clústeres on-premise

En este documento se explica cómo configurar Autorización binaria para clústeres locales creados como parte de Google Distributed Cloud. A continuación, se explica cómo configurar una política de autorización binaria de ejemplo.

Antes de empezar

  1. Asegúrate de que tus clústeres tengan una versión compatible de Google Distributed Cloud. Autorización binaria admite los siguientes entornos.

    Bare metal

    Google Distributed Cloud 1.14 o 1.15. En la versión 1.16 o posteriores, la autorización binaria se puede configurar durante la creación o la actualización del clúster.

    VMware

    Distributed Cloud for VMware (Google Distributed Cloud) 1.4 o versiones posteriores.

  2. El servicio Autorización binaria usa una dirección IP externa a la que se puede acceder mediante una conexión a Internet normal. Configura las reglas de cortafuegos para HTTPS de forma que el clúster de usuarios pueda acceder al endpoint binaryauthorization.googleapis.com.

  3. Si quieres usar registros de auditoría de Cloud centralizados para ver las entradas de registro de auditoría, incluidas las de Autorización binaria para clústeres externos Google Cloud, debes configurar los registros de auditoría de Cloud en la configuración de tu clúster.

    Bare metal

    Configura los registros de auditoría de Cloud en Google Distributed Cloud.

    VMware

    Configura los registros de auditoría de Cloud en Google Distributed Cloud.

  4. Debes habilitar la API de autorización binaria de la siguiente manera:

    1. Ve a la Google Cloud consola.

      Habilitar APIs

    2. En la lista desplegable de proyectos, selecciona el proyecto host de tu flota. Puedes encontrarlo en la sección gkeConnect de tu archivo de configuración de clúster de usuario. Este es el Google Cloud proyecto que conecta tu clúster de usuarios con Google Cloud.

Configurar autorización binaria

En esta sección, configurarás la autorización binaria en tu clúster local.

Especificar variables de entorno de instalación

Para especificar las variables de entorno, haga lo siguiente:

Usar Workload Identity

  1. Especifica el proyecto host de tu flota:

    export PROJECT_ID=PROJECT_ID
    
  2. Asigna el ID de pertenencia a la flota al ID de tu clúster:

    El ID de la suscripción se muestra en la columna NAME cuando ejecutas el comando gcloud container fleet memberships list.

    export MEMBERSHIP_ID=CLUSTER_NAME
    

Usar una clave de cuenta de servicio

  1. Especifica el proyecto host de tu flota:

    export PROJECT_ID=PROJECT_ID
    

    Sustituye PROJECT_ID por el Google Cloud proyecto en la sección gkeConnect de tu archivo de configuración del clúster de usuarios.

  2. Especifica la ruta del archivo kubeconfig del clúster de usuarios:

    export KUBECONFIG=PATH
    

    Sustituye PATH por la ruta del archivo kubeconfig de tu clúster de usuario.

  3. Elige un nombre para la cuenta de servicio de acceso a la API de autorización binaria:

    export SA_NAME=SERVICE_ACCOUNT_NAME
    

    Sustituye SERVICE_ACCOUNT_NAME por el nombre de la cuenta de servicio que quieras. El módulo de autorización binaria usa esta cuenta de servicio para acceder a la API Binary Authorization.

  4. Especifica la ruta al archivo de clave de cuenta de servicio que descargarás más adelante en esta guía:

    export SA_JSON_PATH=SA_KEY_FILE_PATH
    

    Sustituye SA_KEY_FILE_PATH por la ruta del archivo de clave JSON de la cuenta de servicio.

Instalar el módulo de autorización binaria en el clúster de usuario

Para instalar el módulo de autorización binaria, haz lo siguiente:

Usar Workload Identity

La identidad de carga de trabajo de flotas permite que las cargas de trabajo de tu clúster se autentiquen en Google sin que tengas que descargar, rotar manualmente y gestionar en general las claves de las cuentas de servicio. Google Cloud Para obtener más información sobre cómo funciona la identidad de cargas de trabajo de flotas y las ventajas de usarla, consulta el artículo Usar la identidad de cargas de trabajo de flotas.

  1. Asigna el rol binaryauthorization.policyEvaluator a la cuenta de servicio de Kubernetes en el proyecto host de tu flota:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
        --member="serviceAccount:${PROJECT_ID}.svc.id.goog[binauthz-system/binauthz-admin]" \
        --role="roles/binaryauthorization.policyEvaluator"
    
  2. Crea un directorio de trabajo:

    1. Crea un directorio llamado binauthz.

    2. Cambia al directorio.

  3. Descarga el archivo manifest-wi-0.2.6.yaml.tmpl, que se usa para instalar el módulo de autorización binaria en tu clúster de usuario:

    Bare metal

    gcloud storage cp gs://anthos-baremetal-release/binauthz/manifest-wi-0.2.6.yaml.tmpl .
    

    VMware

    gcloud storage cp gs://gke-on-prem-release/binauthz/manifest-wi-0.2.6.yaml.tmpl .
    
  4. Sustituye las variables de entorno en la plantilla:

    envsubst < manifest-wi-0.2.6.yaml.tmpl > manifest-0.2.6.yaml
    
  5. Instala el módulo de autorización binaria en tu clúster de usuario:

    kubectl apply -f manifest-0.2.6.yaml
    
  6. Verifica que se haya creado la implementación:

    kubectl get pod --namespace binauthz-system
    

    Verá el pod binauthz-module-deployment-* en la lista con Status de