为何GCP的gke-windows-tool不支持ltsc2022版本?
问题原因及解决方案
原因分析
你遇到的picked-versions flag has unsupported Windows Server versions: ltsc2022错误,核心原因是你使用的gke-windows-builder:latest镜像版本不支持Windows Server ltsc2022。
gke-windows-builder的latest标签通常对应较旧的稳定版本,而Windows Server ltsc2022属于较新的版本,旧版builder镜像未适配对它的支持。此外,该工具的版本与GKE集群版本强绑定,只有对应GKE版本的builder镜像才会支持匹配的Windows Server版本。
解决方案
1. 替换为对应GKE版本的builder镜像标签
放弃使用latest标签,选择与你的GKE集群版本匹配的gke-windows-builder镜像标签。例如,如果你的GKE集群版本是1.28.3-gke.100,则使用镜像us-docker.pkg.dev/gke-windows-tools/docker-repo/gke-windows-builder:1.28.3-gke.100。
修改后的cloudbuild.yaml示例:
timeout: 3600s steps: - name: 'us-docker.pkg.dev/gke-windows-tools/docker-repo/gke-windows-builder:1.28.3-gke.100' args: - --container-image-name - 'europe-west3-docker.pkg.dev/my-project/windows/image-name:latest' - --versions - 'ltsc2022'
2. 确认GKE集群版本支持ltsc2022
GKE 1.23及以上版本才开始支持Windows Server ltsc2022,若你的集群版本过低,需要先完成集群升级操作。
3. 核对builder镜像的版本支持范围
可以通过GKE官方文档中Windows镜像构建的版本对应表,确认所选builder镜像支持的Windows Server版本范围,确保两者匹配。
内容的提问来源于stack exchange,提问作者nalou
相关产品推荐
相关产品推荐

