在Azure AKS中运行Docker Windows容器时获取``与节点选择器不匹配''

时间:2019-02-28 20:16:15

标签: azure docker kubernetes

在本地计算机上,我创建了一个Windows Docker / nano服务器容器,并能够使用此命令将该容器“推”到Azure容器注册表中(之所以必须使用Windows容器,是因为我必须使用ASP.NET Core中的CSOM,在Linux中是不可能的)

docker push MyContainerRegistry.azurecr.io/myimage:v1

该Docker容器在Azure容器注册表中即MyContainerRegistry内部可见

我知道要运行它,我必须创建一个容器实例;但是,我们的管理团队不想走这条路,而是要使用AKS

我们确实创建了AKS集群

kubectl IS在我们的Azure shell中运行

我尝试使用此命令创建AKS吊舱

kubectl apply -f myyaml.yaml

这些是Yaml文件的内容

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: mypod
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: mypod
    spec:
      containers:
      - name: mypod
        image: MyContainerRegistry.azurecr.io/itataxsync:v1
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: mysecret
      nodeSelector: 
          beta.kubernetes.io/os: windows

吊舱成功创建。

当我运行“获取豆荚”时,我会看到一个新创建的豆荚

但是,当我深入了解此Pod时,会看到以下内容

  

“警告失败计划3m(x2超过3m)默认计划程序0/3   节点可用:3个节点与节点选择器不匹配。“

这是否意味着我无法使用AKS在Azure中运行Docker Windows容器?

有什么办法可以在Azure中运行Docker Windows容器吗?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您还不能在AKS上具有Windows节点,但是可以使用AKS engineexamples)。

请记住,在kubernetes中缺少Windows支持,因此,不幸的是,您会遇到问题。