Gérer les clusters Kubernetes

Google Distributed Cloud (GDC) air-gapped vous permet de gérer vos clusters Kubernetes après leur création à l'aide de GKE sur GDC. Ce service vous permet de vous adapter à l'évolution des exigences de vos charges de travail de conteneurs et de gérer vos nœuds de cluster existants à l'aide des workflows suivants :

Ce document s'adresse aux administrateurs informatiques du groupe d'administrateurs de plate-forme, qui gèrent les charges de travail de conteneurs hébergées dans des clusters répartis sur plusieurs projets, et aux développeurs du groupe d'opérateurs d'applications, qui sont chargés de créer des charges de travail d'application dans un seul projet. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.

Avant de commencer

Pour effectuer les tâches décrites dans ce document, vous devez disposer des ressources et des rôles suivants :

  • Pour afficher et gérer les pools de nœuds dans un cluster Kubernetes partagé, demandez à votre administrateur IAM de l'organisation de vous accorder les rôles suivants :

    • Administrateur de cluster d'utilisateur (user-cluster-admin)
    • Lecteur de nœuds de cluster d'utilisateur (user-cluster-node-viewer)

    Ces rôles ne sont pas liés à un espace de noms de projet.

  • Pour afficher et gérer les pools de nœuds dans un cluster Kubernetes standard, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Administrateur de cluster standard (standard-cluster-admin). Ce rôle est lié à l'espace de noms de votre projet.

  • Pour exécuter des commandes sur un cluster Kubernetes, assurez-vous de disposer des ressources suivantes :

    • Recherchez le nom du cluster Kubernetes ou demandez-le à un membre du groupe des administrateurs de la plate-forme.

    • Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes si vous n'en avez pas.

    • Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer KUBERNETES_CLUSTER_KUBECONFIG dans ces instructions.

Déplacer des clusters dans la hiérarchie de projet

Les projets permettent de regrouper logiquement les instances de service. Vous pouvez ajouter et supprimer des clusters Kubernetes partagés de la hiérarchie de projets GDC pour regrouper vos services de manière appropriée. Vous ne pouvez pas déplacer les clusters standards dans la hiérarchie des projets, car ils ne sont limités qu'à un seul projet.

Associer un projet à un cluster partagé

Lorsque vous créez un cluster partagé à partir de la console GDC, vous devez associer au moins un projet avant de pouvoir y déployer des charges de travail de conteneur. Si vous devez ajouter des projets à un cluster existant, procédez comme suit :

  1. Dans le menu de navigation, sélectionnez Kubernetes Engine > Clusters.
  2. Cliquez sur le cluster dans la liste des clusters pour ouvrir la page Détails du cluster.
  3. Sélectionnez Associer un projet.
  4. Sélectionnez les projets disponibles à ajouter dans la liste des projets. Cliquez sur Enregistrer.

Dissocier un projet d'un cluster partagé

Pour dissocier un projet d'un cluster partagé existant, procédez comme suit :

  1. Dans le menu de navigation, sélectionnez Kubernetes Engine > Clusters.
  2. Cliquez sur le cluster dans la liste des clusters pour ouvrir la page Détails du cluster.
  3. Cliquez sur Détacher pour détacher le projet du cluster.

Afficher tous les clusters d'une organisation

Vous pouvez afficher tous les clusters Kubernetes disponibles dans une organisation, y compris leur état, leur version Kubernetes et d'autres informations.

Étant donné que les clusters Kubernetes sont des ressources zonales, vous ne pouvez lister les clusters que par zone.

Console

  • Dans le menu de navigation, sélectionnez Kubernetes Engine > Clusters.

    Tous les clusters partagés disponibles dans l'organisation, ainsi que leur état et d'autres informations, s'affichent :

    Page "Détails du cluster" pour les états et autres informations de chaque cluster partagé dans l'organisation.

gdcloud

  • Répertoriez les clusters partagés disponibles dans une organisation pour une zone donnée :

    gdcloud clusters list
    

    Le résultat ressemble à ce qui suit :

    CLUSTERREF.NAME   READINESS.STATE   TYPE   CURRENTVERSION.USERCLUSTERVERSION     CURRENTVERSION.SUPPORT.STATUS
    user-vm-1         Ready             user   1.15.0-gdch.394225-1.28.15-gke.1200   In Support
    user-vm-2         Ready             user   1.15.0-gdch.394225-1.29.12-gke.800    In Support
    

