kubernetes - Nginx Ingress Controller 在 Google Kubernetes Engine 上找不到节点
问题描述
我在我的 GKE 集群上安装了一个“nginx 入口控制器”。我按照本指南在 GKE 中安装了 nginx 入口控制器。
事件告诉我:
0/1 nodes are available: 1 node(s) didn't match node selector.
现在我检查了 yaml/describe: https://pastebin.com/QG3GKxh1 发现:
nodeSelector:
kubernetes.io/os: linux
在我看来,这看起来不错。因为我只是使用指南的命令来安装控制器,所以我不知道我这边出了什么问题。
解决方案:
提供的答案为我指明了方向。beta.kubernetes/io: linux
当控制器正在寻找时,我的节点被标记为kubernetes/io: linux
. 重命名nodeSelector
控制器中的工作。
解决方案
nodeSelector
用于限制可以调度 Pod 的节点。
和:
nodeSelector:
kubernetes.io/os: linux
您是说 Pods 必须分配给具有标签的节点
kubernetes.io/os: linux
。如果您的任何节点都没有该标签,则 Pod 将永远不会被调度。
从 nginx 入口控制器中删除选择器或将标签添加kubernetes.io/os: linux
到任何节点应该可以解决您的问题。
推荐阅读
- javascript - 将替换方法的组合转换为一个
- ruby-on-rails - 如何使用 Proc.new
- python - 尝试使用 join/split 删除我自己的停用词
- python - 从包含索引的另一个子列表的子列表中获取项目
- javascript - 使用 Sequelize 破坏模型的麻烦
- batch-file - SVN 和 JIRA 集成以使用 API 检查 JIRA 中是否存在问题
- sql - SQL 全外连接 + group by + count 列
- android - 当在 Tabs 中再次打开 Fragment 时,Recycler View 变为空视图
- c# - 调试 ASP.NET (.NET Framework 4.8) Web 应用程序时,没有为新 csproj 格式的 (.NET Framework 4.8) 库加载符号
- php - PHP Null 合并混乱