Insights sur le compte de service des nœuds GKE

Cette page décrit les insights de Network Analyzer pour les insights sur les comptes de service de nœuds Google Kubernetes Engine (GKE). Pour en savoir plus sur tous les types d'insights, consultez la section Groupes et types d'insights.

Pour afficher ces insights dans la gcloud CLI ou l'API Recommender, utilisez le type d'insight suivant:

  • google.networkanalyzer.container.serviceAccountInsight

Vous devez disposer des autorisations suivantes :

  • recommender.networkAnalyzerGkeServiceAccountInsights.list
  • recommender.networkAnalyzerGkeServiceAccountInsights.get

Pour en savoir plus sur l'utilisation de l'API Recommender pour les insights de Network Analyzer, consultez la section Utiliser la CLI et l'API Recommender.

Le compte de service de nœud GKE est désactivé

Cet insight indique qu'un ou plusieurs pools du cluster utilisent un compte de service de nœud GKE désactivé, ce qui peut entraîner l'échec de l'amorçage et de l'enregistrement des nœuds du cluster créés lorsque le compte de service est désactivé.

Cet insight inclut les informations suivantes:

  • Compte de service:type particulier de compte généralement utilisé par une application ou une charge de travail de calcul, telle qu'une instance Compute Engine, plutôt que par une personne. Il est identifié par son adresse e-mail, qui est unique au compte. Ces informations sont disponibles dans l'API Recommender.
  • Cluster GKE:nom du cluster GKE.
  • Pools de nœuds:liste des pools de nœuds utilisant le compte de service désactivé

Pour en savoir plus, consultez les pages Activer le compte de service Compute Engine par défaut et Désactiver un compte de service.

Recommandations

Activez le compte de service de nœud. S'il y a des nœuds non enregistrés dans les pools de nœuds concernés, les nœuds redémarrent et s'enregistrent correctement dans le cluster. Le redémarrage de tous les nœuds peut prendre un certain temps. Pour une résolution rapide, nous vous recommandons de resize le pool de nœuds à zéro et de le réinitialiser à X nœuds, ou de créer un pool de nœuds utilisant le même compte de service de nœud.

Le pool de nœuds GKE utilise le compte de service Compute Engine par défaut

Un pool de nœuds de votre cluster GKE utilise le compte de service Compute Engine par défaut comme compte de service de nœud. Ce compte nécessite plus d'autorisations que nécessaire pour exécuter votre cluster Google Kubernetes Engine.

Cet insight inclut les informations suivantes:

  • Cluster GKE:nom du cluster GKE.
  • Pools de nœuds:liste des pools de nœuds utilisant le compte de service par défaut

Pour en savoir plus, consultez la page Utiliser le principe du moindre privilège pour les comptes de service.

Recommandations

Au lieu du compte de service Compute Engine par défaut, créez et utilisez un compte de service avec moins de privilèges pour vos nœuds.

Le pool de nœuds GKE comporte des niveaux d'accès mal configurés

Un pool de nœuds de votre cluster GKE a des niveaux d'accès spécifiés manuellement, mais ceux-ci sont insuffisants pour enregistrer un nœud.

Si vos charges de travail utilisent des identifiants par défaut de l'application (ADC), les niveaux d'accès constituent l'ancienne méthode d'attribution d'autorisations pour vos nœuds et pour les charges de travail exécutées sur vos nœuds. Pour les nœuds GKE, utilisez toujours au moins les champs d'application par défaut, sinon ils ne pourront pas s'enregistrer.

Cet insight inclut les informations suivantes:

  • Cluster GKE:nom du cluster GKE.
  • Pools de nœuds:liste des pools de nœuds dont les niveaux d'accès sont mal configurés

Pour en savoir plus, consultez la page Niveaux d'accès dans GKE.

Recommandations

Remplacez le pool de nœuds par un pool disposant de niveaux d'accès suffisants. Pour créer un pool de nœuds avec des niveaux d'accès suffisants, effectuez l'une des opérations suivantes:

  • Créez le pool de nœuds sans spécifier de niveaux d'accès. Dans la Google Cloud CLI, n'incluez pas l'option --scopes lorsque vous appelez gcloud container node-pools create.

    Pour autoriser les charges de travail exécutées sur vos nœuds, utilisez les autorisations IAM (Identity and Access Management) ou le contrôle des accès basé sur les rôles (RBAC) de Kubernetes. Cela permet d'accorder l'accès à des comptes de service IAM ou à des comptes de service Kubernetes spécifiques. Pour en savoir plus, consultez la page Configurer un compte de service personnalisé pour les charges de travail.

  • Dans la nouvelle liste des pools de nœuds contenant les niveaux d'accès spécifiés manuellement, ajoutez les champs d'application suivants.

    • https://www.googleapis.com/auth/devstorage.read_only
    • https://www.googleapis.com/auth/service.management.readonly
    • https://www.googleapis.com/auth/servicecontrol
    • https://www.googleapis.com/auth/trace.append
    • https://www.googleapis.com/auth/logging.write
    • https://www.googleapis.com/auth/monitoring.write