为什么 K8s 不直接调度 Container ?

Pod是K8s的最小调度单元,它允许多个紧密关联的容器共享资源和网络空间,简化了管理和通信。容器通过共享Volume进行数据交互,例如Container-A获取外部资源后存储在Volume,Container-B则能直接访问这些资源来响应请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

k8s-cert


首先,Pod 是 K8s 调度的最小单元,为什么是 Pod 而不是容器作为最小调度单元呢?其实是为了解决容器的可管理性资源共享问题。

1、可管理性

前面有提到,一个 Pod 可包含一个或多个容器,Pod 中的容器会被作为最小调度单元被 Master 调度到 K8s 集群中的 Node 节点上运行。既然一个 Pod 可包含多个容器,那对于那些联系紧密的容器就更易于管理,因为我们可以将这些联系紧密的容器封装到一个 Pod 单元中,然后 K8s 就可以进行统一调度了。

2、容器通信及资源共享

Pod 中的所有容器共享同一资源(同一个网络 namespace),即相同的 IP:Port 空间,它们可直接以 localhost 的方式通信。当 K8s 挂载 Volume 到 Pod 时,实际就是将 Volume 挂载到 Pod 中的每个容器上(因为它们资源共享),如下图所示:

K8s Pod

整体流程:

  • Pod 中包含两个容器,分别是 Container-AContainer-B
  • Container-A 定期从外部 Resources 获取资源,然后将资源存放在共享 Volume 中;
  • Container-B 从共享 Volume 中读取资源,并响应 Request 的请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值