• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

instalación en Windows

Avance

Esta característica se encuentra actualmente en versión preliminar.

Emplee esta opción cuando tenga un sistema Kubernetes basado en Windows. Tenga en cuenta que la integración de Windows tiene varias limitaciones.

Compatibilidad y requisitos

Antes de instalar la integración de Kubernetes, revise la compatibilidad y los requisitos.

Importante

Cuando se utiliza contenedor en Windows, la versión del host del contenedor y la versión de la imagen del contenedor deben ser las mismas. Nuestra integración de Kubernetes puede ejecutarse en las versiones de Windows LTSC 2019 (1809), 20H2 y LTSC 2022.

Para verificar su versión de Windows, abra una ventana de comando y ejecute este comando:

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

Instalar Kubernetes en Windows

Puede instalar la integración de Kubernetes para Windows usando Helm. Vea un ejemplo sobre cómo instalar la integración en un clúster con nodos que tienen diferentes versiones de compilación de Windows (1809 y 2004):

Agregar el repositorio New Relic Helm

Si no lo hizo antes, ejecute este comando para agregar el repositorio New Relic Helm:

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

Crear un namespace para newrelic

Ejecute este comando para crear un namespace para newrelic:

bash
$
kubectl create namespace newrelic

Instalar kube-state-metrics

Ejecute este comando para instalar 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

Importante

Este comando es para instalar kube-state-metrics, una dependencia obligatoria de la integración, en un nodo de Linux. No admitimos la instalación de esto para nodos que no sean Linux y, si lo instala en un nodo que no sea Linux, la implementación podría fallar. Recomendamos emplear nodeSelector para elegir un nodo de Linux. Esto se puede hacer editando kube-state-metrics despliegue.

Crear un archivo values-newrelic.yaml

Cree un archivo values-newrelic.yaml con los siguientes datos. Esto es lo que empleará Helm:

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.

Instalar la integración

Ejecute este comando para instalar la integración:

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

Verificar grupo

Verifique que el pod se despliegue y alcance un estado estable:

bash
$
kubectl -n newrelic get pods -w

El gráfico Helm creará un DaemonSet por cada versión de Windows que esté en la lista y usará NodeSelector para desplegar el pod correspondiente por nodo.

Ejemplo: obtener Kubernetes para Windows desde un contenedor BusyBox

Este es un ejemplo de cómo puede obtener Kubernetes para Windows desde un contenedor BusyBox.

Ejecute este comando:

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

Debería ver algo como esto:

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

Para obtener un mapeo útil entre los ID de versión y las versiones del sistema operativo, consulte aquí.

Limitaciones de la integración de Kubernetes para Windows

El agente de Windows solo envía muestras de Kubernetes, como K8sNodeSample o K8sPodSample. Estas limitaciones se aplican a la integración de Kubernetes para Windows:

  • SystemSample, StorageSample, NetworkSample y ProcessSample no se generan.

  • Faltan algunas Kubernetes métricas porque el kubelet de Windows no las tiene:

    • Nodo:

      • fsInodes: no enviado
      • fsInodesFree: no enviado
      • fsInodesUsed: no enviado
      • memoryMajorPageFaultsPerSecond: siempre devuelve cero como valor
      • memoryPageFaults: siempre devuelve cero como valor
      • memoryRssBytes: siempre devuelve cero como valor
      • runtimeInodes: no enviado
      • runtimeInodesFree: no enviado
      • runtimeInodesUsed: no enviado
    • Pod:

      • net.errorsPerSecond: no enviado
      • net.rxBytesPerSecond: no enviado
      • net.txBytesPerSecond: no enviado
    • Contenedor:

      • containerID: no enviado
      • containerImageID: no enviado
      • memoryUsedBytes: En la UI, esto se muestra en la tarjeta pod que aparece cuando hace clic en un pod y no muestra datos. Pronto solucionaremos este problema actualizando nuestros gráficos para emplear memoryWorkingSetBytes en su lugar.
    • Volumen:

      • fsUsedBytes: cero, entonces fsUsedPercent es cero

Problemas conocidos con Windows Kubelet

Hay un par de problemas con la versión de Windows de Kubelet que pueden impedir que la integración obtenga datos:

  • Problema 90554: Este problema hace que Kubelet devuelva 500 errores cuando la integración realiza una solicitud al extremo /stats/summary . Se incluirá en la versión Kubernetes 1.19 y se ha compatible con las versiones 1.16.11. 1.17.7 y 1.18.4. No existe una solución para este problema en el lado de la integración; le recomendamos que actualice a una de las versiones del parche lo antes posible. Puedes ver si este problema te afecta habilitando el registro detallado y buscando mensajes del tipo:

    bash
    $
    error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": error calling kubelet endpoint. Got status code: 500
  • Problema 87730: Este problema hace que Kubelet métrica sea muy lento cuando se ejecuta con una carga mínima. Hace que la integración falle con un error de tiempo de espera. Se agregó un parche para este problema para Kubernetes 1.18 y se actualizó a 1.15.12. 1.16.9 y 1.17.5. Le recomendamos que actualice a una de las versiones del parche lo antes posible. Para mitigar este problema, puede aumentar el tiempo de espera de integración con la opción de configuraciónTIMEOUT . Puedes ver si este problema te afecta habilitando el registro detallado y buscando mensajes del tipo:

    bash
    $
    error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Copyright © 2024 New Relic Inc.

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