• /
  • EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

instalação no Windows

visualização

Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!

Atualmente, esse recurso é fornecido como parte de um programa de visualização de acordo com nossas políticas de pré-lançamento.

Use esta opção quando você tiver um sistema Kubernetes baseado em Windows. Observe que a integração do Windows tem diversas limitações.

Compatibilidade e requisitos

Antes de instalar a integração do Kubernetes, revise a compatibilidade e os requisitos.

Importante

Ao utilizar contêiner no Windows, a versão do host do contêiner e a versão da imagem do contêiner devem ser iguais. Nossa integração com Kubernetes pode ser executada nas versões Windows LTSC 2019 (1809), 20H2 e LTSC 2022.

Para verificar sua versão do Windows, abra uma janela de comando e execute este comando:

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

Instale o Kubernetes no Windows

Você pode instalar a integração do Kubernetes para Windows usando Helm. Veja um exemplo de como instalar a integração em um cluster com nós com diferentes versões de build do Windows (1809 e 2004):

Adicione o repositório New Relic Helm

Caso ainda não tenha feito isso, execute este comando para adicionar o repositório do New Relic Helm:

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

Crie um namespace para newrelic

Execute este comando para criar um namespace para newrelic:

bash
$
kubectl create namespace newrelic

Instalar kube-state-metrics

Execute 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 serve para instalar kube-state-metrics, dependência obrigatória da integração, em um nó Linux. Não oferecemos suporte à instalação para nós não Linux e, se você instalá-lo em um nó não Linux, a implantação poderá falhar. Recomendamos usar nodeSelector para escolher um nó Linux. Isso pode ser feito editando a implantação kube-state-metrics .

Crie um arquivo values-newrelic.yaml

Crie um arquivo values-newrelic.yaml com os dados a seguir. Isto é o que Helm usará:

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.

Instale a integração

Execute este comando para instalar a integração:

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

Verificar pod

Verifique se o pod foi implantado e atingiu um estado estável:

bash
$
kubectl -n newrelic get pods -w

O gráfico do Helm criará um DaemonSet para cada versão do Windows que estiver na lista e usará NodeSelector para implantar o pod correspondente por nó.

Exemplo: Obtenha o Kubernetes para Windows de um contêiner BusyBox

Este é um exemplo de como você pode obter o Kubernetes para Windows a partir de um contêiner BusyBox.

Execute este comando:

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

Você deverá ver algo assim:

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

Para um mapeamento útil entre IDs de lançamento e versões do sistema operacional, veja aqui.

Limitações à integração do Kubernetes para Windows

O agente do Windows envia apenas amostras do Kubernetes, como K8sNodeSample ou K8sPodSample. Estas limitações se aplicam à integração do Kubernetes para Windows:

  • SystemSample, StorageSample, NetworkSample e ProcessSample não são gerados.

  • Algumas métricasKubernetes estão faltando porque o kubelet do Windows não as possui:

    • Nó:

      • fsInodes: não enviado
      • fsInodesFree: não enviado
      • fsInodesUsed: não enviado
      • memoryMajorPageFaultsPerSecond: sempre retorna zero como valor
      • memoryPageFaults: sempre retorna zero como valor
      • memoryRssBytes: sempre retorna zero como valor
      • runtimeInodes: não enviado
      • runtimeInodesFree: não enviado
      • runtimeInodesUsed: não enviado
    • Pod:

      • net.errorsPerSecond: não enviado
      • net.rxBytesPerSecond: não enviado
      • net.txBytesPerSecond: não enviado
    • Contêiner:

      • containerID: não enviado
      • containerImageID: não enviado
      • memoryUsedBytes: na interface, isso é mostrado no cartão pod que aparece quando você clica em um pod e não mostra dados. Em breve corrigiremos isso atualizando nossos gráficos para usar memoryWorkingSetBytes .
    • Volume:

      • fsUsedBytes: zero, então fsUsedPercent é zero

Problemas conhecidos com o Windows Kubelet

Existem alguns problemas com a versão Windows do Kubelet que podem impedir a integração de buscar dados:

  • Problema 90554: esse problema faz com que o Kubelet retorne 500 erros quando a integração faz uma solicitação ao endpoint /stats/summary . Ele será incluído na versão 1.19 do Kubernetes e foi portado para as versões 1.16.11, 1.17.7 e 1.18.4. Não há solução do lado da integração para este problema, aconselhamos que você atualize para uma das versões do patch o mais rápido possível. Você pode ver se está sendo afetado por esse problema ativando o log detalhado e procurando mensagens do tipo:

    bash
    $
    error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": error calling kubelet endpoint. Got status code: 500
  • Problema 87730: esse problema torna a métrica do Kubelet muito lenta ao executar carga mínima. Isso faz com que a integração falhe com um erro de tempo limite. Um patch para esse problema foi adicionado ao Kubernetes 1.18 e portado para 1.15.12, 1.16.9 e 1.17.5. Aconselhamos você a atualizar para uma das versões de patch o mais rápido possível. Para atenuar esse problema, você pode aumentar o tempo limite de integração com a opção de configuraçãoTIMEOUT . Você pode ver se está sendo afetado por esse problema ativando o log detalhado e procurando mensagens do 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.