首页 > 解决方案 > 一个 K8s POD 是如何实现的,它的核心实现组件是什么?

问题描述

我已经阅读了很多关于 K8s POD 的信息。大多数答案在本质上是合乎逻辑的。即使在 k8s.io 上,POD 的定义如下:

Pod 是 Kubernetes 的基本构建块,是您创建或部署的 Kubernetes 对象模型中最小和最简单的单元。Pod 代表集群上正在运行的进程。

我想知道一个 K8s POD 和它的核心实现组件是什么关系。

标签: kubernetes

解决方案


回答这个问题的最好方法是查看 K8s 代码库,给出上面的答案: 在此处输入图像描述

这是 K8s 项目当前快照中 Pod*.go 列表的快照。如果您查看container/runtime.go,您将看到以下内容:

在此处输入图像描述

或许更重要的是,runtime.go接口注释: 在此处输入图像描述

因此,很明显,K8s 的运行时依赖于实现运行时接口的底层容器运行时。在运行时运行 Pod: 在此处输入图像描述

因此,问题答案的真相: Q>一个K8s POD是如何实现的,它的核心实现组件是什么? Ans: K8s Pod 是 K8s 运行时接口中的一个结构,它引用一组容器;Pod 依赖的核心实现是 K8s 容器运行时接口,该接口又绑定到容器运行时实现,其中有很多: https ://joejulian.name/post/kubernetes-container-engine-comparison/


推荐阅读