Insights sur les comptes de service de nœud GKE

Cette page décrit les insights Network Analyzer pour les insights sur les comptes de service de nœud 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 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 un échec du démarrage et de l'enregistrement de tous les nœuds du cluster créés lorsque le compte de service est désactivé.

Cet insight inclut les informations suivantes:

  • Compte de service:type de compte particulier 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 par défaut de Compute Engine et Désactiver un compte de service.

Recommandations

Activez le compte de service du nœud. Si des nœuds non enregistrés sont présents dans les pools de nœuds concernés, ils redémarrent et s'enregistrent correctement auprès du cluster. Le redémarrage de tous les nœuds peut prendre un certain temps. Pour une résolution rapide, nous vous recommandons de redimensionner le pool de nœuds pour qu'il n'inclue aucun nœud, puis de le redimensionner pour qu'il inclue X nœuds, ou de créer un pool de nœuds qui utilise 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 par défaut Compute Engine 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 section 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 moins privilégié pour vos nœuds.

Les champs d'application d'accès du pool de nœuds GKE sont mal configurés

Un pool de nœuds de votre cluster GKE comporte des champs d'accès spécifiés manuellement, mais les champs spécifiés ne suffisent pas à enregistrer un nœud.

Si vos charges de travail utilisent des identifiants par défaut de l'application (ADC), les champs d'application d'accès constituent l'ancienne méthode permettant d'accorder des autorisations à vos nœuds et aux 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 champs d'application de l'accès sont mal configurés.

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

Recommandations

Remplacez le pool de nœuds par un autre avec des champs d'application suffisants. Pour créer un pool de nœuds avec des champs d'application d'accès suffisants, procédez comme suit:

  • Créez le pool de nœuds sans spécifier de champ d'application d'accès. Dans 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 des autorisations IAM (Identity and Access Management) ou le contrôle des accès basé sur les rôles (RBAC) de Kubernetes. afin d'accorder l'accès à des comptes de service IAM ou Kubernetes spécifiques. Pour en savoir plus, consultez la section Configurer un compte de service personnalisé pour les charges de travail.

  • Dans la liste des champs d'application spécifiés manuellement du nouveau pool de nœuds, 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