• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Windows용 Kubernetes 통합 설치

한정 출시

이 기능은 제한된 릴리스입니다.

버전 2

이 페이지는 Kubernetes 통합 버전 2에만 적용됩니다. Windows 노드는 버전 3에서 지원되지 않습니다.

Windows용 Kubernetes 설치를 실행하려면 다음 단계를 따르세요.

호환성 및 요구 사항

New Relic의 Kubernetes 통합 을 설치하기 전에 호환성 및 요구 사항 을 검토하십시오.

중요

Windows에서 컨테이너를 사용하는 경우 컨테이너 호스트 버전과 컨테이너 이미지 버전이 동일해야 합니다. Kubernetes 통합은 Windows 버전 LTSC 2019(1809), 20H2 및 LTSC 2022에서 실행할 수 있습니다.

Windows 버전을 확인하려면:

  1. 명령 창을 엽니다.

  2. 다음 명령을 실행합니다.

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

예: BusyBox 컨테이너에서 Windows용 Kubernetes를 가져옵니다.

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

다음과 같이 표시되어야 합니다.

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

릴리스 ID와 OS 버전 간의 유용한 매핑은 여기 에서 찾을 수 있습니다.

설치

Helm을 사용하여 Windows용 Kubernetes 통합을 설치할 수 있습니다. 다른 빌드 버전의 Windows(1809 및 2004)가 있는 노드가 있는 클러스터에 통합을 설치하는 방법에 대한 예를 참조하십시오.

  1. New Relic Helm 차트 리포지토리 추가:
bash
$
helm repo add newrelic https://helm-charts.newrelic.com
  1. newrelic에 대한 네임스페이스 생성:
bash
$
kubectl create namespace newrelic
  1. 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

중요

위의 명령을 사용하면 통합의 필수 종속성인 kube-state-metrics를 Linux 노드에 설치할 수 있습니다. 클러스터에 Linux 노드가 없으면 위의 명령이 작동하지 않을 수 있습니다. New Relic은 Linux가 아닌 노드에 kube-state-metrics를 설치하는 방법에 대한 지원을 제공할 수 없습니다.

  1. Helm에서 사용할 다음 데이터로 values.yml 파일을 만듭니다.
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
  1. 다음과 통합 설치:
bash
$
helm upgrade --install newrelic newrelic/newrelic-infrastructure \
>
--namespace newrelic --create-namespace \
>
--version 3.2.11 \
>
-f values-newrelic.yaml
  1. Pod가 배포되고 안정적인 상태에 도달하는지 확인합니다.
bash
$
kubectl -n newrelic get pods -w

Helm 차트는 목록에 있는 Windows의 각 버전당 하나의 DeamonSet을 만들고 NodeSelector를 사용하여 노드당 해당 Pod를 배포합니다.

제한 사항

Windows용 Kubernetes 통합에는 다음 제한 사항이 적용됩니다.

  • Windows 에이전트는 Kubernetes 샘플 ( K8sNodeSample , K8sPodSample 등)만 보냅니다.

    • SystemSample, StorageSample , NetworkSampleProcessSample 는 생성되지 않습니다.
  • Windows kubelet에 없기 때문에 일부Kubernetes 메트릭 이 누락되었습니다.

    • 마디:

      • fsInodes: 전송되지 않음
      • fsInodesFree: 전송되지 않음
      • fsInodesUsed: 전송되지 않음
      • memoryMajorPageFaultsPerSecond: 항상 0을 값으로 반환
      • memoryPageFaults: 항상 0을 값으로 반환
      • memoryRssBytes: 항상 0을 값으로 반환
      • runtimeInodes: 전송되지 않음
      • runtimeInodesFree: 전송되지 않음
      • runtimeInodesUsed: 전송되지 않음
    • 현물 상환 지불:

      • net.errorsPerSecond: 전송되지 않음
      • net.rxBytesPerSecond: 전송되지 않음
      • net.txBytesPerSecond: 전송되지 않음
    • 컨테이너:

      • containerID: 전송되지 않음
      • containerImageID: 전송되지 않음
      • memoryUsedBytes: UI에서 포드를 클릭하면 나타나는 포드 카드에 표시되며 데이터가 표시되지 않습니다. 대신 memoryWorkingSetBytes 을 사용하도록 차트를 업데이트하여 곧 이 문제를 해결할 것입니다.
    • 용량:

      • fsUsedBytes: 0이므로 fsUsedPercent 은 0입니다.

Windows Kubelet의 알려진 문제

통합에서 데이터를 가져오는 것을 방지할 수 있는 몇 가지 문제가 Kubelet의 Windows 버전에 있습니다.

  • 문제 90554: 이 문제로 인해 통합이 /stats/summary 엔드포인트에 요청할 때 Kubelet이 500 오류를 반환합니다. Kubernetes 1.19 릴리스에 포함될 예정이며 릴리스 1.16.11, 1.17.7 및 1.18.4로 백포트되었습니다. 이 문제에 대한 통합 측의 솔루션은 없습니다. 가능한 한 빨리 패치 버전 중 하나로 업데이트하는 것이 좋습니다. 자세한 로그를 활성화 하고 다음 유형의 메시지를 찾아 이 문제의 영향을 받고 있는지 확인할 수 있습니다.
error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": error calling kubelet endpoint. Got status code: 500
  • 문제 87730: 이 문제는 최소 로드를 실행할 때 Kubelet 메트릭을 매우 느리게 만듭니다. 시간 초과 오류로 통합이 실패합니다. 이 문제에 대한 패치가 Kubernetes 1.18에 추가되었으며 1.15.12, 1.16.9 및 1.17.5로 백포트되었습니다. 가능한 한 빨리 패치 버전 중 하나로 업데이트하는 것이 좋습니다. 이 문제를 완화하려면 TIMEOUT 구성 옵션 을 사용하여 통합 시간 초과를 늘릴 수 있습니다. 자세한 로그를 활성화 하고 다음 유형의 메시지를 찾아 이 문제의 영향을 받고 있는지 확인할 수 있습니다.
error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Copyright © 2022 New Relic Inc.

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