• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Installation sur Windows

Aperçu

Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !

Cette fonctionnalité est actuellement fournie dans le cadre d'un programme d'aperçu conformément à nos politiques de pré-sortie.

Utilisez cette option lorsque vous disposez d’un système Kubernetes basé sur Windows. Notez que l’intégration Windows présente plusieurs limitations.

Compatibilité et exigences

Avant d'installer l'intégration Kubernetes, vérifiez la compatibilité et les exigences.

Important

Lors de l'utilisation de conteneur sous Windows, la version hôte du conteneur et la version de l'image du conteneur doivent être identiques. Notre intégration Kubernetes peut fonctionner sur les versions Windows LTSC 2019 (1809), 20H2 et LTSC 2022.

Pour vérifier votre version de Windows, ouvrez une fenêtre de commande et exécutez cette commande :

bash
$
Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v
$
ReleaseIdcmd.exe

Installer Kubernetes sur Windows

Vous pouvez installer l'intégration Kubernetes pour Windows à l'aide de Helm. Voir un exemple sur la façon d'installer l'intégration dans un cluster avec des nœuds ayant différentes versions de build de Windows (1809 et 2004) :

Ajoutez le référentiel New Relic Helm

Si vous ne l'avez pas encore fait, exécutez cette commande pour ajouter le référentiel New Relic Helm :

bash
$
helm repo add newrelic https://helm-charts.newrelic.com

Créer un espace de nommage pour newrelic

Exécutez cette commande pour créer un espace de nommage pour newrelic :

bash
$
kubectl create namespace newrelic

Installation kube-state-metrics

Exécutez cette commande pour installer kube-state-metrics:

bash
$
helm repo add ksm https://kubernetes.github.io/kube-state-metrics
$
helm install ksm ksm/kube-state-metrics --version 2.13.2

Important

Cette commande permet d'installer kube-state-metrics, une dépendance obligatoire de l'intégration, sur un nœud Linux. Nous ne prenons pas en charge l'installation de cette solution sur des nœuds non Linux, et si vous l'installez sur un nœud non Linux, le déploiement peut échouer. Nous vous recommandons d'utiliser nodeSelector pour choisir un nœud Linux. Cela peut être fait en modifiant le déploiement kube-state-metrics .

Créer un fichier values-newrelic.yaml

Créez un fichier values-newrelic.yaml avec les données suivantes. Voici ce que Helm utilisera :

global:
licenseKey: YOUR_NEW_RELIC_LICENSE_KEY
cluster: K8S_CLUSTER_NAME
enableLinux: true # Set to true if your cluster also has linux nodes
enableWindows: true
windowsOsList:
- version: 2019 # Human-readable version identifier
imageTag: 2-windows-1809-alpha # Tag to be used for nodes running the windows version above
buildNumber: 10.0.17763 # Build number for your nodes running the version above. Used as a selector.
- version: 20h2
imageTag: 2-windows-20H2-alpha
buildNumber: 10.0.19042
- version: 2022
imageTag: 2-windows-ltsc2022-alpha
buildNumber: 10.0.20348
nodeSelector:
kubernetes.io/os: linux # Selector for Linux installation.
windowsNodeSelector:
kubernetes.io/os: windows # Selector for Windows installation.

Installer l'intégration

Exécutez cette commande pour installer l’intégration :

bash
$
helm upgrade --install newrelic newrelic/newrelic-infrastructure \
>
--namespace newrelic --create-namespace \
>
--version 2.7.2 \
>
-f values-newrelic.yaml

Vérifier le pod

Vérifiez que le pod se déclenche et atteigne un état stable :

bash
$
kubectl -n newrelic get pods -w

Le graphique Helm créera un DaemonSet pour chaque version de Windows figurant dans la liste et utilisera NodeSelector pour déployer le pod correspondant par nœud.

Exemple : obtenir Kubernetes pour Windows à partir d'un conteneur BusyBox

Voici un exemple de la manière dont vous pouvez obtenir Kubernetes pour Windows à partir d'un conteneur BusyBox.

Exécutez cette commande :

bash
$
kubectl exec -it busybox1-766bb4d6cc-rmsnj -- Reg Query
$
"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId

Vous devriez voir quelque chose comme ceci :

bash
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
ReleaseId REG_SZ 1809

Pour une modélisation utile entre les identifiants de sortie et les versions du système d'exploitation, voir ici.

Limitations de l'intégration de Kubernetes pour Windows

L'agent Windows envoie uniquement les exemples Kubernetes, tels que K8sNodeSample ou K8sPodSample. Ces limitations s'appliquent à l'intégration de Kubernetes pour Windows :

  • SystemSample, StorageSample, NetworkSample et ProcessSample ne sont pas générés.

  • Certaines métriques Kubernetes sont manquantes car le kubelet Windows ne les possède pas :

    • Nœud:

      • fsInodes: non envoyé
      • fsInodesFree: non envoyé
      • fsInodesUsed: non envoyé
      • memoryMajorPageFaultsPerSecond: renvoie toujours zéro comme valeur
      • memoryPageFaults: renvoie toujours zéro comme valeur
      • memoryRssBytes: renvoie toujours zéro comme valeur
      • runtimeInodes: non envoyé
      • runtimeInodesFree: non envoyé
      • runtimeInodesUsed: non envoyé
    • cosse:

      • net.errorsPerSecond: non envoyé
      • net.rxBytesPerSecond: non envoyé
      • net.txBytesPerSecond: non envoyé
    • conteneur:

      • containerID: non envoyé
      • containerImageID: non envoyé
      • memoryUsedBytes:Dans l'interface utilisateur, cela est affiché dans la carte pod qui apparaît lorsque vous cliquez sur un pod et n'affiche aucune donnée. Nous allons bientôt résoudre ce problème en mettant à jour nos graphiques pour utiliser memoryWorkingSetBytes à la place.
    • Volume:

      • fsUsedBytes: zéro, donc fsUsedPercent est zéro

Problèmes connus avec Windows Kubelet

Il existe quelques problèmes avec la version Windows de Kubelet qui peuvent empêcher l'intégration de récupérer des données :

  • Problème 90554 : ce problème fait que Kubelet renvoie des erreurs 500 lorsque l'intégration envoie une requête au point de terminaison /stats/summary . Il sera inclus dans la sortie Kubernetes 1.19 et a été rétroporté vers la sortie 1.16.11, 1.17.7 et 1.18.4. Il n'y a pas de solution côté intégration pour ce problème, nous vous conseillons de mettre à jour vers l'une des versions de patch dès que possible. Vous pouvez voir si vous êtes concerné par ce problème en activant le log détaillé et en recherchant des messages du type :

    bash
    error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": error calling kubelet endpoint. Got status code: 500
  • Problème 87730 : ce problème rend les métriques Kubelet très lentes lors de l'exécution d'une charge minimale. Cela fait échouer l'intégration avec une erreur de délai d'attente. Un correctif pour ce problème a été ajouté pour Kubernetes 1.18 et rétroporté vers 1.15.12, 1.16.9 et 1.17.5. Nous vous conseillons de mettre à jour vers l'une des versions de patch dès que possible. Pour atténuer ce problème, vous pouvez augmenter le délai d’intégration avec l’ option de configurationTIMEOUT . Vous pouvez voir si vous êtes concerné par ce problème en activant le log détaillé et en recherchant des messages du type :

    bash
    error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OSZAR »