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 Google Distributed Cloud.

Avec les 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 "enabled" 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 conserver ce document ouvert dans un nouvel onglet ou dans une autre fenêtre.

Voici un exemple de fichier de configuration de secrets. Le groupe Secret possède 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 votre fichier de configuration de cluster d'administrateur, définissez preparedSecrets.enabled sur true :

preparedsecrets:
  enabled: true

Dans votre fichier de configuration de cluster d'utilisateur, ne spécifiez pas de valeurs pour les champs suivants. Ces champs ne sont pas nécessaires, car Google Distributed Cloud obtient les identifiants et les clés à partir de vos secrets 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 alterner les identifiants, vous avez besoin d'un fichier de configuration de secrets. Deux approches s'offrent à vous :

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

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

    Pour générer un fichier de configuration de 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 Google Distributed Cloud.

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

Remplacez les 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 de la section Mettre à jour un cluster.

Toutefois, si vous souhaitez activer Cloud Logging et Cloud Monitoring ou Cloud Audit Logs dans le cadre de la mise à jour, procédez comme suit :

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

  2. Dans le fichier de configuration de secrets, indiquez des valeurs pour stackdriverServiceAccount.serviceAccountKeyPath, 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