关于Pod中进程在节点中的研究

这篇具有很好参考价值的文章主要介绍了关于Pod中进程在节点中的研究。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近研究OpenShift virtulization, 各种Pod对KVM进程的封装,引发了Pod中进程到底在Node中是什么表现形势的好奇,因为对基础知识的不扎实,还是希望找个环境能仔细看看,建立起openshift 4.12的环境后,首先列出某个节点上的所有的Pod

[lab-user@bastion ~]$ oc get pods -A --field-selector=spec.host=ip-10-0-148-57.us-east-2.compute.internal
NAMESPACE                                NAME                                                     READY   STATUS      RESTARTS      AGE
openshift-cluster-csi-drivers            aws-ebs-csi-driver-node-c4ddr                            3/3     Running     0             46m
openshift-cluster-node-tuning-operator   tuned-5lrjg                                              1/1     Running     0             46m
openshift-console                        downloads-595667555c-477b2                               1/1     Running     0             39m
openshift-debug-b7f7z                    ip-10-0-148-57.us-east-2.compute.internal-debug          1/1     Running     0             22m
openshift-dns                            dns-default-cxr55                                        2/2     Running     0             45m
openshift-dns                            node-resolver-szmvw                                      1/1     Running     0             46m
openshift-image-registry                 image-registry-6945b97db4-gnjfl                          1/1     Running     0             44m
openshift-image-registry                 node-ca-56rgw                                            1/1     Running     0             44m
openshift-ingress-canary                 ingress-canary-7twkk                                     1/1     Running     0             44m
openshift-ingress                        router-default-74f6d94f48-cwczb                          1/1     Running     0             30m
openshift-machine-config-operator        machine-config-daemon-fgchf                              2/2     Running     0             46m
openshift-monitoring                     alertmanager-main-1                                      6/6     Running     1 (39m ago)   39m
openshift-monitoring                     node-exporter-w8f5k                                      2/2     Running     0             44m
openshift-monitoring                     prometheus-adapter-b87c6d546-7jlzw                       1/1     Running     0             39m
openshift-monitoring                     prometheus-k8s-1                                         6/6     Running     0             39m
openshift-monitoring                     prometheus-operator-admission-webhook-566d9cc57c-mfwc8   1/1     Running     0             52m
openshift-monitoring                     thanos-querier-7dcb8856d-d8g8t                           6/6     Running     0             39m
openshift-multus                         multus-8cgln                                             1/1     Running     0             46m
openshift-multus                         multus-additional-cni-plugins-cpdbf                      1/1     Running     0             46m
openshift-multus                         network-metrics-daemon-5rjqw                             2/2     Running     0             46m
openshift-network-diagnostics            network-check-source-6655898df9-p9qjz                    1/1     Running     0             54m
openshift-network-diagnostics            network-check-target-5qlvj                               1/1     Running     0             46m
openshift-operator-lifecycle-manager     collect-profiles-28103550-nrvlz                          0/1     Completed   0             40m
openshift-operator-lifecycle-manager     collect-profiles-28103565-lt2ct                          0/1     Completed   0             28m
openshift-operator-lifecycle-manager     collect-profiles-28103580-nwh94                          0/1     Completed   0             13m
openshift-ovn-kubernetes                 ovnkube-node-p4dld                                       5/5     Running     0             46m

以prometheus-adapter-xxxx为例,登录进去查看一下Pod里面运行的进程

[lab-user@bastion ~]$ oc project openshift-monitoring 
Already on project "openshift-monitoring" on server "https://api.cluster-gmwqp.gmwqp.sandbox1496.opentlc.com:6443".
[lab-user@bastion ~]$ oc rsh prometheus-adapter-b87c6d546-7jlzw 
sh-4.4$ ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
1000430+       1       0  0 08:34 ?        00:00:13 /usr/bin/adapter --prometheus-auth-config=/etc/prometheus-config/prometheus-config.yaml --config=/etc/adapter/config.yaml --logtostderr=
1000430+      37       0  1 09:15 pts/0    00:00:00 /bin/sh
1000430+      43      37  0 09:15 pts/0    00:00:00 ps -ef

比较简单,只有一个,然后登陆到节点查看相关进程

