Comprendre l'utilisation des ressources de cluster

Cette page explique comment utiliser la fonction de mesure de l'utilisation de Google Kubernetes Engine pour comprendre les profils d'utilisation des clusters GKE et associer l'utilisation à des équipes individuelles ou à des unités commerciales au sein de votre entreprise. La mesure de l'utilisation de GKE vous permet de comprendre l'utilisation des ressources à un niveau précis et n'a aucune incidence sur la facturation de votre projet.

Présentation

La mesure de l'utilisation de GKE permet de suivre les informations relatives aux demandes de ressources et à leur utilisation réelle par les charges de travail de votre cluster. Actuellement, la mesure de l'utilisation de GKE permet de suivre les informations relatives au processeur, au GPU, au TPU, à la mémoire, à l'espace de stockage et, éventuellement, à la sortie réseau. Vous pouvez différencier l'utilisation des ressources à l'aide d'espaces de noms Kubernetes, d'étiquettes ou d'une combinaison des deux.

Les données sont stockées dans BigQuery. Vous pouvez ensuite les interroger directement ou les exporter pour analyse à l'aide d'outils externes tels que Google Data Studio.

La mesure de l'utilisation de GKE est utile pour les scénarios suivants :

  • Effectuer le suivi des demandes de ressources par locataire et de la consommation réelle dans un cluster mutualisé où chaque locataire fonctionne dans un espace de noms donné.
  • Déterminer la consommation de ressources d'une charge de travail exécutée dans un cluster donné, en attribuant une étiquette unique aux objets Kubernetes associés à la charge de travail.
  • Identifier les charges de travail dont les demandes de ressources présentent un écart important par rapport à leur consommation réelle, afin d'allouer les ressources en fonction des différentes charges de travail.

Modifications par rapport à la version bêta initiale

La mesure de l'utilisation de GKE présente les modifications suivantes depuis sa version bêta initiale :

  • La consommation réelle des ressources est désormais suivie, en plus des demandes de ressources. La consommation de ressources est suivie pour les clusters fonctionnant sous v1.12.8-gke.8 ou version ultérieure, v1.13.6-gke.7 ou version ultérieure ou 1.14.2-gke.8 ou version ultérieure. La mesure de la consommation de ressources est stockée dans la table gke_cluster_resource_consumption de l'ensemble de données BigQuery. Auparavant, seules les demandes de ressources étaient suivies.
  • Les demandes de TPU (mais pas la consommation réelle des ressources) sont désormais suivies.
  • Vous pouvez maintenant effectuer le suivi des demandes de ressources et de la consommation réelle sur les nœuds utilisant des types de machines personnalisés.
  • Vous pouvez également activer la mesure de l'utilisation de GKE lors de la création ou de la mise à jour d'un cluster dans Google Cloud.
  • Si l'ensemble de données BigQuery est supprimé, la mesure de l'utilisation de GKE le recrée automatiquement. Les données historiques sont perdues.

Mise à niveau…

Toutes les modifications sont rétrocompatibles avec la version bêta initiale. Les données n'ont pas besoin d'être modifiées ni transférées.

Lorsque vous mettez à niveau un cluster vers une version GKE compatible avec la mesure de la consommation des ressources, celle-ci n'est pas activée automatiquement. Vous devez l'activer explicitement à l'aide de l'option --enable-resource-consumption-metering. Une table supplémentaire est automatiquement créée dans l'ensemble de données BigQuery. Les deux tables utilisent le même schéma.

Après la mise à niveau, il vous suffit de créer un tableau de bord Data Studio pour y ajouter les informations sur la consommation réelle des ressources.

Limites

Vous pouvez utiliser les exemples de requêtes BigQuery et le modèle Google Data Studio pour joindre les données de mesure de l'utilisation de GKE aux données de facturation Google Cloud exportées dans BigQuery, afin d'estimer la répartition des coûts par cluster, espace de noms et étiquette. Les données de mesure de l'utilisation de GKE sont purement indicatives et n'ont aucune incidence sur votre facture Google Cloud. Pour les données de facturation, votre facture Google Cloud est la seule source fiable.

