Run Windows Docker images

This topic describes how to run Windows-based Docker images in your Kubernetes Service cluster.

Note: All section are applicable for EKS, AKS, and on-premises Kubernetes.

To run Windows Docker images in your cluster:

  1. Open the kubernetes.config file located in the <Server_installdir>\dat folder, and uncomment the tolerations section.

    Note:  

    • Do not set the toleration value manually; it is configured automatically based on the image type.

    • The toleration key used is node.kubernetes.io.

  2. Verify that your Windows node pools have the taint node.kubernetes.io applied. Toleration is only required if this taint is present.

  3. (Optional) When provisioning elastic load generators, you can customize the timeout settings.

    1. Navigate to <Server_installdir>\dat\ and open the pcs.config file.

    2. Enter a new timeout value in DockerProvisionTimeoutInSeconds. We recommend using a higher timeout value when working with Windows OneLG images, as Windows-based images typically take longer to pull and initialize.

  4. Create a custom Windows image for AKS nodes.

    Note: AKS Windows node compatibility Windows Server 2019 is no longer supported in AKS Windows node pools.

    • If you are running an AKS cluster with Windows node pools using Windows Server 2019, make sure that your Kubernetes version is 1.32 or earlier to remain in a supported state.

    • To continue using Windows nodes in AKS, you must migrate workloads to a custom image based on Windows Server 2022, because official images for Windows Server 2022 are not currently published.

    We recommend creating a custom OneLG Windows image that includes a valid ENTRYPOINT in the Dockerfile. This ensures that the container can run successfully within AKS Windows node.

    Example Dockerfile ENTRYPOINT:

    Copy code
    ENTRYPOINT ["C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "-Command"]

    This configuration sets PowerShell as the entry point for your container, which is commonly required for Windows-based workloads in AKS.