Hi, I am currently trying to understand how and why pods are scheduled or not on the controller with kube-aws 0-9-6 (1.6.2) After installing a clean stack, querying the kube-system namespace I see the following:
<https://lh3.googleusercontent.com/-dYzB0utNfzU/WQsaW-OmGfI/AAAAAAAAABc/CVc6vK4xMXMoPMYAU09NMtGOnVYX0ZX9gCLcB/s1600/Screen%2BShot%2B2017-05-04%2Bat%2B15.10.43.png> Now we see that some of the pods are running and some are pending. The pending pods are pending due to: *No nodes are available that match all of the following predicates:: PodToleratesNodeTaints (1).* Firstly looking at the node, I see the following: *Taints: node.alpha.kubernetes.io/role=master:NoSchedule* Which is fine, the controller node is not schedulable, now, I wanted to see why pods are scheduled and why others aren't. Firstly looking at the kube-apiserver deployment we see: > tolerations: > > - effect: NoExecute > > operator: Exists > > Firstly this does not appear in the controller user data, I wonder where it comes from, but even if it's there, it makes no sense that this toleration satisfies the taint of the *NoSchedule* Then, If we look at other pods that are in pending state we can see the following: > tolerations: > > - key: CriticalAddonsOnly > > operator: Exists > > This is perfectly clear why they cannot be scheduled and they are in pending state. it does not satisfy the taint. >From this point on, no matter what I do (except satisfying the NoSchedule). Nothing changes. Adding the NoExecute effect to any of the pending nodes do not bring them up which is correct because they do not satisfy anything. I can't find any justification for the api-server, controller-manager, proxy and scheduler to be running and not pending (can't see anything special in the user-data as well) Can anyone please explain to me what is going on? Thanks