Les limites suivantes s'appliquent :

  • Les remises contractuelles spéciales et les crédits ne sont pas pris en compte.
  • Le suivi des ressources créées en dehors du champ d'application de GKE n'est pas effectué par espace de noms ou étiquette.
  • Les types de machines N2 ne sont pas compatibles actuellement.

Prérequis

Avant d'utiliser la mesure de l'utilisation de GKE, vous devez remplir les conditions préalables suivantes :

  • Pour effectuer le suivi de la consommation réelle des ressources, le cluster doit fonctionner sous GKE v1.11.10-gke.5 ou version ultérieure, v1.12.8-gke.8 ou version ultérieure, v1.13.6-gke.7 ou version ultérieure, ou 1.14.2-gke.3 ou version ultérieure.
  • Vous devez activer l'exportation de la facturation pour BigQuery. Les frais sont associés à l'utilisation de BigQuery.
  • La version 250.0.0 ou ultérieure de la commande gcloud est obligatoire. Effectuez la vérification à l'aide de gcloud --version.
  • Vous devez activer l'API BigQuery dans votre projet Google Cloud. Si vous avez activé GKE pour la première fois après juillet 2018, c'est déjà fait.

Activer la mesure de l'utilisation de GKE

Pour activer la mesure de l'utilisation de GKE, vous devez d'abord créer un ensemble de données BigQuery pour un seul cluster, pour plusieurs clusters dans le projet ou pour l'ensemble du projet. Pour en savoir plus sur le choix d'un mappage entre des ensembles de données et des clusters, consultez Choisir un ou plusieurs ensembles de données BigQuery.

Ensuite, vous activez la mesure de l'utilisation de GKE lors de la création d'un cluster ou en modifiant un cluster existant.

Si vous le souhaitez, vous pouvez créer un tableau de bord Google Data Studio pour visualiser l'utilisation des ressources de vos clusters.

Créer un ensemble de données BigQuery

Pour utiliser la mesure de l'utilisation de GKE pour les clusters de votre projet Google Cloud, vous devez d'abord créer l'ensemble de données BigQuery, puis configurer les clusters en conséquence. Vous pouvez utiliser un seul ensemble de données BigQuery pour stocker les informations sur l'utilisation des ressources pour plusieurs clusters dans le même projet.

Visitez Créer des ensembles de données pour en savoir plus. Définissez le paramètre Default table expiration pour l'ensemble de données sur Never afin que la table n'expire pas. Toutefois, dans la seconde version bêta de l'outil de mesure de l'utilisation de GKE, si une table expire, elle est recréée automatiquement en tant que table vide.

Activer la mesure de l'utilisation GKE pour un cluster

Vous pouvez activer la mesure de l'utilisation de GKE sur un cluster nouveau ou existant à l'aide de la commande gcloud ou de Cloud Console.

Pour les clusters sous GKE v1.12.8-gke.8 ou version ultérieure ou v1.13.6-gke.7 ou version ultérieure, l'activation de la mesure de l'utilisation de GKE active également la mesure de la consommation des ressources par défaut. Pour désactiver de manière sélective la mesure de la consommation des ressources tout en continuant de suivre les demandes de ressources, consultez dans cette section les instructions spécifiques relatives à l'utilisation de la commande gcloud pour activer la mesure de l'utilisation de GKE.

La mesure de sortie réseau est désactivée par défaut. Pour l'activer, consultez les mises en garde et les instructions de la section Facultatif : Activer la mesure de sortie réseau.

Créer un cluster

gcloud

Pour créer un cluster avec la mesure de l'utilisation de GKE activée, exécutez la commande suivante.

Pour insérer vos propres valeurs dans l'exemple, avant de coller, cliquez sur l'un des champs highlighted (en surbrillance) pour en modifier la valeur. Pour réinitialiser les valeurs, actualisez cette page.

gcloud container clusters create [CLUSTER-NAME] \
  --resource-usage-bigquery-dataset [RESOURCE-USAGE-DATASET]

