Skip to content

Commit

Permalink
docs: More detail on whats needed to support pods on Windows nodes (#…
Browse files Browse the repository at this point in the history
…3894)

* docs: More detail on whats needed to support pods on Windows nodes

* Added recommendations and configuration for collection on clusters with windows nodes
  • Loading branch information
rnishtala-sumo authored Feb 21, 2025
1 parent 0432691 commit ff0ca89
Showing 1 changed file with 58 additions and 4 deletions.
62 changes: 58 additions & 4 deletions docs/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,65 @@ support for windows.

## Running collection on windows nodes

In order to fully support windows nodes, the following issues should be addressed:
- To setup a k8s cluster with windows nodes, here's a terraform registry for reference:

- Windows nodes do not support linux filesystems
- We should use HostProcess Containers to support log collection
- Lack of windows supported containers
- https://registry.terraform.io/modules/aws-samples/windows-workloads-on-aws/aws/latest/submodules/eks-windows

- It is a known limitation that windows nodes only support the containerd runtime:

- https://kubernetes.io/docs/concepts/windows/intro/#containerd

- We need the Windows nodes to use containerd 1.7.1 or greater to keep linux mounts on Windows hosts

- https://kubernetes.io/docs/tasks/configure-pod-container/create-hostprocess-pod/#containerd-v1-7-and-greater
- PR: https://github.com/containerd/containerd/pull/8331

- The logs collection container (and possibly others) must be HostProcess containers for privileged access on the Windows node

- https://kubernetes.io/docs/tasks/configure-pod-container/create-hostprocess-pod/#hostprocess-pod-configuration-requirements

- The metadata enrichment layer continues to run on linux nodes

- Only pods responsible for collecting logs, run on both windows and linux nodes

- The windows container base images we use are mentioned below

- https://hub.docker.com/r/microsoft/windows-nanoserver

- Hardware recommendations for Windows containers
- https://kubernetes.io/docs/concepts/windows/intro/#windows-hardware-recommendations

## Recommendations and limitations

Kubernetes clusters are required to have linux nodes even in clusters predominantly running windows nodes. This is because the k8s control
plane requires linux nodes. Based on this, we recommend the following:

- It is currently recommended to have atleast 3 linux nodes for the control plane and the opentelemetry metadata enrichment layer
- Logs collection on windows nodes is currently experimental. Only container logs are currently ingested.
- Metrics and traces collection is only supported on linux nodes

## Configuration

- To enable logs collection on Windows nodes please use the configuration below

```
sumologic:
logs:
collector:
otellogswindows:
enabled: true
```

- To change the base image for windows containers please see the example below:

```
sumologic:
clusterName: k8s-cluster
otellogswindows:
image:
repository: "public.ecr.aws/sumologic/sumologic-otel-collector-dev"
tag: "latest-windows-amd64-ltsc2022"
```

### Known Issues

Expand Down

0 comments on commit ff0ca89

Please sign in to comment.