当前位置: > 财经>正文

Kubernetes(k8s)中文文档 名词解释 Pods 设定信托名词解释是什么意思

2023-08-26 23:51:33 互联网 未知 财经

在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是最小的,管理,创建,计划的最小单元.

 

 

什么是Pod

一个Pod(就像一群鲸鱼,或者一个豌豆夹)相当于一个共享context的配置组,在同一个context下,应用可能还会有独立的cgroup隔离机制,一个Pod是一个容器环境下的“逻辑主机”,它可能包含一个或者多个紧密相连的应用,这些应用可能是在同一个物理主机或虚拟机上。

Pod 的context可以理解成多个linux命名空间的联合

PID 命名空间(同一个Pod中应用可以看到其它进程)网络 命名空间(同一个Pod的中的应用对相同的IP地址和端口有权限)IPC 命名空间(同一个Pod中的应用可以通过VPC或者POSIX进行通信)UTS 命名空间(同一个Pod中的应用共享一个主机名称)

同一个Pod中的应用可以共享磁盘,磁盘是Pod级的,应用可以通过文件系统调用,额外的,一个Pod可能会定义顶级的cgroup隔离,这样的话绑定到任何一个应用(好吧,这句是在没怎么看懂,就是说Pod,应用,隔离)

由于docker的架构,一个Pod是由多个相关的并且共享磁盘的容器组成,Pid的命名空间共享还没有应用到Docker中

和相互独立的容器一样,Pod是一种相对短暂的存在,而不是持久存在的,正如我们在Pod的生命周期中提到的,Pod被安排到结点上,并且保持在这个节点上直到被终止(根据重启的设定)或者被删除,当一个节点死掉之后,上面的所有Pod均会被删除。特殊的Pod永远不会被转移到的其他的节点,作为替代,他们必须被replace.

Pod的发展资源的共享及通信

Pod使Pod内的数据共享及通信变得容易

Pod的中的应用均使用相同的网络命名空间及端口,并且可以通过localhost发现并沟通其他应用,每个Pod都有一个扁平化的网络命名空间下IP地址,它是Pod可以和其他的物理机及其他的容器进行无障碍通信,(The hostname is set to the pod’s Name for the application containers within the pod)主机名被设置为Pod的名称(这个没翻译出来…)

除了定义了在Pod中运行的应用之外,Pod还定义了一系列的共享的磁盘,磁盘让这些数据在容器重启的时候不回丢失并且可以将这些数据在Pod中的应用进行共享

管理

Pod通过提供一个高层次抽象而不是底层的接口简化了应用的部署及管理,Pod 作为最小的部署及管理单位,位置管理,拷贝复制,资源共享,依赖关系都是自动处理的。(fate sharing估计就说什么时候该死了,什么时候该新增一个了…)

Pod的使用

Pod可以作为垂直应用整合的载体,但是它的主要特点是支持同地协作,同地管理程序,例如:

内容管理系统,文件和数据加载,本地缓存等等日志和检查点备份,压缩,循环,快照等等数据交换监控,日志追踪,日志记录和监控适配器,以及事件发布等等代理,网桥,适配器控制,管理,配置,更新

总体来说,独立的Pod不会去加载多个相同的应用实例

考虑过的其他方案

为什么不直接在一个容器上运行所有的应用?

透明,Pod中的容器对基础设施可见使的基础设施可以给容器提供服务,例如线程管理和资源监控,这为用户提供很多便利解耦软件依赖关系,独立的容器可以独立的进行重建和重新发布,Kubernetes 甚至会在将来支持独立容器的实时更新易用,用户不需要运行自己的线程管理器,也不需要关心程序的信号以及异常结束码等高效,因为基础设施承载了

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。