La mesure de la consommation des ressources est activée par défaut pour les clusters sous GKE v1.12.8-gke.8 et versions ultérieures ou v1.13.6-gke.7 et versions ultérieures. Pour désactiver la fonction et ne suivre que les demandes de ressources, ajoutez l'indicateur --no-enable-resource-consumption-metering à la commande ci-dessus. Vous devez également modifier les exemples de requête dans la suite de cette section afin que les données de consommation des ressources ne soient pas interrogées.

Au besoin, les tables requises sont créées dans l'ensemble de données BigQuery au démarrage du cluster.

Console

  1. Accédez au menu Google Kubernetes Engine dans Cloud Console.

    Accéder au menu Google Kubernetes Engine

  2. Cliquez sur Create cluster (Créer un cluster).

  3. Sélectionnez le modèle Cluster standard ou choisissez un modèle approprié pour votre charge de travail.

  4. Cliquez sur Disponibilité, mise en réseau, sécurité et autres fonctionnalités.

  5. Sélectionnez Activer la mesure de l'utilisation de GKE.

  6. Saisissez le nom de votre ensemble de données BigQuery.

  7. Sélectionnez éventuellement l'option Activer la mesure de sortie réseau après avoir consulté les mises en garde et les instructions de la section Facultatif : Activer la mesure de sortie réseau.

  8. Poursuivez la configuration de votre cluster, puis cliquez sur Enregistrer.

Configurer un cluster existant

gcloud

Pour activer la mesure de l'utilisation de GKE sur un cluster existant, exécutez la commande suivante.

Pour insérer vos propres valeurs dans l'exemple, avant de coller, cliquez sur l'un des champs highlighted (en surbrillance) pour en modifier la valeur. Pour réinitialiser les valeurs, actualisez cette page.

gcloud container clusters update [CLUSTER-NAME] \
  --resource-usage-bigquery-dataset [RESOURCE-USAGE-DATASET]"

La mesure de la consommation des ressources est activée par défaut pour les clusters sous GKE v1.12.8-gke.8 et versions ultérieures ou v1.13.6-gke.7 et versions ultérieures. Pour désactiver la fonction et ne suivre que les demandes de ressources, ajoutez l'indicateur --no-enable-resource-consumption-metering à la commande ci-dessus. Vous devez également modifier les exemples de requête dans la suite de cette section afin que les données de consommation des ressources ne soient pas interrogées.

Vous pouvez également modifier l'ensemble de données utilisé par un cluster existant pour stocker ses données de mesure de l'utilisation en modifiant la valeur de l'option --resource-usage-bigquery-dataset.

En cas de besoin, une table est créée dans l'ensemble de données BigQuery à la mise à jour du cluster.

Console

  1. Accédez au menu Google Kubernetes Engine dans Cloud Console.

    Accéder au menu Google Kubernetes Engine

  2. Cliquez sur le bouton Modifier correspondant au cluster que vous souhaitez modifier, en forme de crayon.

  3. Activez la mesure de l'utilisation de GKE.

  4. Saisissez le nom de l'ensemble de données BigQuery.

  5. Sélectionnez éventuellement l'option Activer la mesure de sortie réseau après avoir consulté les mises en garde et les instructions de la section Facultatif : Activer la mesure de sortie réseau.

  6. Poursuivez la configuration de votre cluster, puis cliquez sur Enregistrer.

Facultatif : Activer la mesure de sortie réseau

Par défaut, les données de sortie réseau ne sont ni collectées, ni exportées. Pour mesurer la sortie réseau, un agent de mesure de réseau (NMA) doit être exécuté sur chaque nœud. Ce type d'agent s'exécute en tant que pod privilégié, utilise certaines ressources du nœud (processeur, mémoire et espace disque), puis active l'indicateur nf_conntrack_acct sysctl sur le noyau (pour la comptabilisation du flux de suivi de connexion).

