이 페이지는 Windows 기반 노드에서 실행할 때 뉴렐릭의 Kubernetes 통합에 대한 제한 사항 및 문제 해결 정보를 제공합니다.
Windows 버전 확인
중요
Windows 에서 컨테이너를 사용하는 경우 컨테이너 호스트 버전과 컨테이너 이미지 버전이 동일해야 합니다. Kubernetes 통합은 Windows 버전 LTSC 2019 및 LTSC 2022에서 실행될 수 있습니다.
Windows 버전을 확인하려면 PowerShell이나 명령 프롬프트 창을 열고 다음을 실행하세요.
$systeminfoOS Name 및 OS Version 로 시작하는 줄을 찾아보세요. 이 줄은 OS 정보와 빌드 번호를 제공합니다. 이 확인은 환경이 호환되는지 확인하기 위한 것일 뿐이며, 설치 중에 이 버전 정보를 지정할 필요는 없습니다.
- Windows Server LTSC 2019: 빌드 번호
10.0.17763에 해당합니다. - Windows Server LTSC 2022: 빌드 번호
10.0.20348에 해당합니다.
Windows 데몬셋
Windows Monitoring을 활성화하면 지원되는 Kubernetes 각 버전에 대해 DaemonSet이 Windows 생성되지만, 노드 Windows 버전에 대해서만 Kubernetes DaemonSet이 생성됩니다. 즉, 여러 개의 Windows 관련 DaemonSets 표시될 수 있지만 그 중 일부만 "desired" 파드 개수를 갖습니다.
예를 들어, Linux 노드 2개, Windows LTSC 2022 노드 1개, Windows LTSC 2019 노드 0개가 있는 클러스터에서 출력은 다음과 비슷합니다.
$kubectl -n newrelic get daemonsets$NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE$<...snip...>$newrelic-bundle-nrk8s-kubelet 2 2 2 2 2 kubernetes.io/os=linux 24h$newrelic-bundle-nrk8s-kubelet-windows-ltsc2019 0 0 0 0 0 kubernetes.io/os=windows,node.kubernetes.io/windows-build=10.0.17763 24h$newrelic-bundle-nrk8s-kubelet-windows-ltsc2022 1 1 1 1 1 kubernetes.io/os=windows,node.kubernetes.io/windows-build=10.0.20348 24h원하는 경우 Helm Chart를 통해 설치하는 동안 사용자 지정 values.yaml 파일에 windowsOsList 키를 포함하고 원하는 버전만 지정하여 차트가 불필요한 DaemonSets 생성하는 것을 방지할 수 있습니다.
windowsOsList: - version: ltsc2022 # Human-readable version identifier imageTagSuffix: ltsc2022 # Tag to be used for nodes running the windows version above buildNumber: 10.0.20348 # Build number for the nodes running the version above. Used as a selector.Windows용 Kubernetes 통합에 대한 제한사항
Windows용 뉴렐릭 에이전트는 K8sNodeSample 및 K8sPodSample과 같은 Kubernetes 데이터 샘플을 보냅니다. 적용되는 제한 사항은 특권(HostProcess) 모드에서 실행 중인지 비특권 모드에서 실행 중인지에 따라 다릅니다.
권한 없는 모드 제한 사항
권한이 없는 모드(windows.privileged=false)에서 실행하는 경우, 표준 Windows 컨테이너 격리로 인해 에이전트가 호스트 리소스에 직접 액세스할 수 없습니다. 다음 샘플은 생성되지 않습니다:
SystemSampleStorageSampleNetworkSampleProcessSample
또한, 표준 Windows 컨테이너의 파드 사양에서 hostNetwork: true 을(를) 설정할 수 없습니다. 이는 권한 있는 모드에서 HostProcess 파드를 사용할 때 적용되지 않는 Kubernetes 제한사항입니다.
Windows kubelet 메트릭 갭
Windows kubelet이 이를 노출하지 않거나 Windows에 적용되지 않기 때문에, 모드에 관계없이 모든 Windows 노드에서 다음 Kubernetes 메트릭 을 사용할 수 없습니다:
마디:
memoryMajorPageFaultsPerSecond: 항상0을 반환합니다.memoryPageFaults: 항상0을 반환합니다.memoryRssBytes: 항상0을 반환합니다.net.errorsPerSecond: 전송되지 않음.net.rxBytesPerSecond: 전송되지 않음.net.txBytesPerSecond: 전송되지 않음.Windows에는 해당되지 않습니다.
fsInodes: 전송되지 않음.fsInodesFree: 전송되지 않음.fsInodesUsed: 전송되지 않음.runtimeInodes: 전송되지 않음.runtimeInodesFree: 전송되지 않음.runtimeInodesUsed: 전송되지 않음.
컨테이너:
containerID: 전송되지 않음.containerImageID: 전송되지 않음.memoryMappedFileBytes: 전송되지 않음.memoryUsedBytes: 전송되지 않음.memoryWorkingSetBytes대안으로 사용하세요.memoryUtilization: 전송되지 않음(memoryUsedBytes에 의존).memoryWorkingSetBytes/memoryLimitBytes사용하여 비슷한 지수를 컴퓨트할 수 있습니다.requestedMemoryUtilization: 전송되지 않음(memoryUsedBytes에 의존).memoryWorkingSetBytes/memoryRequestedBytes사용하여 비슷한 지수를 컴퓨트할 수 있습니다.- Windows에는 해당되지 않습니다.
cpuCfs*: 모든cpuCfs*값이 전송되지 않았습니다.
용량:
fsUsedBytes: 항상0을 반환합니다.fsUsedPercent: 항상0반환합니다(fsUsedBytes에 의존).