Configurer des identifiants préparés pour un cluster d'administrateur

Ce document explique comment configurer des identifiants préparés pour un cluster d'administrateur dans GKE sur VMware.

Avec des identifiants préparés, vous pouvez stocker les identifiants de votre cluster d'administrateur dans un secret de votre cluster d'administrateur. Cela offre un élément de sécurité, car vous n'avez pas besoin de conserver les mots de passe et les clés de compte de service sur votre poste de travail administrateur.

Présentation de la procédure

  1. Remplissez un fichier de configuration de Secrets.

  2. Dans le fichier de configuration de votre cluster d'administrateur, définissez "Activé" sur "true".

  3. Exécuter gkectl prepare

  4. Créez le cluster d'administrateur.

Remplir le fichier de configuration de vos secrets

Générer un modèle pour un fichier de configuration de secrets :

gkectl create-config secrets

La commande précédente génère un fichier nommé secrets.yaml. Vous pouvez modifier le nom et l'emplacement de ce fichier si vous le souhaitez.

Familiarisez-vous avec le fichier de configuration en lisant le document Fichier de configuration des secrets. Vous pouvez laisser ce document ouvert dans un onglet ou une fenêtre séparés.

Voici un exemple de fichier de configuration des secrets. Le groupe "Secret" contient des valeurs pour les identifiants vCenter et quatre clés de compte de service:

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"

Fichier de configuration du cluster d'administrateur

Créez un fichier de configuration de cluster d'administrateur comme décrit dans la section Créer un cluster d'administrateur.

Dans le fichier de configuration de votre cluster d'administrateur, définissez preparedSecrets.enabled sur true:

preparedsecrets:
  enabled: true

Dans le fichier de configuration de votre cluster d'administrateur, ne spécifiez pas de valeurs pour les champs suivants. Ces champs ne sont pas nécessaires, car GKE sur VMware obtient des identifiants et des clés à partir des secrets que vous avez préparés.

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

Initialiser l'environnement

Importez des images d'OS dans vSphere et transférez des images de conteneurs vers un registre privé, le cas échéant.

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

Remplacez les éléments suivants :

  • ADMIN_CLUSTER_CONFIG : chemin d'accès au fichier de configuration du cluster d'administrateur

  • SECRETS_CONFIG: chemin d'accès à votre fichier de configuration Secrets

Créer le cluster d'administrateur

Créez le cluster d'administrateur :

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

Remplacez les éléments suivants :

  • ADMIN_CLUSTER_CONFIG : chemin d'accès au fichier de configuration du cluster d'administrateur

  • SECRETS_CONFIG: chemin d'accès à votre fichier de configuration Secrets

Effectuer une rotation des identifiants

Pour effectuer la rotation des identifiants, vous avez besoin d'un fichier de configuration Secrets. Vous pouvez adopter deux approches:

  • Exécutez gkectl create-config secrets pour générer un nouveau fichier de configuration des secrets. Complétez le fichier avec les nouvelles clés de compte de service.

  • Générez un fichier de configuration des secrets à partir du cluster d'administrateur. Remplacez ensuite les clés de compte de service sélectionnées par de nouvelles clés.

    Pour générer un fichier de configuration des secrets à partir du cluster d'administrateur:

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

    Remplacez les éléments suivants :

    • BUNDLE: chemin d'accès au fichier de bundle GKE sur VMware

    • ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur

Effectuez une rotation des identifiants:

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

Remplacez les éléments suivants :

  • CREDENTIAL_TYPE: l'un des éléments suivants: vsphere, f5bigip, privateregistry, componentaccess, register, stackdriver, cloudauditlogging.

  • ADMIN_CLUSTER_CONFIG : chemin d'accès au fichier de configuration du cluster d'administrateur

  • ADMIN_CLUSTER_KUBECONFIG : chemin d'accès du fichier kubeconfig du cluster d'administrateur

  • SECRETS_CONFIG: chemin d'accès au fichier de configuration des secrets

Mettre à jour

Pour mettre à jour un cluster d'administrateur qui utilise des identifiants préparés, vous pouvez, dans de nombreux cas, suivre les instructions indiquées dans la section Mettre à jour un cluster.

Toutefois, si vous souhaitez activer Cloud Logging et Cloud Monitoring ou les journaux d'audit Cloud dans le cadre de la mise à jour, procédez comme suit:

  1. Générez un fichier de configuration des secrets.

  2. Dans le fichier de configuration des secrets, indiquez des valeurs pour stackdriverServiceAccount.serviceAccountKeyPath et cloudAuditLoggingServiceAccount.serviceAccountKeyPath, ou les deux.

  3. Mettez à jour le cluster :

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