Si ces désavantages sont tolérables pour vous, vous pouvez activer le suivi de la sortie réseau pour l'utiliser avec la mesure de l'utilisation de GKE. Pour activer le suivi de la sortie réseau, activez l'option --enable-network-egress-metering lors de la création ou de la mise à jour du cluster, ou sélectionnez Activer la mesure de sortie réseau lors de l'activation de la mesure de l'utilisation de GKE dans Google Cloud Console.

Vérifier que la mesure de l'utilisation de GKE est activée

Pour vérifier que la mesure de l'utilisation de GKE est activée sur un cluster et quel ensemble de données BigQuery stocke les données d'utilisation des ressources du cluster, exécutez la commande gcloud container clusters describe.

Pour insérer vos propres valeurs dans l'exemple, avant de coller, cliquez sur l'un des champs highlighted (en surbrillance) pour en modifier la valeur. Pour réinitialiser les valeurs, actualisez cette page.

gcloud container clusters describe [CLUSTER-NAME]\
  --format="value(resourceUsageExportConfig)"

La sortie est vide si la mesure de l'utilisation de GKE n'est pas activée. Sinon, l'ensemble de données BigQuery utilisé par le cluster s'affiche, comme dans la sortie ci-dessous :

bigqueryDestination={u'datasetId': u'test_usage_metering_dataset'}

Désactiver la mesure de l'utilisation de GKE

gcloud

Pour désactiver la mesure de l'utilisation de GKE sur un cluster, exécutez la commande suivante.

Pour insérer vos propres valeurs dans l'exemple, avant de coller, cliquez sur l'un des champs highlighted (en surbrillance) pour en modifier la valeur. Pour réinitialiser les valeurs, actualisez cette page.

gcloud container clusters update [CLUSTER-NAME] \
  --clear-resource-usage-bigquery-dataset

Console

  1. Accédez au menu Google Kubernetes Engine dans Cloud Console.

    Accéder au menu Google Kubernetes Engine

  2. Cliquez sur le bouton Modifier correspondant au cluster que vous souhaitez modifier, en forme de crayon.

  3. Désactivez la mesure de l'utilisation de GKE.

  4. Cliquez sur Save.

Choisir un ou plusieurs ensembles de données BigQuery

Un ensemble de données peut contenir des données de mesure de l'utilisation de GKE pour un ou plusieurs clusters de votre projet. Vous pouvez choisir d'utiliser un ou plusieurs ensembles de données en fonction de vos besoins en matière de sécurité :

  • L'emploi d'un seul ensemble de données pour l'intégralité du projet simplifie la gestion.
  • L'emploi d'un ensemble de données par cluster vous permet de déléguer un accès précis aux ensembles de données.
  • L'emploi d'un ensemble de données par groupe de clusters associé vous permet de trouver l'équilibre parfait entre simplicité et précision selon vos besoins.

Visualiser les données de mesure de l'utilisation de GKE à l'aide d'un tableau de bord Data Studio

Vous pouvez visualiser les données de mesure de l'utilisation de GKE à l'aide d'un tableau de bord Data Studio, qui vous permet de filtrer les données par nom de cluster, espace de noms ou étiquette. Si vous êtes un utilisateur expérimenté de Data Studio et de BigQuery, vous pouvez créer un tableau de bord entièrement personnalisé. Vous pouvez également cloner un tableau de bord que nous avons créé spécifiquement pour la mesure de l'utilisation de GKE.

Vous pouvez utiliser le tableau de bord pour visualiser les demandes de ressources et la consommation de vos clusters au fil du temps.

Prérequis

  1. Activez l'exportation des données de facturation de Google Cloud vers BigQuery si ce n'est pas encore fait. Au cours de ce processus, vous créez un ensemble de données, mais la table qu'il contient prend jusqu'à 5 heures pour apparaître et commencer à être remplie. Le tableau apparaît sous le nom gcp_billing_export_v1_[BILLING_ACCOUNT_ID].
  2. Activez la mesure de l'utilisation de GKE sur au moins un cluster du projet. Notez le nom que vous avez choisi pour l'ensemble de données BigQuery.
  3. Activez Data Studio si ce n'est pas encore fait.
  4. Rassemblez les informations suivantes, nécessaires à la configuration du tableau de bord :

    • ID de l'ensemble de données d'exportation et table de données Cloud Billing
    • ID de l'ensemble de données de la mesure de l'utilisation de GKE

