下午好
由于以下错误,我有两个pod不能提升:
prometheus-k8s-0 0/3 Pending 0 56s
prometheus-k8s-1 2/3 Running 0 69sWarning FailedScheduling <unknown> default-scheduler 0/4 nodes are available: 1 node (s) had taint {node.kubernetes.io/memory-pressure:}, that the pod didn't tolerate, 3 node (s) had volume node affinity conflict。
kubectl describe nodes aks-bbagentpool-39730754-vmss000000 | grep -i taint
Taints: node.kubernetes.io/memory-pressure:NoSchedule我在任何节点上都没有看到高消耗:
kubectl top nodes
NAME CPU (cores) CPU% MEMORY (bytes) MEMORY%
aks-bbagentpool-39730754-vmss000000 153m 8% 920Mi 17%
aks-bbagentpool-39730754-vmss000001 1854m 97% 5357Mi 99%
aks-bbinfra-39730754-vmss000000 211m 5% 2038Mi 16%
aks-bbinfra-39730754-vmss000001 111m 2% 1706Mi 13%prometheus解决方案来自Coreos,我看到守护进程正在运行
kubectl get daemonsets.apps -n monitoring
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
node-exporter 4 4 4 4 4 kubernetes.io/os=linux 3d13h我想知道失败的原因,以及如何解决节点的状态。
发布于 2020-08-18 23:09:41
要从节点中删除污点,请使用
kubectl taint node <nodename> node.kubernetes.io/memory-pressure:NoSchedule-别忘了最后的-
或者另一种方式如下所示
如果您希望保持节点上的污点不变,并且仍然希望在该节点上调度pod,那么将其包含在pod/deployment.yaml文件中。
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
tolerations: # <---------------------------- This part
- key: "node.kubernetes.io/memory-pressure"
operator: "Exists"
effect: "NoSchedule"发布于 2020-08-18 23:43:23
当没有足够的内存来调度任何新的pods时,节点控制器将自动添加污点node.kubernetes.io/memory-pressure。
在您的情况下,特定节点将在某个时候遇到内存问题,节点控制器已添加此污点,以防止节点吸引任何新的pod调度,并且在适当的时候,内存将被释放并恢复正常。污点可以由控制器根据满足一定的条件自动应用,但不会自动去除。
你有两个选择来解决这个问题。
kubectl taint nodes aks-bbagentpool-39730754-vmss000000 node.kubernetes.io/memory-pressure:NoSchedule-
谢谢,
https://stackoverflow.com/questions/63471202
复制相似问题