Configurar credenciales preparadas para un clúster de administrador

En este documento se muestra cómo configurar credenciales preparadas para un clúster de administrador en Google Distributed Cloud.

Con las credenciales preparadas, puedes almacenar las credenciales de tu clúster de administrador en un secreto de tu clúster de administrador. Esto proporciona un elemento de seguridad, ya que no tienes que guardar contraseñas ni claves de cuentas de servicio en tu estación de trabajo de administrador.

Ten en cuenta la siguiente limitación de los clústeres avanzados:

  • Versión 1.31: las credenciales preparadas no se admiten en los clústeres avanzados.
  • Versión 1.32 y posteriores: las credenciales preparadas se admiten en clústeres avanzados.

Resumen del procedimiento

  1. Rellena un archivo de configuración de secretos.

  2. En el archivo de configuración del clúster de administrador, asigna el valor "true" a "enabled".

  3. Ejecutar gkectl prepare

  4. Crea el clúster de administrador.

Rellena el archivo de configuración de secretos

Genera una plantilla para un archivo de configuración de Secrets:

gkectl create-config secrets

El comando anterior genera un archivo llamado secrets.yaml. Si quieres, puedes cambiar el nombre y la ubicación de este archivo.

Familiarízate con el archivo de configuración leyendo el documento Archivo de configuración de secretos. Te recomendamos que mantengas este documento abierto en otra pestaña o ventana.

A continuación, se muestra un ejemplo de archivo de configuración de Secrets. El grupo Secret tiene valores para las credenciales de vCenter y cuatro claves de cuenta de servicio:

apiVersion: v1
kind: ClusterSecrets
secretGroups:
- secrets
  vCenter:
    username: "my-vcenter-account"
      password: "U$icUKEW#INE"
    componentAccessServiceAccount:
      serviceAccountKeyPath: "my-key-folder/component-access-key.json"
    registerServiceAccount:
      serviceAccountKeyPath: "my-key-folder/connect-register-key.json"
    stackdriverServiceAccount:
      serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
    cloudAuditLoggingServiceAccount:
      serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

Archivo de configuración de clúster de administradores

Crea un archivo de configuración de clúster de administradores tal como se describe en Crear un clúster de administradores.

En el archivo de configuración del clúster de administrador, asigna el valor true a preparedSecrets.enabled:

preparedsecrets:
  enabled: true

En el archivo de configuración del clúster de administrador, no especifiques valores para los siguientes campos. Estos campos no son necesarios, ya que Google Distributed Cloud obtendrá las credenciales y las claves de los secretos que hayas preparado.

  • vCenter.credentials.fileRef.path
  • componentAccessServiceAccountKeyPath
  • loadBalancer.f5BigIP.credentials.fileRef.path
  • gkeConnect.registerServiceAccountKeyPath
  • stackdriver.serviceAccountKeyPath
  • cloudAuditLogging.serviceAccountKeyPath
  • privateRegistry.credentials.fileRef.path

Inicializar el entorno

Importa imágenes de SO a vSphere y envía imágenes de contenedor a un registro privado si se ha especificado alguno:

gkectl prepare --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

Haz los cambios siguientes:

  • ADMIN_CLUSTER_CONFIG: la ruta del archivo de configuración de tu clúster de administrador

  • SECRETS_CONFIG: la ruta del archivo de configuración de Secrets

Crear el clúster de administrador

Crea el clúster de administrador:

gkectl create admin --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

Haz los cambios siguientes:

  • ADMIN_CLUSTER_CONFIG: la ruta del archivo de configuración de tu clúster de administrador

  • SECRETS_CONFIG: la ruta del archivo de configuración de Secrets

Rotar credenciales

Para rotar las credenciales, necesitas un archivo de configuración de secretos. Puedes adoptar dos enfoques:

  • Ejecuta gkectl create-config secrets para generar un archivo de configuración de secretos. Rellena el archivo con las nuevas claves de cuenta de servicio.

  • Genera un archivo de configuración de Secrets desde el clúster de administrador. A continuación, sustituye las claves de cuenta de servicio seleccionadas por otras nuevas.

    Para generar un archivo de configuración de Secrets desde el clúster de administrador, haz lo siguiente:

    gkectl get-config admin --export-secrets-config \
      --bundle-path BUNDLE \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Haz los cambios siguientes:

    • BUNDLE: la ruta del archivo del paquete de Google Distributed Cloud

    • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador

Rota las credenciales:

gkectl update credentials CREDENTIAL_TYPE \
    --config ADMIN_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --secret-config SECRETS_CONFIG \
    --admin-cluster

Haz los cambios siguientes:

  • CREDENTIAL_TYPE: uno de los siguientes: vsphere, f5bigip, privateregistry, componentaccess, register, stackdriver o cloudauditlogging.

  • ADMIN_CLUSTER_CONFIG: la ruta del archivo de configuración del clúster de administrador

  • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador

  • SECRETS_CONFIG: la ruta del archivo de configuración de Secrets

Actualizar

Para actualizar un clúster de administradores que usa credenciales preparadas, en muchos casos, puedes seguir las instrucciones que se indican en Actualizar un clúster.

Sin embargo, si quieres habilitar Cloud Logging y Cloud Monitoring o Cloud Audit Logs como parte de la actualización, sigue estos pasos:

  1. Genera un archivo de configuración de secretos.

  2. En el archivo de configuración de Secrets, proporciona valores para stackdriverServiceAccount.serviceAccountKeyPath y cloudAuditLoggingServiceAccount.serviceAccountKeyPath, o para ambos.

  3. Actualiza el clúster:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --config ADMIN_CLUSTER_CONFIG \
      --secret-config SECRETS_CONFIG