• /
  • EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

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

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

문제 신고

Windows에 설치

시사

이 기능은 아직 개발 중이지만 꼭 사용해 보시기 바랍니다!

이 기능은 현재 출시 전 정책 에 따라 미리보기 프로그램의 일부로 제공됩니다.

Windows 기반 Kubernetes 시스템이 있는 경우 이 옵션을 사용하세요. Windows 통합에는 몇 가지 제한 사항이 있습니다.

호환성 및 요구 사항

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

중요

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

Windows 버전을 확인하려면 명령 창을 열고 다음 명령을 실행하세요.

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

Windows에 Kubernetes 설치

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

뉴클릭 Helm 사자 추가

이전에 추가하지 않은 경우 다음 명령을 실행하여 뉴렐릭 Helm 위치를 추가하세요.

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

newrelic에 대한 네임스페이스 생성

newrelic에 대한 네임스페이스를 생성하려면 다음 명령을 실행하십시오.

bash
$
kubectl create namespace newrelic

설치 kube-state-metrics

다음 명령어를 실행하여 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가 아닌 노드에는 이 설치를 지원하지 않으며, Linux가 아닌 노드에 설치하면 배포가 실패할 수 있습니다. Linux 노드를 선택하려면 nodeSelector 사용하는 것이 좋습니다. 이는 kube-state-metrics 배포를 편집하여 수행할 수 있습니다.

values-newrelic.yaml 파일 만들기

다음 데이터를 사용하여 values-newrelic.yaml 파일을 만듭니다. 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.

통합 설치

통합을 설치하려면 다음 명령을 실행하세요.

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

패드 확인

부품 구현하다, 배포하다 및 안정적인 상태에 도달했는지 확인합니다.

bash
$
kubectl -n newrelic get pods -w

Helm 차트는 목록에 있는 각 Windows 버전당 하나의 DaemonSet 생성하고 NodeSelector 사용하여 노드당 해당 파드를 구현, 배포합니다.

예: BusyBox 컨테이너에서 Windows용 Kubernetes 가져오기

이것은 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 버전 간의 유용한 매핑은 여기를참조하십시오.

Windows용 Kubernetes 통합에 대한 제한사항

Windows 에이전트는 K8sNodeSample 또는 K8sPodSample 과 같은 Kubernetes 샘플 만 보냅니다. Windows용 Kubernetes 통합에는 다음과 같은 제한 사항이 적용됩니다.

  • SystemSample, StorageSample , NetworkSampleProcessSample 는 생성되지 않습니다.

  • Windows kubelet에 일부 Kubernetes 지표가 없기 때문에 일부 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. 이 문제에 대한 통합 측면의 해결책은 없습니다. 가능한 한 빨리 패치 버전 중 하나로 업데이트하는 것이 좋습니다. 자세한 로그를 활성화 하고 다음 유형의 메시지를 찾아 보면 이 문제의 영향을 받고 있는지 확인할 수 있습니다.

    bash
    $
    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 구성 옵션을 사용하여 통합 시간 초과를 늘릴 수 있습니다. 자세한 로그를 활성화 하고 다음 유형의 메시지를 찾아 보면 이 문제의 영향을 받고 있는지 확인할 수 있습니다.

    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.