sh-4.4# ps -ef | grep prometheus-adapter
root       11677       1  0 08:34 ?        00:00:00 /usr/bin/conmon -b /run/containers/storage/overlay-containers/1961af83ec2bf15ae89371edd5ebb534886c9db6bfaa385ac4fb53b4232df966/userdata -c 1961af83ec2bf15ae89371edd5ebb534886c9db6bfaa385ac4fb53b4232df966 --exit-dir /var/run/crio/exits -l /var/log/pods/openshift-monitoring_prometheus-adapter-b87c6d546-7jlzw_18617999-d875-40e2-b29f-c40743f8314b/prometheus-adapter/0.log --log-level info -n k8s_prometheus-adapter_prometheus-adapter-b87c6d546-7jlzw_openshift-monitoring_18617999-d875-40e2-b29f-c40743f8314b_0 -P /run/containers/storage/overlay-containers/1961af83ec2bf15ae89371edd5ebb534886c9db6bfaa385ac4fb53b4232df966/userdata/conmon-pidfile -p /run/containers/storage/overlay-containers/1961af83ec2bf15ae89371edd5ebb534886c9db6bfaa385ac4fb53b4232df966/userdata/pidfile --persist-dir /var/lib/containers/storage/overlay-containers/1961af83ec2bf15ae89371edd5ebb534886c9db6bfaa385ac4fb53b4232df966/userdata -r /usr/bin/runc --runtime-arg --root=/run/runc --socket-dir-path /var/run/crio --syslog -u 1961af83ec2bf15ae89371edd5ebb534886c9db6bfaa385ac4fb53b4232df966 -s
root       64634   35507  0 09:16 pts/1    00:00:00 grep prometheus-adapter

可见Pod里面的进程和Nodes上的进程是一对一的关系,我们再找一个多进程的,比如prometheus-k8s-1

因为rsh进入pod以后发现没有ps,那么我们登录节点看看

sh-4.4# crictl ps | grep prometheus-k8s-1
1b1d29d044d4f       8dd80e25afda5c9466a26ef90346b419a8cc9840bd8b553257a0c6df2c5bac6c                                                         42 minutes ago      Running             kube-rbac-proxy-thanos                  0                   9d74de5a22175       prometheus-k8s-1
bacbcddd17d2c       8dd80e25afda5c9466a26ef90346b419a8cc9840bd8b553257a0c6df2c5bac6c                                                         42 minutes ago      Running             kube-rbac-proxy                         0                   9d74de5a22175       prometheus-k8s-1
22d9f341cb2b9       e1f27569f2e6745ac23c33e89b8e569069970ab56a54114e93f6a31570b86334                                                         42 minutes ago      Running             prometheus-proxy                        0                   9d74de5a22175       prometheus-k8s-1
a36c49e125c9a       4efdbf6a731d2feb217ecd0fb0d792dcadf854e826d4db235cafc0268b2621d4                                                         42 minutes ago      Running             thanos-sidecar                          0                   9d74de5a22175       prometheus-k8s-1
76140a26677b1       c9868e04bec41eda58502d70bacc3f2cb5084f5d643b76fb018e3076f7d38014                                                         42 minutes ago      Running             config-reloader                         0                   9d74de5a22175       prometheus-k8s-1
2b0aa6f218f55       quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:97ffae63353c694fe66615679429351a96711cbdeb400555181dea8688a388ea   42 minutes ago      Running             prometheus   

sh-4.4# crictl ps | grep prometheus-k8s-1 | wc -l
6

然后通过ps查看

