首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  程序员

关于 k8s 的 pod 疑惑

  •  
  •   linxiaoziruo · 53 天前 · 1090 次点击
    这是一个创建于 53 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个 pod 里包含一个或者多个容器。一个容器里面又能运行多个进程。 一个 pod 是一个进程,一个容器又是一个进程,这难道是进程里面跑进程,进程里面包含进程?这从操作系统层面说不通啊。

    16 回复  |  直到 2019-09-27 10:17:50 +08:00
        1
    xifan8866   53 天前 via iPhone
    操作系统难道不是一个进程嘛
        2
    Bromine0x23   53 天前
    简单来说,Pod 不对应进程
        3
    linxiaoziruo   53 天前
    如果都是进程,为啥操作系统看不到容器里跑的进程。打开命令行看不到相关的进程信息
        4
    xfriday   53 天前
    @linxiaoziruo 宿主主机可以看到容器内的进程,容器内跑个空 loop,然后宿主主机 top 一下就看到了,容器技术做的是资源隔离
        5
    Rand01ph   53 天前
    最好是一个容器对应一个进程,一个 Pod 应该抽象成一个应用。
        6
    choury   53 天前
    谁说一个 pod 对应一个进程的,瞎扯
        7
    Nitroethane   53 天前 via Android   ♥ 2
    容器是利用 Linux 内核的命名空间特性以及 cgroup 特性构建的,容器中的一个进程在宿主机中也表现为一个进程。pod 是 k8s 进行资源管理和调度的基本单位。一个 pod 中可以包含多个容器,同一个 pod 内的容器共用一个命名空间(网络命名空间和 pid 命名空间),一般是联系比较紧密的应用才会放到同一个 pod 里,官方文档里有举例子。一个容器里可以跑多个进程,但是从实践角度来说基本不会在一个容器里跑多个进程。
    其中提到的名词够你学一阵了
        8
    0312birdzhang   53 天前
    谁告诉你的,基本都错了
        9
    reus   53 天前
    进程树了解一下
        10
    ls2110609   53 天前
    去看看 k8s 权威指南吧
        11
    sweetweapen   53 天前
    # Nitroethane 正解
        12
    LeeSeoung   53 天前
    看下 7 楼 正解。。
        13
    polythene   53 天前
    可以把 Pod 理解成一个虚拟机 vm,一个虚拟机里面可以跑多个进程( container ),k8s 负责把这个虚拟机调度到某个实体机器上
        14
    a852695   53 天前
    pod 不是一个实体
        15
    linxiaoziruo   52 天前
    我擦,早上到工位一看,这么多回复,全明白了。大佬们,小弟给跪了。
        16
    Reficul   52 天前
    宿主机不一定看得到容器里的进程,取决于 CRI 是啥。gvisor 里一个容器里无论有多少进程在宿主上看起来就一个进程,和 kvm 一样。

    Pod 就是多个容器组成的一个整体,模拟的是一个机器。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1066 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 33ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    ♥ Do have faith in what you're doing.