Créer le tableau de bord Data Studio

Le processus de création de la source de données et du tableau de bord a été simplifié. Une fois les conditions préalables remplies, vous utilisez un connecteur Data Studio personnalisé pour créer automatiquement la source de données et le tableau de bord.

  1. Accédez au connecteur Data Studio pour la mesure de l'utilisation de GKE.

    Vous trouverez également le connecteur dans la galerie de connecteurs Data Studio et en effectuant une recherche de Mesure de l'utilisation de GKE.

  2. Lisez et acceptez l'invite pour attribuer au connecteur les autorisations nécessaires.

  3. Lorsque vous y êtes invité, indiquez l'ID du projet, l'ID de l'ensemble de données d'exportation et la table Cloud Billing, ainsi que l'ID de l'ensemble de données de mesure de l'utilisation de GKE.

  4. Activez la mesure de la consommation des ressources si elle est activée sur votre cluster. C'est le cas de la plupart des utilisateurs.

  5. Cliquez sur Connecter. Une nouvelle source de données est créée, nommée par défaut Mesure de l'utilisation de GKE. Si vous le souhaitez, cliquez sur le nom de l'en-tête de la page pour la renommer.

  6. Cliquez sur Créer un rapport pour créer le tableau de bord Data Studio.

Le tableau de bord est créé et s'ouvre dans l'éditeur de tableau de bord. Pour afficher et utiliser le tableau de bord, cliquez sur Afficher.

Vous pouvez accéder au tableau de bord à tout moment dans la liste des rapports Data Studio de votre projet.

Utiliser le tableau de bord Data Studio

Le tableau de bord contient plusieurs rapports :

Répartition de l'utilisation
Ratio de l'utilisation globale entre tous les clusters qui envoient des données de mesure de l'utilisation à la même source de données BigQuery, et informations détaillées sur le type de ressource (processeur, mémoire ou sortie réseau) par espace de noms. Vous pouvez limiter les données du rapport à un ou plusieurs clusters ou espaces de nommage individuels.
Répartition de l'utilisation incluant les ressources non allouées
Ce rapport est similaire au précédent, mais les ressources non allouées sont réparties proportionnellement entre tous les espaces de noms. Les ressources non allouées incluent les ressources inactives et les ressources qui ne sont actuellement pas allouées par la mesure de l'utilisation de GKE à des locataires spécifiques.
Évolution des coûts : vue détaillée par espace de noms
Évolution de l'utilisation de tous les clusters qui envoient des données de mesure de l'utilisation à la même source de données BigQuery, par espace de noms. Vous pouvez sélectionner un ou plusieurs clusters, espaces de noms, ressources ou SKU individuels.
Évolution des coûts : vue détaillée par étiquette
Évolution des coûts pour tous les clusters qui envoient des données de mesure de l'utilisation à la même source de données BigQuery. Vous pouvez sélectionner un ou plusieurs clusters, ressources, noms d'étiquette ou valeurs d'étiquette.
Mesure basée sur la consommation
Évolution de la consommation de tous les clusters qui envoient des données de mesure de l'utilisation à la même source de données BigQuery. Vous pouvez sélectionner un ou plusieurs espaces de noms, clés d'étiquette ou valeurs d'étiquette. Ce rapport n'est rempli que si la mesure de la consommation des ressources est activée sur au moins un cluster.

Vous pouvez changer de page à l'aide des flèches situées en haut à gauche de l'écran. Vous pouvez modifier l'intervalle de temps d'une page à l'aide du sélecteur de date. Pour partager le rapport avec les membres de votre entreprise (ou pour révoquer l'accès), cliquez sur le lien Partager le rapport, qui a la forme d'une personne accompagnée d'un symbole +.

Cette animation illustre chaque écran du tableau de bord.

Une fois le rapport copié dans votre projet, vous pouvez le personnaliser à l'aide de l'éditeur de rapports Data Studio. Même si le modèle de rapport fourni par Google change, votre copie n'est pas affectée.

Explorer les données de mesure de l'utilisation de GKE à l'aide de BigQuery

Pour afficher les données sur les demandes de ressources à l'aide de BigQuery, interrogez la table gke_cluster_resource_usage dans l'ensemble de données BigQuery correspondant.

Pour afficher les données sur la consommation réelle des ressources, interrogez la table gke_cluster_resource_usage_consumed. Les données de consommation de sortie réseau sont conservées dans le champ gke_cluster_resource_usage, car il n'existe aucun concept de demandes de ressources pour les sorties.

Pour en savoir plus sur l'utilisation des requêtes dans Cloud Bigtable, consultez Exécuter des requêtes. Les champs du schéma sont stables, mais d'autres champs pourront être ajoutés ultérieurement.

Ces requêtes sont des exemples simples. Personnalisez votre requête pour obtenir les données dont vous avez besoin.

Requête pour les demandes de ressources

Pour insérer vos propres valeurs dans l'exemple, avant de coller, cliquez sur l'un des champs highlighted (en surbrillance) pour en modifier la valeur. Pour réinitialiser les valeurs, actualisez cette page.

SELECT
  cluster_name,
  labels,
  usage
FROM
  `[CLUSTER_GCP_PROJECT].[USAGE_METERING_DATASET].gke_cluster_resource_usage`
WHERE
  namespace="[NAMESPACE]"

Requête pour la consommation de ressources

SELECT
  cluster_name,
  labels,
  usage
FROM
  `[CLUSTER_GCP_PROJECT].[USAGE_METERING_DATASET].gke_cluster_resource_usage_consumed`
WHERE
  namespace="[NAMESPACE]"

Autres exemples

Développez les sections suivantes pour voir des exemples plus élaborés.

Schéma de mesure de l'utilisation de GKE dans BigQuery

Le tableau suivant décrit le schéma des tables de mesure de l'utilisation de GKE dans l'ensemble de données BigQuery. Si votre cluster exécute une version de GKE compatible avec la mesure de la consommation des ressources et des demandes de ressources, une table supplémentaire est créée avec le même schéma.

Champ Type Description
cluster_location STRING Nom de la zone ou de la région Compute Engine dans laquelle réside le cluster GKE.
cluster_name STRING Nom du cluster GKE.
namespace STRING Espace de noms Kubernetes à partir duquel l'utilisation est générée.
resource_name STRING Nom de la ressource, tel que "cpu", "memory" et "storage".
sku_id CHAÎNE Identifiant SKU de la ressource cloud Google Cloud sous-jacente.
start_time HORODATAGE Horodatage UNIX indiquant le début de l'utilisation.
end_time TIMESTAMP Horodatage UNIX indiquant la fin de l'utilisation.
fraction FLOAT Fraction d'une ressource cloud utilisée. Pour une ressource cloud spécifique utilisée uniquement par un seul espace de noms, la fraction est toujours 1.0. Pour les ressources partagées entre plusieurs espaces de noms, la fraction est calculée en divisant le volume demandé par la capacité totale de la ressource cloud sous-jacente.
cloud_resource_size INTEGER Taille de la ressource Google Cloud sous-jacente. Par exemple, la taille des processeurs virtuels sur une instance n1-standard-2 est 2.
labels.key STRING Clé d'une étiquette Kubernetes associée à l'utilisation.
labels.value STRING Valeur d'une étiquette Kubernetes associée à l'utilisation.
project.id STRING ID du projet dans lequel réside le cluster GKE.
usage.amount FLOAT Quantité d'usage.unit utilisée.
usage.unit CHAÎNE Unité de base dans laquelle l'utilisation des ressources est mesurée. Par exemple, l'unité de base pour le stockage standard est l'octet par seconde.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Kubernetes Engine