我在GKE集群上安装了“ nginx入口控制器”。 我跟随this guide在GKE中安装了Nginx入口控制器。
事件告诉我:
0/1 nodes are available: 1 node(s) didn't match node selector.
现在,我检查了Yaml /描述:https://pastebin.com/QG3GKxh1 并发现:
nodeSelector:
kubernetes.io/os: linux
我认为哪个看起来还不错。由于我只是使用指南中的命令来安装控制器,所以我不知道发生了什么问题。
提供的答案向我展示了方法。控制器正在寻找beta.kubernetes/io: linux
时,我的节点被标记为kubernetes/io: linux
。
重命名控制器中的nodeSelector
正常。
答案 0 :(得分:2)
nodeSelector
用于约束可以在其上安排Pod的节点。
使用:
nodeSelector:
kubernetes.io/os: linux
您说的是,必须将Pod分配给具有标签的节点
kubernetes.io/os: linux
。如果您的节点都没有该标签,则Pod将永远不会被调度。
从nginx入口控制器中删除选择器或在任何节点上添加标签kubernetes.io/os: linux
应该可以解决您的问题。