sh-4.4# ps -ef | grep prometheus-k8s-1        
root       12918       1  0 08:34 ?        00:00:00 /usr/bin/conmon -b /run/containers/storage/overlay-containers/2b0aa6f218f552f0d1009b07a80d23d9d47c8b63c23777fb51dcb1aa648d0316/userdata -c 2b0aa6f218f552f0d1009b07a80d23d9d47c8b63c23777fb51dcb1aa648d0316 --exit-dir /var/run/crio/exits -l /var/log/pods/openshift-monitoring_prometheus-k8s-1_0a15cd78-757d-4322-9f35-94f7c42860b4/prometheus/0.log --log-level info -n k8s_prometheus_prometheus-k8s-1_openshift-monitoring_0a15cd78-757d-4322-9f35-94f7c42860b4_0 -P /run/containers/storage/overlay-containers/2b0aa6f218f552f0d1009b07a80d23d9d47c8b63c23777fb51dcb1aa648d0316/userdata/conmon-pidfile -p /run/containers/storage/overlay-containers/2b0aa6f218f552f0d1009b07a80d23d9d47c8b63c23777fb51dcb1aa648d0316/userdata/pidfile --persist-dir /var/lib/containers/storage/overlay-containers/2b0aa6f218f552f0d1009b07a80d23d9d47c8b63c23777fb51dcb1aa648d0316/userdata -r /usr/bin/runc --runtime-arg --root=/run/runc --socket-dir-path /var/run/crio --syslog -u 2b0aa6f218f552f0d1009b07a80d23d9d47c8b63c23777fb51dcb1aa648d0316 -s
root       12978       1  0 08:34 ?        00:00:00 /usr/bin/conmon -b /run/containers/storage/overlay-containers/76140a26677b1512e18864b5c1bfb31a2847d581721a64cd7f7633fb2a62ab66/userdata -c 76140a26677b1512e18864b5c1bfb31a2847d581721a64cd7f7633fb2a62ab66 --exit-dir /var/run/crio/exits -l /var/log/pods/openshift-monitoring_prometheus-k8s-1_0a15cd78-757d-4322-9f35-94f7c42860b4/config-reloader/0.log --log-level info -n k8s_config-reloader_prometheus-k8s-1_openshift-monitoring_0a15cd78-757d-4322-9f35-94f7c42860b4_0 -P /run/containers/storage/overlay-containers/76140a26677b1512e18864b5c1bfb31a2847d581721a64cd7f7633fb2a62ab66/userdata/conmon-pidfile -p /run/containers/storage/overlay-containers/76140a26677b1512e18864b5c1bfb31a2847d581721a64cd7f7633fb2a62ab66/userdata/pidfile --persist-dir /var/lib/containers/storage/overlay-containers/76140a26677b1512e18864b5c1bfb31a2847d581721a64cd7f7633fb2a62ab66/userdata -r /usr/bin/runc --runtime-arg --root=/run/runc --socket-dir-path /var/run/crio --syslog -u 76140a26677b1512e18864b5c1bfb31a2847d581721a64cd7f7633fb2a62ab66 -s
root       13037       1  0 08:34 ?        00:00:00 /usr/bin/conmon -b /run/containers/storage/overlay-containers/a36c49e125c9a385e8e32e904e61c404c40135a1c5040d01244692e1a930f730/userdata -c a36c49e125c9a385e8e32e904e61c404c40135a1c5040d01244692e1a930f730 --exit-dir /var/run/crio/exits -l /var/log/pods/openshift-monitoring_prometheus-k8s-1_0a15cd78-757d-4322-9f35-94f7c42860b4/thanos-sidecar/0.log --log-level info -n k8s_thanos-sidecar_prometheus-k8s-1_openshift-monitoring_0a15cd78-757d-4322-9f35-94f7c42860b4_0 -P /run/containers/storage/overlay-containers/a36c49e125c9a385e8e32e904e61c404c40135a1c5040d01244692e1a930f730/userdata/conmon-pidfile -p /run/containers/storage/overlay-containers/a36c49e125c9a385e8e32e904e61c404c40135a1c5040d01244692e1a930f730/userdata/pidfile --persist-dir /var/lib/containers/storage/overlay-containers/a36c49e125c9a385e8e32e904e61c404c40135a1c5040d01244692e1a930f730/userdata -r /usr/bin/runc --runtime-arg --root=/run/runc --socket-dir-path /var/run/crio --syslog -u a36c49e125c9a385e8e32e904e61c404c40135a1c5040d01244692e1a930f730 -s
root       13087       1  0 08:34 ?        00:00:00 /usr/bin/conmon -b /run/containers/storage/overlay-containers/22d9f341cb2b9f8748852a5b83146844cebb8ec2e4e00ce17016d523f5edb1ec/userdata -c 22d9f341cb2b9f8748852a5b83146844cebb8ec2e4e00ce17016d523f5edb1ec --exit-dir /var/run/crio/exits -l /var/log/pods/openshift-monitoring_prometheus-k8s-1_0a15cd78-757d-4322-9f35-94f7c42860b4/prometheus-proxy/0.log --log-level info -n k8s_prometheus-proxy_prometheus-k8s-1_openshift-monitoring_0a15cd78-757d-4322-9f35-94f7c42860b4_0 -P /run/containers/storage/overlay-containers/22d9f341cb2b9f8748852a5b83146844cebb8ec2e4e00ce17016d523f5edb1ec/userdata/conmon-pidfile -p /run/containers/storage/overlay-containers/22d9f341cb2b9f8748852a5b83146844cebb8ec2e4e00ce17016d523f5edb1ec/userdata/pidfile --persist-dir /var/lib/containers/storage/overlay-containers/22d9f341cb2b9f8748852a5b83146844cebb8ec2e4e00ce17016d523f5edb1ec/userdata -r /usr/bin/runc --runtime-arg --root=/run/runc --socket-dir-path /var/run/crio --syslog -u 22d9f341cb2b9f8748852a5b83146844cebb8ec2e4e00ce17016d523f5edb1ec -s
root       13142       1  0 08:34 ?        00:00:00 /usr/bin/conmon -b /run/containers/storage/overlay-containers/bacbcddd17d2cfd032c0e890783018bec8d98a06b373918576b0de533332b369/userdata -c bacbcddd17d2cfd032c0e890783018bec8d98a06b373918576b0de533332b369 --exit-dir /var/run/crio/exits -l /var/log/pods/openshift-monitoring_prometheus-k8s-1_0a15cd78-757d-4322-9f35-94f7c42860b4/kube-rbac-proxy/0.log --log-level info -n k8s_kube-rbac-proxy_prometheus-k8s-1_openshift-monitoring_0a15cd78-757d-4322-9f35-94f7c42860b4_0 -P /run/containers/storage/overlay-containers/bacbcddd17d2cfd032c0e890783018bec8d98a06b373918576b0de533332b369/userdata/conmon-pidfile -p /run/containers/storage/overlay-containers/bacbcddd17d2cfd032c0e890783018bec8d98a06b373918576b0de533332b369/userdata/pidfile --persist-dir /var/lib/containers/storage/overlay-containers/bacbcddd17d2cfd032c0e890783018bec8d98a06b373918576b0de533332b369/userdata -r /usr/bin/runc --runtime-arg --root=/run/runc --socket-dir-path /var/run/crio --syslog -u bacbcddd17d2cfd032c0e890783018bec8d98a06b373918576b0de533332b369 -s
root       13194       1  0 08:34 ?        00:00:00 /usr/bin/conmon -b /run/containers/storage/overlay-containers/1b1d29d044d4fadd61fdc8b3e040c4aaa9a8fb2690cffb562d170d3952dbc9d6/userdata -c 1b1d29d044d4fadd61fdc8b3e040c4aaa9a8fb2690cffb562d170d3952dbc9d6 --exit-dir /var/run/crio/exits -l /var/log/pods/openshift-monitoring_prometheus-k8s-1_0a15cd78-757d-4322-9f35-94f7c42860b4/kube-rbac-proxy-thanos/0.log --log-level info -n k8s_kube-rbac-proxy-thanos_prometheus-k8s-1_openshift-monitoring_0a15cd78-757d-4322-9f35-94f7c42860b4_0 -P /run/containers/storage/overlay-containers/1b1d29d044d4fadd61fdc8b3e040c4aaa9a8fb2690cffb562d170d3952dbc9d6/userdata/conmon-pidfile -p /run/containers/storage/overlay-containers/1b1d29d044d4fadd61fdc8b3e040c4aaa9a8fb2690cffb562d170d3952dbc9d6/userdata/pidfile --persist-dir /var/lib/containers/storage/overlay-containers/1b1d29d044d4fadd61fdc8b3e040c4aaa9a8fb2690cffb562d170d3952dbc9d6/userdata -r /usr/bin/runc --runtime-arg --root=/run/runc --socket-dir-path /var/run/crio --syslog -u 1b1d29d044d4fadd61fdc8b3e040c4aaa9a8fb2690cffb562d170d3952dbc9d6 -s
root       69497   35507  0 09:20 pts/1    00:00:00 grep prometheus-k8s-1

