首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个"Best-effort“pod,它的oom得分不是1000而是-999

创建一个"Best-effort“pod,它的oom得分不是1000而是-999
EN

Stack Overflow用户
提问于 2017-02-04 19:22:29
回答 1查看 201关注 0票数 2

创建展开,如下所示:

代码语言:javascript
复制
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

登录到node找到容器的pid,然后检查它的oom分数:

代码语言:javascript
复制
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,这个pod应该是一个“尽力而为”的pod,但它的OOM_SCORE_ADJ不是1000而是-999。顺便说一下-999的意思是不会被杀死的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-11 05:07:15

issue之后,也许有必要总结一下如何为pod找到正确的容器pid / proc:

运行一些应用程序:

代码语言:javascript
复制
$ kubectl run bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1

查找containerID:

代码语言:javascript
复制
$ kubectl get pods --output=jsonpath='{.items[*].status.containerStatuses[*].containerID}'
docker://59f127d641cef9475309cbf4b5fc2e4a65f3e52a0e08112dccbc2c144a0e366f

查找相关主机/节点:

代码语言:javascript
复制
$ kubectl get pods --output=jsonpath='{.items[*].status.hostIP}'                          
192.168.99.100

这两个也可以通过以下命令找到:

代码语言:javascript
复制
$ kubectl describe pod <podID>

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

代码语言:javascript
复制
$ docker inspect 59f127d641cef9475309cbf4b5fc2e4a65f3e52a0e08112dccbc2c144a0e366f | grep Pid\":
"Pid": 18052,
$ cat /proc/18052/oom_*         
15
1000
1000

希望这能在某一时刻帮助其他人

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42039768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档