k8s中pod存在的意义

概念介绍

  • k8s:Kubernetes 一个容器编排工具(以pod为单位进行编排)
  • 容器 :进程级别的虚拟化技术,常和虚拟机进行对比,它的容器更加轻量。虚拟机是硬件级别的隔离,拥有自己独立的内核和操作系统;而容器采用cgroup限制资源,namespace限制网络环境等,和本机共享内核等资源。
  • pod:k8s中创建和管理的最小计算单位,由一组紧密关联的容器组成,这些容器共享存储、网络、一级怎么样运行这些容器的声明。它是k8s中最重要的核心概念之一。

pod为什么存在?

Q:为什么k8s不直接使用容器作为最小计算单位,而是给出一个新的pod的概念?

A:原因在于容器的设计本身更适合一个容器内只运行一个进程。pod可以更好的适应当前的生产环境。

Dockerfile创建镜像时,通过ENTRYPOINT命令指定启动容器时运行的第一个进程,这个进程的pid是1

  1. 容器中孤儿进程的管理需要自行实现。
    在正常的操作系统中,pid为1的进程是init进程,是所有进程的父进程,它的其中一个使命是负责收养孤儿进程,但在容器中,除非我们自己去实现管理孤儿进程的逻辑,否则将无法处理。
  2. 除pid为1 的进程外,额外进程的健康状态需自行管理。

Q:一个pod中运行多个服务可不可以?
A:从实现上来说是可以的,但是并不推荐这样。一个pod尽量由一组紧密关联的容器组成,例如该服务进程需要一些额外的agent进程支持等。
在这里插入图片描述

结语

如果真的需要在一个容器中运行多个进程,会增加很多程序员的额外负担,pod作为一种更加高级的结构将容器绑定在一起,并且将他们作为一个单元进行管理。
但这并不意味着所有的pod都由多个容器组成,一个pod中一个容器的情况也是非常常见的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值