【kubernetes/k8s概念】k8s 坑問題彙總
阿新 • • 發佈:2019-01-04
1. Pod始終處於Pending狀態
如果Pod保持在Pending
的狀態,意味著無法被正常的排程到節點上。由於某種系統資源無法滿足Pod執行的需求
- 系統沒有足夠的資源:已經用盡了叢集中所有的CPU或記憶體資源。需要清理一些不在需要的Pod,調整它們所需的資源量,或者向叢集中增加新的節點。
- 使用者指定了
hostPort
:通過hostPort
使用者能夠將服務暴露到指定的主機埠上,會限制Pod能夠被排程執行的節點。
2. Pod始終處於Waiting狀態
Pod處在Waiting
Waiting
的原因是無法下載映象
3. Pod一直崩潰或執行不正常
可以使用kubectl describe以及kubectl logs排查問題,但是這個一般也不確定
情況有:健康檢測失敗,OOM情況,或者容器執行生命週期結束
4. 叢集雪崩需給Kubelet預留資源
https://my.oschina.net/jxcdwangtao/blog/1629059
Node Allocatable Resource = Node Capacity - Kube-reserved - system-reserved - eviction-threshold
--eviction-hard=memory.available<1024Mi,nodefs.available<10%,nodefs.inodesFree<5% \
--system-reserved=cpu=0.5,memory=1G \ --kube-reserved=cpu=0.5,memory=1G \
--kube-reserved-cgroup=/system.slice/kubelet.service \
--system-reserved-cgroup=/system.slice \
--enforce-node-allocatable=pods,kube-reserved,system-reserved \