可以将Pod视为命名空间吗?

emk*_*kay 0 kubernetes

我的理解是因为pod被定义为一组容器,它们在这些容器之间提供共享资源,例如存储和网络,它可以被认为是工作节点中的命名空间,也就是说,不同的pod代表不同的命名空间.工人节点机器?

或者pod实际上是一个进程,它首先由部署启动(或运行或执行),然后启动其中的容器?我可以通过ps命令看到它吗?(我确实尝试过,只有docker容器在运行,所以我排除pod是一个过程)

san*_*_23 5

如果我们从基础开始

什么是命名空间(以通用方式)?

命名空间是一个声明性区域,它为其中的标识符(类型,函数,变量等的名称)提供范围.命名空间用于将代码组织到逻辑组中,以防止可能发生的名称冲突,尤其是当您的代码库包含多个库时.

什么是Pod(在K8s中)?

pod是一组一个或多个容器(例如Docker容器),具有共享存储/网络,以及如何运行容器的规范.pod的内容始终位于同一位置并共同调度,并在共享上下文中运行.pod模拟特定于应用程序的"逻辑主机" - 它包含一个或多个相对紧密耦合的应用程序容器 - 在预容器世界中,在同一物理或虚拟机上执行意味着在同一逻辑主机上执行.

虽然Kubernetes支持的容器运行时间多于Docker,但Docker是最常见的运行时,它有助于用Docker术语描述pod.

pod的共享上下文是一组Linux命名空间,cgroup,以及可能的隔离方面 - 与隔离Docker容器相同的东西.在pod的上下文中,各个应用程序可能会应用进一步的子隔离. 一些深入潜入Pods

什么是命名空间(用k8s术语)?

命名空间旨在用于多个用户分布在多个团队或项目中的环境中.

命名空间提供名称范围.资源名称在名称空间中必须是唯一的,而不是跨名称空间.

命名空间是一种在多个用户之间划分群集资源的方法.

所以我认为足以说:

是Pod有一个命名空间:

Pod类似于一个命名空间,但在容器级别(它们共享相同的网络上下文,只在一组容器中的卷/存储)

但是名称空间(就K8而言)是一个更大的隔离级别 - 在所有容器(服务,部署,DNS名称,IP,配置映射,机密,角色等)共享的集群级别上.

你也应该看到这个链接

希望这会在这个问题上清除一点迷雾.