Add container support for Windows 2022 21H2
What does this MR do?
- Uses Kernel Version rather than Operating System reported by the Docker daemon to determine which image to use.
- Re-introduces Windows 2022 support, but with the tag 21H2.
Why was this MR needed?
- Using the kernel version/build umber is less error prone. Windows makes it clear which images are supported for a specific build number (which is why Kubernetes also opts for this approach).
- Windows 2022 21H1 was never released, it was only ever a code name. There was a Windows 10 21H1 version, which is now EOL. This updates to use tag 21H2, also known as LTSC2022.
What's the best way to test this MR?
- Updated tests should pass.
- Pipeline for building images for 21H2 should work.
What are the relevant issue numbers?
Closes #30941 (closed)