API

  • Listez les clusters Kubernetes disponibles dans une organisation pour une zone donnée :

    kubectl get clusters.cluster.gdc.goog -n KUBERNETES_CLUSTER_NAMESPACE \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Remplacez les éléments suivants :

    • MANAGEMENT_API_SERVER : chemin d'accès au fichier kubeconfig du serveur d'API zonal. Si vous n'avez pas encore généré de fichier kubeconfig pour le serveur d'API dans votre zone cible, consultez Se connecter pour en savoir plus.
    • KUBERNETES_CLUSTER_NAMESPACE : espace de noms du cluster. Pour les clusters partagés, utilisez l'espace de noms platform. Pour les clusters standards, utilisez l'espace de noms du projet du cluster.

    Le résultat ressemble à ce qui suit :

    NAME        STATE     K8S VERSION
    user-vm-1   Running   1.25.10-gke.2100
    user-test   Running   1.26.5-gke.2100
    

Lister les versions Kubernetes disponibles pour un cluster

Vous pouvez lister les versions Kubernetes disponibles dans votre zone GDC pour vérifier les fonctionnalités Kubernetes auxquelles vous pouvez accéder dans le cluster.

  • Répertoriez les versions Kubernetes disponibles dans votre zone :

    kubectl get userclustermetadata.upgrade.private.gdc.goog \
        -o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Remplacez MANAGEMENT_API_SERVER par le fichier kubeconfig du serveur d'API zonal de votre cluster.

    La sortie ressemble à ceci :

    K8S-VERSION
    1.25.10-gke.2100
    1.26.5-gke.2100
    1.27.4-gke.500
    

Afficher les propriétés modifiables

Pour chaque cluster Kubernetes, un ensemble de propriétés peuvent être modifiées après sa création. Vous ne pouvez modifier que les propriétés modifiables qui se trouvent dans le spec de la ressource personnalisée Cluster. Toutes les propriétés de spec ne peuvent pas être mises à jour une fois le cluster provisionné. Pour afficher ces propriétés modifiables, procédez comme suit :

Console

  1. Dans le menu de navigation, sélectionnez Kubernetes Engine > Clusters.

  2. Dans la liste des clusters Kubernetes, cliquez sur le nom d'un cluster pour afficher ses propriétés.

  3. Les propriétés modifiables sont associées à une icône Modifier.

kubectl

  • Consultez la liste des propriétés de la spécification Cluster et les valeurs valides correspondant à chaque propriété :

    kubectl explain clusters.cluster.gdc.goog.spec \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Remplacez MANAGEMENT_API_SERVER par le chemin d'accès du fichier kubeconfig pour le serveur d'API zonal. Si vous n'avez pas encore généré de fichier kubeconfig pour le serveur d'API dans votre zone cible, consultez Se connecter pour en savoir plus.

    Le résultat ressemble à ce qui suit :

    KIND:     Cluster
    VERSION:  cluster.gdc.goog/v1
    
    RESOURCE: spec <Object>
    
    DESCRIPTION:
        <empty>
    
    FIELDS:
      clusterNetwork    <Object>
        The cluster network configuration. If unset, the default configurations
        with pod and service CIDR sizes are used. Optional. Mutable.
    
      initialVersion    <Object>
        The GDC air-gapped version information of the user cluster during cluster creation.
        Optional. Default to use the latest applicable version. Immutable.
    
      loadBalancer  <Object>
        The load balancer configuration. If unset, the default configuration with
        the ingress service IP address size is used. Optional. Mutable.
    
      nodePools <[]Object>
        The list of node pools for the cluster worker nodes. Optional. Mutable.
    
      releaseChannel    <Object>
        The release channel a cluster is subscribed to. When a cluster is
        subscribed to a release channel, GDC maintains the cluster versions for
        users. Optional. Mutable.
    

    Mettez à jour ces paramètres à l'aide de la console GDC ou de CLI kubectl. Par exemple, vous pouvez redimensionner un pool de nœuds.

Étapes suivantes