kube-aws kubernetes控制器污染和豆荚耐受性



我当前正在尝试了解如何以及为什么使用Kube-aws 0-9-6(1.6.2(在控制器上安排POD和为什么安装干净的堆栈后,查询Kube-System名称空间,我会看到以下内容:

  kubectl --kubeconfig=kubeconfig --namespace kube-system get pod
    NAME                                                              READY     STATUS    RESTARTS   AGE
    heapster-v1.3.0-690018220-tvr45                                   0/2       Pending   0          1h
    kube-apiserver-ip-10-0-0-17.eu-west-1.compute.internal            1/1       Running   0          3h
    kube-controller-manager-ip-10-0-0-17.eu-west-1.compute.internal   1/1       Running   0          3h
    kube-dns-1455470676-tlrlf                                         0/3       Pending   0          3h
    kube-dns-autoscaler-1106974149-xvdw5                              0/1       Pending   0          1h
    kube-proxy-ip-10-0-0-17.eu-west-1.compute.internal                1/1       Running   0          3h
    kube-scheduler-ip-10-0-0-17.eu-west-1.compute.internal            1/1       Running   0          1h
    kubernetes-dashboard-v1.5.1-50n8s                                 1/1       Running   0          7s

现在,我们看到某些豆荚正在运行,有些正在待处理。由于:

No nodes are available that match all of the following predicates:: PodToleratesNodeTaints (1).

首先查看节点,我看到以下内容:

Taints:         node.alpha.kubernetes.io/role=master:NoSchedule

这很好,控制器节点是不可安排的,现在,我想看看为什么计划POD以及为什么其他人不安排POD。首先查看我们看到的Kube-abiserver部署:

tolerations:
 - effect: NoExecute
   operator: Exists

首先,这没有出现在控制器用户数据中,我想知道它来自哪里,但是即使在那里,这种宽容也没有道理满足noschedule的污点

然后,如果我们查看其他处于待处理状态的豆荚,我们可以看到以下内容:

 tolerations:
  - key: CriticalAddonsOnly
    operator: Exists

这很清楚,为什么不能安排它们并且处于待处理状态。它不满足污点。

从这一点上开始,无论我做什么(除了满足鼻子外(。什么都没有改变。

将noexecute效果添加到任何待处理的节点都不会提出它们,这是正确的,因为它们不满足任何东西。

我找不到有关API服务器,控制器管理器,代理和调度程序的任何理由

任何人都可以向我解释发生了什么事?

谢谢

公差&污染应在部署对象的Yaml(例如调度程序,控制器等(中定义。我不希望他们在实例的用户数据中。

除主人以外,群集中有任何节点吗?似乎其他插件(DNS等(将在群集中的节点上运行,而核心组件(调度程序等(设置为在主机上运行。

最新更新