我的理解是因为pod被定义为一组容器,它们在这些容器之间提供共享资源,例如存储和网络,它可以被认为是工作节点中的命名空间,也就是说,不同的pod代表不同的命名空间.工人节点机器?
或者pod实际上是一个进程,它首先由部署启动(或运行或执行),然后启动其中的容器?我可以通过ps命令看到它吗?(我确实尝试过,只有docker容器在运行,所以我排除pod是一个过程)
如果我们从基础开始
什么是命名空间(以通用方式)?
命名空间是一个声明性区域,它为其中的标识符(类型,函数,变量等的名称)提供范围.命名空间用于将代码组织到逻辑组中,以防止可能发生的名称冲突,尤其是当您的代码库包含多个库时.
什么是Pod(在K8s中)?
pod是一组一个或多个容器(例如Docker容器),具有共享存储/网络,以及如何运行容器的规范.pod的内容始终位于同一位置并共同调度,并在共享上下文中运行.pod模拟特定于应用程序的"逻辑主机" - 它包含一个或多个相对紧密耦合的应用程序容器 - 在预容器世界中,在同一物理或虚拟机上执行意味着在同一逻辑主机上执行.
虽然Kubernetes支持的容器运行时间多于Docker,但Docker是最常见的运行时,它有助于用Docker术语描述pod.
pod的共享上下文是一组Linux命名空间,cgroup,以及可能的隔离方面 - 与隔离Docker容器相同的东西.在pod的上下文中,各个应用程序可能会应用进一步的子隔离. 一些深入潜入Pods
什么是命名空间(用k8s术语)?
命名空间旨在用于多个用户分布在多个团队或项目中的环境中.
命名空间提供名称范围.资源名称在名称空间中必须是唯一的,而不是跨名称空间.
命名空间是一种在多个用户之间划分群集资源的方法.
所以我认为足以说:
是Pod有一个命名空间:
Pod类似于一个命名空间,但在容器级别(它们共享相同的网络上下文,只在一组容器中的卷/存储)
但是名称空间(就K8而言)是一个更大的隔离级别 - 在所有容器(服务,部署,DNS名称,IP,配置映射,机密,角色等)共享的集群级别上.
你也应该看到这个链接
希望这会在这个问题上清除一点迷雾.
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |