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 Google Kubernetes Engine (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 la table BigQuery est supprimée, la mesure de l'utilisation de GKE la recrée automatiquement. Les données historiques sont perdues.
  • Si l'ensemble de données BigQuery est supprimé, la mesure d'utilisation GKE ne le recrée pas automatiquement. L'utilisateur doit s'assurer que l'ensemble de données existe.

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 :

  • Le suivi de sortie réseau n'est pas disponible pour les nœuds Windows Server.
  • 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.
  • Seuls les libellés des objets Pod et PersistentVolumeClaim sont suivis à l'aide de rapports d'utilisation.
  • Seuls les types de disques pd-standard et pd-ssd sont compatibles.
  • Data Studio n'est pas compatible avec la visualisation des types de machines avec utilisation intensive.
  • Vous ne pouvez pas utiliser les VPC partagés ou l'appairage de VPC avec la mesure de sortie réseau.

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 utiliser GKE 1.14.2-gke.3 ou une version ultérieure.
  • Si vous utilisez des types de machines E2 ou N2, la version du cluster doit être GKE 1.15.11-gke.9 ou une 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.

Consultez la page 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.

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

Vous pouvez créer un cluster à l'aide de l'outil gcloud ou de Google Cloud Console.

gcloud

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

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 désactiver la fonction et ne suivre que les demandes de ressources, ajoutez l'option --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

Pour créer un cluster avec la mesure de l'utilisation de GKE activée, procédez comme suit :

  1. Accédez à la page Google Kubernetes Engine dans Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer.

  3. Dans le volet de navigation, sous Cluster, cliquez sur Fonctionnalités.

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

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

  6. Facultatif : 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.

  7. Poursuivez la configuration de votre cluster, puis cliquez sur Créer.

Configurer un cluster existant

gcloud

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

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 désactiver la fonction et ne suivre que les demandes de ressources, ajoutez l'option --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 à la page Google Kubernetes Engine dans Cloud Console.

    Accéder à Google Kubernetes Engine

  2. À côté du cluster que vous souhaitez modifier, cliquez sur Actions, puis sur Modifier.

  3. Sous Fonctionnalités, cliquez sur Modifier à côté de Mesure de l'utilisation de GKE.

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

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

  6. Facultatif : 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.

  7. Cliquez sur Enregistrer les modifications.

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.

Pour désactiver la mesure de sortie réseau, ajoutez l'option --no-enable-network-egress-metering lors de la mise à jour de votre cluster à l'aide de la ligne de commande, ou désélectionnez l'option Activer la mesure de sortie réseau dans la section Mesure de l'utilisation de GKE du cluster 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.

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.

gcloud container clusters update CLUSTER_NAME \
    --clear-resource-usage-bigquery-dataset

Console

  1. Accédez à la page Google Kubernetes Engine dans Cloud Console.

    Accéder à Google Kubernetes Engine

  2. À côté du cluster que vous souhaitez modifier, cliquez sur Actions, puis sur Modifier.

  3. Sous Fonctionnalités, cliquez sur Modifier à côté de Mesure de l'utilisation de GKE.

  4. Décochez la case Activer la mesure de l'utilisation de GKE.

  5. Cliquez sur Save Changes (Enregistrer les modifications).

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
  5. Vous devez utiliser au minimum la version 2.0.58 de la CLI BigQuery Vous pouvez exécuter bq version pour vérifier la version et gcloud components update pour mettre à jour la CLI BigQuery.

  6. Les commandes de cette section doivent être exécutées dans un terminal Linux ou dans Cloud Shell.

Créer le tableau de répartition des coûts BigQuery

  1. Téléchargez les modèles de requête :

    • Si vous avez activé la mesure de la consommation, téléchargez this template.
    • Si vous n'avez pas activé la mesure de la consommation, téléchargez this template.
  2. Définissez les variables d'environnement suivantes.

    export GCP_BILLING_EXPORT_TABLE_FULL_PATH=YOUR_BILLING_EXPORT_TABLE_PATH
    export USAGE_METERING_PROJECT_ID=YOUR_USAGE_METERING_PROJECT_ID
    export USAGE_METERING_DATASET_ID=YOUR_USAGE_METERING_DATASET_ID
    export USAGE_METERING_START_DATE=YOUR_USAGE_METERING_START_DATE
    export COST_BREAKDOWN_TABLE_ID=YOUR_COST_BREAKDOWN_TABLE_ID
    export USAGE_METERING_QUERY_TEMPLATE=YOUR_TEMPLATE_PATH
    export USAGE_METERING_QUERY=YOUR_RENDERED_QUERY_PATH
    

    Remplacez l'élément suivant :

    • YOUR_BILLING_EXPORT_TABLE_PATH : chemin d'accès à la table d'exportation de la facturation générée au format PROJECT_ID.DATASET_ID.gcp_billing_export_v1_xxxx.
    • YOUR_USAGE_METERING_PROJECT_ID : nom de votre projet Google Cloud.
    • YOUR_USAGE_METERING_DATASET_ID : nom de l'ensemble de données que vous avez créé dans BigQuery.
    • YOUR_USAGE_METERING_START_DATE : date de début de votre requête au format YYYY-MM-DD.
    • YOUR_COST_BREAKDOWN_TABLE_ID : nom d'une nouvelle table utilisée comme entrée de Data Studio.
    • YOUR_TEMPLATE_PATH : nom du modèle de requête que vous avez téléchargé.
    • YOUR_RENDERED_QUERY_PATH : nom du chemin d'accès de la requête affichée.

    Exemple :

    export GCP_BILLING_EXPORT_TABLE_FULL_PATH=my-billing-project.my_billing_export.gcp_billing_export_v1_xxxx
    export USAGE_METERING_PROJECT_ID=my-billing-project
    export USAGE_METERING_DATASET_ID=my_billing_export
    export USAGE_METERING_START_DATE=2020-05-01
    export COST_BREAKDOWN_TABLE_ID=usage_metering_cost_breakdown
    export USAGE_METERING_QUERY_TEMPLATE=usage_metering_query_template_request_only.sql
    export USAGE_METERING_QUERY=cost_breakdown_query.sql
    

  3. Copiez et exécutez la commande suivante pour afficher la requête à partir du modèle.

    sed \
    -e "s/\${fullGCPBillingExportTableID}/$GCP_BILLING_EXPORT_TABLE_FULL_PATH/" \
    -e "s/\${projectID}/$USAGE_METERING_PROJECT_ID/" \
    -e "s/\${datasetID}/$USAGE_METERING_DATASET_ID/" \
    -e "s/\${startDate}/$USAGE_METERING_START_DATE/" \
    "$USAGE_METERING_QUERY_TEMPLATE" \
    > "$USAGE_METERING_QUERY"
    

  4. Exécutez la commande suivante pour créer une table de répartition des coûts actualisée toutes les 24 heures.

    bq query \
    --project_id=$USAGE_METERING_PROJECT_ID \
    --use_legacy_sql=false \
    --destination_table=$USAGE_METERING_DATASET_ID.$COST_BREAKDOWN_TABLE_ID \
    --schedule='every 24 hours' \
    --display_name="GKE Usage Metering Cost Breakdown Scheduled Query" \
    --replace=true \
    "$(cat $USAGE_METERING_QUERY)"
    

Créer la source de données BigQuery

  1. Accédez à Sources de données.
  2. Cliquez sur Créer, puis sur Source de données.
  3. Sélectionnez BigQuery.
  4. Donnez un nom à votre source de données. Dans la barre d'outils, cliquez sur les mots Source de données sans titre pour remplacer le texte par un nom descriptif.
  5. Sélectionnez Requête personnalisée, puis l'ID de votre projet.
  6. Collez la requête suivante dans l'éditeur de requête :

    SELECT
      *
    FROM
      `PROJECT_ID.USAGE_METERING_DATASET.COST_BREAKDOWN_TABLE_ID`
    
  7. Cliquez sur Connecter dans le coin supérieur droit de l'écran.

Créer le tableau de bord Data Studio

Vous pouvez copier le tableau de bord de mesure de l'utilisation de GKE dans votre projet.

  1. Cliquez sur ce lien menant au tableau de bord.
  2. Cliquez sur Autres options, puis sur Créer une copie.
  3. Dans la boîte de dialogue Copier ce rapport, sélectionnez la source de données que vous avez créée dans la liste Nouvelle source de données.
  4. Cliquez sur Copier le rapport.

Le tableau de bord est créé et vous pouvez y accéder à 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 noms 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 +.

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_consumption. 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 plus d'informations sur l'utilisation des requêtes dans BigQuery, consultez la page 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

SELECT
  cluster_name,
  labels,
  usage
FROM
  'CLUSTER_GCP_PROJECT.USAGE_METERING_DATASET.gke_cluster_resource_usage'
WHERE
  namespace="NAMESPACE_NAME"

Requête pour la consommation de ressources

SELECT
  cluster_name,
  labels,
  usage
FROM
  'CLUSTER_GCP_PROJECT.USAGE_METERING_DATASET.gke_cluster_resource_consumption'
WHERE
  namespace="NAMESPACE_NAME"

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 STRING Identifiant SKU de la ressource cloud Google Cloud sous-jacente.
start_time TIMESTAMP 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'un libellé Kubernetes associé à l'utilisation.
labels.value STRING Valeur d'un libellé Kubernetes associé à 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 STRING 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.

Les unités de mesure de l'utilisation de GKE doivent être interprétées comme suit :

  1. L'unité d'utilisation du processeur (usage.unit) est exprimée en secondes, ce qui correspond au temps CPU total demandé ou utilisé par un pod. Par exemple, si nous avons deux pods qui demandent chacun 30 processeurs et s'exécutent pendant 15 minutes, la quantité totale de la table de requête sera de 54 000 secondes (2 pods * 30 processeurs * 15 minutes * 60 secondes/minute).

  2. L'unité d'utilisation de la mémoire (usage.unit) est exprimée en octets-seconde, qui correspond à l'ensemble de la mémoire demandée ou utilisée par un pod au fil du temps. Par exemple, si nous avons deux pods qui demandent chacun 30 Gio et s'exécutent pendant 15 minutes, la quantité totale de la table de requête sera de 5,798+13 octets-seconde (2 pods * 30 Gio * 15 minutes * 1 073 741 824 octets/Gio).

Comprendre les cas dans lesquels les données de mesure de l'utilisation de GKE sont écrites dans BigQuery

Il existe deux conditions dans lesquelles la mesure de l'utilisation de GKE écrit des enregistrements d'utilisation dans les métriques BigQuery :

  1. Lorsque la phase du pod bascule sur succeeded que la phase du pod bascule sur failed ou que le pod est supprimé.
  2. Lorsque l'horodatage de la programmation horaire d'écriture des enregistrements est atteint tant que le pod est toujours en cours d'exécution.

    La mesure de l'utilisation de GKE génère une programmation à fréquence horaire pour laquelle elle écrit les enregistrements d'utilisation des pods dans BigQuery pour tous les pods en cours d'exécution. L'horodatage de la programmation n'est pas le même pour tous les clusters.

    Ainsi, si plusieurs pods sont exécutés à cet horodatage, vous trouverez plusieurs enregistrements d'utilisation avec le même end_time. La valeur end_time de ces enregistrements d'utilisation correspond à l'horodatage de la programmation à fréquence horaire.

    De plus, si plusieurs pods sont en cours d'exécution pendant plusieurs heures, vous remarquerez également dans la table BigQuery qu'un ensemble d'enregistrements d'utilisation possède un end_time correspondant au start_time d'un autre ensemble d'enregistrements d'utilisation.

Étape suivante