Important
The New Relic Kubernetes integration v3 now supports monitoring Windows nodes with the new nri-kubernetes v3 architecture.
To enable monitoring for your Windows nodes, use the guided install process. This process supports both Linux and Windows nodes, allowing hybrid cluster installations 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 are not 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: