创build一个“尽力而为”的pod,其得分不是1000,而是-999

创build一个部署如下:

apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: owt: hello pdl: com app: world idc: xg add: parameters-48 name: parameters-48 spec: replicas: 2 template: metadata: labels: name: parameters-48 spec: containers: - name: mofang-web image: registry.cc.com/online/mofang:stable nodeSelector: node:cc 

login到节点find了容器的PID,然后检查其OOM分数:

 cat /proc/21606/oom_adj -16 cat /proc/21606/oom_score 0 cat /proc/21606/oom_score_adj -999 

根据用户指南页面: https : //github.com/kubernetes/community/blob/master/contributors/design-proposals/resource-qos.md ,此窗格应该是“尽力而为”窗格,但其OOM_SCORE_ADJ不是1000但是-999。 顺便说一句,999的手段不会被杀害。

在这个问题之后 ,可能值得总结一下如何为一个容器find正确的容器pid / proc:

运行一些应用程序

 $ kubectl run bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 

findcontainerID:

 $ kubectl get pods --output=jsonpath='{.items[*].status.containerStatuses[*].containerID}' docker://59f127d641cef9475309cbf4b5fc2e4a65f3e52a0e08112dccbc2c144a0e366f 

find相关的主机/节点:

 $ kubectl get pods --output=jsonpath='{.items[*].status.hostIP}' 192.168.99.100 

两者都可以find:

 $ kubectl describe pod <podID> 

通过SSH连接到节点,然后运行:

 $ docker inspect 59f127d641cef9475309cbf4b5fc2e4a65f3e52a0e08112dccbc2c144a0e366f | grep Pid\": "Pid": 18052, $ cat /proc/18052/oom_* 15 1000 1000 

希望这可以帮助别人