sh-4.4# ps -ef | grep prometheus-k8s-1  | wc -l
7

 文章来源地址https://www.toymoban.com/news/detail-475827.html

所以基本是对映关系。

关于为什么是通过conmon把容器运行起来,以及整体的架构大家可以去参考cri-o的官网和整个过程

https://cri-o.io/

关于Pod中进程在节点中的研究

 

到了这里,关于关于Pod中进程在节点中的研究的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8s: 关于Kubernetes中的Pod的生命周期(状态)以及生命周期的钩子函数处理

    pod 的生命周期 1 ) pod 几种常用状态 1.1 )Pending(挂起) Pod 已被 Kubernetes 系统接受,但有一个或者多个容器尚未创建亦未运行 此阶段包括等待 Pod 被调度的时间和通过网络下载镜像的时间。 1.2 )Running(运行中) Pod 已经绑定到了某个节点,Pod 中所有的容器都已被创建 至少有

    2024年04月22日
    浏览(57)
  • Mysql关于进程中的死锁和解除锁

    Mysql 经常会遇到语句或者存储过程长时间没有反应,大概率就是挂掉了,或者死锁了。 可通过如下几种方式来查看当前进程状态 1. 查询数据库所有的进程状态 2. 查询在锁的事务 3. 查看是否锁表 4. 观察事务内锁状态  status 里面就有对应的结果,具体结果可以搜索了。 最后,

    2024年02月15日
    浏览(33)
  • 关于进程、线程、协程的概念以及Java中的应用

    本文将从“操作系统”、“Java应用”上两个角度来探究这三者的区别。 在我本人的疑惑中,我有以下3个问题。 在“多道程序环境下”,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性以及不可再现性的特征,因此需要引入进程的概念。 进程是程序执行的过

    2024年02月08日
    浏览(60)
  • 关于HBase集群中的Hmaster节点刚启动就挂掉的解决方法

    1、版本分析 我的hadoop版本3.1.3,hbase版本2.0.5 首先hdfs端口号要明确,hadoop3.x中HDFS NameNode 内部通常端口:8020/9000/9820,hadoop2.x则是8020/9000,这里9000端口不能使用,换成8020便在hdfs上成功创建目录。 注意:这里的端口号和core-site.xml里面的配置的端口号保持一致。 2、查看HBase的

    2024年02月13日
    浏览(48)
  • 【LeetCode - 每日一题】1123. 最深叶节点的最近公共祖先(23.09.06)

    返回最深节点的最近公共祖先; 每个节点的 val 互不相同; 节点最多 1000 个; 和经典的 LCA 不同的是,这里的对象是 若干个叶节点(1个或多个,最深的) 。 首先将最深的叶节点找出来: bfs 广搜,用 map 存储每层的节点 记录所有节点的父节点: father 数组(在 bfs 广搜的同

    2024年02月09日
    浏览(36)
  • LeetCode每日一题:1123. 最深叶节点的最近公共祖先(2023.9.6 C++)

    目录 1123. 最深叶节点的最近公共祖先 题目描述: 实现代码与解析: dfs 原理思路:         给你一个有根节点  root  的二叉树,返回它  最深的叶节点的最近公共祖先  。 回想一下: 叶节点  是二叉树中没有子节点的节点 树的根节点的  深度  为  0 ,如果某一节点的

    2024年02月09日
    浏览(56)
  • K8s集群某节点出现异常,新分配到node上面的pod不能ping通外部pod,同节点pod、宿主机IP也不行,外部pod也不可以ping通IP

    K8s集群某节点出现异常,新分配到node上面的pod不能ping通外部pod,同节点pod、宿主机IP也不行,外部pod也不可以ping通IP IP地址和集群的dns地址一致,通过该节点其他pod对这个问题pod进行ping,发现还是不通,ping同节点其他pod是正常的,问题定位在这个pod上面,接着怀疑是svc未绑

    2024年02月03日
    浏览(49)
  • k8s节点pod驱逐、污点标记

    一、设置污点,禁止pod被调度到节点上 kubectl cordon k8s-node-145  设置完成后,可以看到该节点附带了 SchedulingDisabled 的标记 二、驱逐节点上运行的pod到其他节点 kubectl drain --ignore-daemonsets --delete-emptydir-data k8s-node-145  显示被驱逐的 pod  三、去除污点,允许 pod 调度到节点上

    2024年02月11日
    浏览(46)
  • K8s进阶之网络:pod内不同容器、同节点不同pod通信、CNI插件、不同节点pod通信、Flannel容器网络、Serivce连接外部网络、服务发现、Nginx反向代理与域名、Ingress代理

    Pod是Kubernetes中最小的可部署单元,它是一个或多个紧密关联的容器的组合,这些容器共享同一个网络命名空间和存储卷,因此Pod中的 所有容器都共享相同的网络命名空间和IP地址——PodIP ,所以在同一个Pod内的容器间通信可以 通过localhost直接通信 。 k8s创建Pod时永远都是首先

    2024年02月05日
    浏览(53)
  • Java LeetCode篇-二叉树经典解法(实现:判断平衡二叉树、找两个节点最近的祖先等)

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍     文章目录         1.0 平衡二叉树         1.1 实现判断平衡二叉树的思路         1.2 代码实现判断平衡二叉树         2.0 二叉树的层序遍历         2.1 实现二叉树层序遍历的思路          2.2

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包