Importante
Windows node monitoring is now generally available (GA) in New Relic Kubernetes integration v3. The hybrid installation approach described on this page (using a separate newrelic-infrastructure v2 chart for Windows) is deprecated and will be removed in a future release. Use the guided install process instead — it supports both Linux and Windows nodes in a single installation by default.
This document explains how to install the Kubernetes integration for a hybrid cluster. The instrumentation process installs the nri-bundle chart on the Linux nodes and then creates a newrelic-logging sub-chart. This sub-chart enables the integration to run on both Windows and Linux nodes.
Prerequisites
To use this integration, you should:
Have a hybrid cluster for Linux and Windows, with the ability to pull container images to the Windows nodes.
Create a namespace:
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm repo update$kubectl create namespace newrelic
Install the integration on a hybrid cluster
Define your subcharts
Create a Yaml file that defines your values. This file defines the different subcharts that Helm will install and then assigns values to them.
An example of a yaml file that you could name values.yaml is this:
global: licenseKey: mykey cluster: mycluster lowDataMode: true
newrelic-infrastructure: enabled: true nodeSelector: kubernetes.io/os: linux
kube-state-metrics: enabled: true image: tag: v2.10.0 nodeSelector: kubernetes.io/os: linux
nri-kube-events: enabled: true nodeSelector: kubernetes.io/os: linux
newrelic-logging: enabled: true enableWindows: true
nri-metadata-injection: enabled: true nodeSelector: kubernetes.io/os: linux
newrelic-prometheus-agent: enabled: true verboseLog: true config: kubernetes: integrations_filter: enabled: false nodeSelector: kubernetes.io/os: linuxHere are some important things to keep in mind:
- Other subcharts may exist in
nri-bundlethat aren't represented in this file. If you'd like to add those subcharts, then add their key or value pairs to your yaml file. - The
newrelic/nri-bundlechart contains the latest updates for Linux-based nodes. - You can also configure the
newrelic-loggingchart during this step to install to both Linux and Windows nodes. - You must configure a
NodeSelectorto avoid scheduling to Windows. If an installation fails on a mixed cluster using default values from guided install, add thenodeSelectorvalues.
Install newrelic-bundle
Run this command to install the newrelic-bundle:
$helm upgrade --install newrelic-bundle newrelic/nri-bundle --namespace newrelic -f values-newrelic.yamlAll pods should start when Helm starts, including a logging pod on each Windows node.
Define newrelic-infrastructure for Windows nodes
Create a second yaml file to add values for the newrelic-infrastructure v2 chart. This is a separate yaml file from the one you created in step one. This is an example yaml file for newrelic-infrastructure that you could name windows-values.yaml:
global: licenseKey: mykey cluster: mycluster
enableLinux: false enableWindows: true windowsOsList: - version: 2022 imageTag: 2-windows-ltsc2022-alpha buildNumber: 10.0.20348 windowsNodeSelector: kubernetes.io/os: windowsThe example adds values for a Windows 2022 Node Group or Node Pool.
If you're running a different Windows Node Group or Node pool version, then adjust the windowsOsList section with the appropriate values. You can view these values in our Windows install section.
Install newrelic-infrastructure chart
Run this command to install v2.7.2 version of the newrelic-infrastructure chart:
$helm upgrade --install newrelic-windows newrelic/newrelic-infrastructure \> --namespace newrelic --version 2.7.2 -f windows-values.yamlWhen Helm returns, you should see newrelic-windows-newrelic-infrastructure pods on each Windows node.
View your data
Once you generate some data, you can view it in New Relic. Go to one.newrelic.com > All capabilities > Kubernetes, then select your cluster.
What's next?
To learn more about exploring your Kubernetes data, check out these docs: