在Windows 10上安装的Kubernetes群集上运行Windows Docker映像

我已经在我的Windows 10机器上安装了Kubernetes Cluster(minikube),似乎正在运行(即:我可以浏览minikube仪表板等)。

kubernetes群集状态

我也在Azure容器registry中有一个Windows Image(它有一个Asp.Net Web API .Net框架4.6应用程序),我想将它拖放到我的本地Kubernetes集群中。

我已经构build了以下yaml文件来创buildKubernetes部署:

apiVersion: v1 kind: Pod metadata: name: hubapi spec: containers: - name: hubapi image: lgmimages.azurecr.io/hubapi/hubapi imagePullSecrets: - name: azurepasswordsecret 

当我运行这个命令时:

 kubectl create -f hubapi.yaml 

我看到:

 pod "hubapi" created 

然后,当我去仪表板或获得Pod说明我看到以下错误:

 kubelet, minikube Failed to pull image "lgmimages.azurecr.io/hubapi/hubapi": rpc error: code = Unknown desc = image operating system "windows" cannot be used on this platform 

我想知道我在这里错过了什么,而我正在努力甚至有可能吗?

注意:当我使用这个命令并且从dockerhub中取出nginx图像时,

 kubectl run kubernetes-nginx --image=nginx:latest --port=80 

然后我公开这个服务,我可以浏览我的本地集群上的nginx网页。

rpc错误:代码=未知的desc =图像操作系统“windows”不能在这个平台上使用

实际上,我们在Ubuntu的 windows 10 bash上安装了kubernetes,这样,Ubuntu上的bash作为一个主人,基于Linux,我们不能在其上运行windows docker镜像。

正如我们所知,kubernetes master应该是一个Linux,你没有其他节点,所以我们不能在它上面运行windows docker image。

对于testing,您可以使用Azure container service并使用windows节点部署kubernetes ,这样,我们就可以在k8s窗口节点上运行Windows docker镜像。

希望这可以帮助:)