我无法在 GKE 集群上的 windows_ltsc_containerd 节点上运行 Windows pod:容器操作系统与主机操作系统不匹配:未知

问题描述 投票:0回答:1

我似乎无法在使用 GKE 集群上的

windows_ltsc_containerd
主机操作系统的节点池中的节点上运行任何 Windows 容器。

根据日志,我看到:

Normal   Created    12s   kubelet Created container runner
Warning  Failed     7s    kubelet Error: failed to create containerd task: failed to create shim task: hcs::CreateComputeSystem runner: The container operating system does not match the host operating system.: unknown

现在我已经确认 pod 已被安排到 Windows 节点池中,我的 Dockerfile 就在这里(我已将其精简回最基本的部分):

FROM mcr.microsoft.com/windows/servercore:ltsc2022
WORKDIR /runner

镜像在 Windows 本地运行时运行良好,但由于某种原因,主机操作系统与容器操作系统不匹配,尽管它们都是 Windows LTSC。我做错了什么?

我认为这与节点池上主机操作系统上的映像类型有关:

但我无法为节点池选择任何其他类型的 Windows 映像。我的K8S版本是:

1.27.8-gke.1067004
。容器内的 Windows 构建版本是:
20348.859.amd64fre.fe_release_svc_prod2.220707-1832

这是

kubectl get-nodes -o wide

中节点的输出
gke-f73265-hrf3                        Ready    <none>   47m     v1.27.8-gke.1067004   10.128.0.75     35.232.15.79      Windows Server 2019 Datacenter       10.0.17763.4974   containerd://1.6.19-gke.1

pod 肯定被调度到这个节点上。

kubernetes google-kubernetes-engine
1个回答
0
投票

问题是我应该使用

mcr.microsoft.com/windows/servercore:ltsc2019
而不是
mcr.microsoft.com/windows/servercore:ltsc2022
。这样就解决了。

© www.soinside.com 2019 - 2024. All rights reserved.