首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么linux命令“看到”由K8s荚运行的进程?

为什么linux命令“看到”由K8s荚运行的进程?
EN

Stack Overflow用户
提问于 2022-11-01 17:41:01
回答 1查看 34关注 0票数 -1

我在Linux的CKAD课程(LFD259)上下文中创建了一个LFD259集群。因此,它是由kubeadm创建的“裸金属”簇。

因此,我在worker节点上运行了一个度量服务器部署:

代码语言:javascript
复制
student@master:~$ k get deployments.apps metrics-server -o yaml | grep -A10 args
      - args:
        - --secure-port=4443
        - --cert-dir=/tmp
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls
        image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
student@master:~$ k get pod metrics-server-6894588c69-fpvtt -o wide
NAME                              READY   STATUS    RESTARTS   AGE     IP               NODE     NOMINATED NODE   READINESS GATES
metrics-server-6894588c69-fpvtt   1/1     Running   0          4d15h   192.168.171.98   worker   <none>           <none>
student@master:~$

据我理解,pod的进程在运行在worker节点上的容器中运行。然而,我对linux ps命令“看到”它的事实完全感到困惑:

代码语言:javascript
复制
student@worker:~$ ps aux | grep kubelet-preferred-address-types
ubuntu   1343092  0.3  0.6 752468 49612 ?        Ssl  Oct28  20:25 /metrics-server --secure-port=4443 --cert-dir=/tmp --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --kubelet-use-node-status-port --metric-resolution=15s --kubelet-insecure-tls
student  3310743  0.0  0.0   8184  2532 pts/0    S+   17:39   0:00 grep --color=auto kubelet-preferred-address-types
student@worker:~$

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-01 17:46:06

容器只是在您的主机上运行的进程,启用了一些隔离特性。隔离只以一种方式工作:容器不能看到主机上的资源,但是主机可以访问容器中运行的所有资源。

因为容器只是一个进程,所以它会出现在ps中(就像在容器中生成的任何进程一样)。

例如,见:

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

https://stackoverflow.com/questions/74279781

复制
相关文章

相似问题

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