如何在本地Kubernetes上运行Windows容器?

时间:2019-05-15 20:56:09

标签: windows docker kubernetes containers kubectl

我有一个.Net Framework和.NetCore容器,我想在Kubernetes中运行它们。我安装了适用于Windows的Docker桌面,并附带了Kubernetes。如何在Kubernetes中运行这些Windows容器? This文档指定了如何在Kubernetes上创建Windows节点,但这非常令人困惑。正如我在Windows机器上一样,在那里我看到了基于linux的命令(而且没有提到运行所有这些操作系统所需要的操作系统)。我在Windows 10专业版机器上。有没有办法在Kubernetes上运行这些容器?

当我尝试使用Windows容器创建Pod时,它失败并显示以下错误消息“无法拉取图像'imagename'; rpc错误:代码=未知desc =图像操作系统'windows'不能在此平台上使用“

1 个答案:

答案 0 :(得分:0)

欢迎使用StackOverflow Srinath

据我所知,您目前无法在本地版本的Kubernetes上运行Windows容器。在Windows安装的Docker桌面中启用Kubernetes选项时,Kubernetes集群仅在Hyper-V虚拟机管理程序的Linux VM(仅具有自己的Linux容器Docker Runtime)内部运行。

您的另一种解决方案是,例如使用Kubernetes的托管版本以及来自任何流行云提供商的Windows节点。我认为比较容易上手的是Azure(如果您没有Azure订阅,请创建一个free试用帐户,有效期为12个月)。

我建议您使用一种旧方法在Azure上运行Kubernetes,该服务称为Azure容器服务(又名ACS),出于一个原因,我已经证实它可以与Windows Containers配合良好,尤其是用于测试目的(我无法通过称为AKS的后继者实现相同的目标:

在Azure Cloud Shell中运行以下命令,您的群集将在几分钟内准备就绪。

az group create --name azEvalRG --location eastus
az acs create -g azEvalRG -n k8s-based-win -d k8s-based-win --windows --agent-count 1 -u azureuser --admin-password 'YourSecretPwd1234$' -t kubernetes --location eastus