---
title: Install Kubernetes on a hybrid cluster with Windows and Linux nodes
source: https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/k8s-version2/windows-linux-hybrid-cluster
---

> #### ⚠️ IMPORTANT
>
> **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](/install/kubernetes/) 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 [#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:

    ```shell
    helm repo add newrelic https://helm-charts.newrelic.com
    helm repo update
    kubectl create namespace newrelic
    ```

## Install the integration on a hybrid cluster [#install-hybrid]

### Define your subcharts [#install-chart-bundle]

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:

````yaml
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: linux
```

Here are some important things to keep in mind:

* Other subcharts may exist in `nri-bundle` that 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-bundle` chart contains the latest updates for Linux-based nodes.
* You can also configure the `newrelic-logging` chart during this step to install to both Linux and Windows nodes.
* You must configure a `NodeSelector` to avoid scheduling to Windows. If an installation fails on a mixed cluster using default values from guided install, add the `nodeSelector` values.

````

### Install `newrelic-bundle` [#install-bundle]

Run this command to install the `newrelic-bundle`:

````shell
helm upgrade --install newrelic-bundle newrelic/nri-bundle --namespace newrelic -f values-newrelic.yaml
```

All pods should start when Helm starts, including a logging pod on each Windows node.

````

### Define `newrelic-infrastructure` for Windows nodes [#newrelic-infra]

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`:

````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: windows
```

The 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](/docs/kubernetes-pixie/kubernetes-integration/installation/kubernetes-windows/) section.

````

### Install `newrelic-infrastructure` chart

Run this command to install v2.7.2 version of the `newrelic-infrastructure` chart:

````shell
helm upgrade --install newrelic-windows newrelic/newrelic-infrastructure \
  --namespace newrelic --version 2.7.2 -f windows-values.yaml
```

When Helm returns, you should see `newrelic-windows-newrelic-infrastructure` pods on each Windows node.

````

### View your data [#view-your-data]

Once you generate some data, you can view it in New Relic. Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Kubernetes**, then select your cluster.

## What's next? [#whats-next]

To learn more about exploring your Kubernetes data, check out these docs:

[Learn about Kubernetes cluster](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer/)

[Query your Kubernetes data](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer)

[Set alerts on Kubernetes](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/installation/create-alerts)
