我目前正在尝试了解在安装干净堆栈、查询kube-system命名空间之后,如何以及为什么在Kube-AWS-0-9-6 (1.6.2)控制器上调度吊舱,我看到以下内容:
kubectl -kubeconfig=kubeconfig-命名空间kube-系统获取荚名就绪状态重新启动年龄堆-v1.3.0-690018220-tvr45 45 0/2待处理0 1h kube-apiserver-ip-10-0-0-17 10 west-1计算运行0 3h kube-controller-manager-ip-10-0-0-17.eu-west-1.compute.internal 1/1 .internal 1/1运行0 3h kube-dns-1455470676-tlrlf 0/3待决0 3hKube-dns-autoscaler-1106974149-xvdw5 50/1挂起0,1h kube-proxy-ip-10-0-0-17.eu-west-1.compute.internal 1/1运行0 3h kube-scheduler-ip-10-0-0-17.eu-west-1.compute.internal 1/1运行0 1h kubernetes-仪表板-v1.5.1-50n8s1/1运行0 7s
现在我们看到一些豆荚正在运行,有些正在等待。挂起的豆荚因下列原因而悬而未决:
No nodes are available that match all of the following predicates:: PodToleratesNodeTaints (1).首先查看节点,我看到以下内容:
Taints: node.alpha.kubernetes.io/role=master:NoSchedule这是很好的,控制器节点是不可调度的,现在,我想知道为什么要调度豆荚,为什么其他的不能调度。首先看看我们看到的kube部署:
公差:-效果: NoExecute操作符:存在
首先,这不会出现在控制器用户数据中,我想知道它是从哪里来的,但是即使它在那里,这种容忍也不能满足NoSchedule的污染。
然后,如果我们查看处于挂起状态的其他豆荚,我们可以看到以下内容:
公差:-键: CriticalAddonsOnly操作符:存在
这是非常清楚的,为什么他们不能被排定,他们处于待决状态。它不能满足污点。
从现在开始,无论我做什么(除了满足NoSchedule)。什么都没变。
向任何挂起的节点添加NoExecute效果都不会弹出它们,这是正确的,因为它们不满足任何内容。
我找不到api-server、控制器-管理器、代理和调度程序运行和不挂起的任何理由(在用户数据中也看不到任何特殊的东西)。
有人能向我解释一下发生了什么事吗?
谢谢
发布于 2017-08-16 19:41:15
容忍和污染应该在部署对象的yaml中定义(例如调度器、控制器等)。我不希望他们出现在实例的UserData中。
除了主节点之外,集群中还有其他节点吗?似乎其他加载项(dns等)将在集群中的节点上运行,而核心组件(调度器等)则设置为在主服务器上运行。
https://stackoverflow.com/questions/43783525
复制相似问题