Kubernetes 部署、Pod 和容器概念

Kubernetes Deployments, Pod and Container concepts

我最近开始熟悉Kubernetes,但是虽然我确实了解了概念,但我有一些问题我无法通过Kubernete Concept and Documentation 清楚地回答,还有一些我想确认的理解。

感谢您的意见。

你的问题实际上对于 Whosebug 来说太宽泛了,但我会在这个问题结束之前快速回答。

也许当您查看 API 文档时它会变得更清楚。您可以这样阅读:

A Deployment 描述了所包含对象所需行为的规范。 这是在类型为 DeploymentSpec.

spec 字段中完成的

A DeploymentSpec 通过 PodTemplateSpec[= 定义了相关 Pods 与 template 的外观41=]

PodTemplateSpec then holds the PodSpec for all the require parameters and that defines how containers within this Pod should look like through a Container定义。

这不是一个有力的单行陈述,但可能更容易看出事物之间的关系。

与 Pod 或 Container 的大小合适和太大的标准有关。这是非常有意见的,弄清楚这一点的最好方法是通读关于 Microservices.

大小的意见

最后一点 - Kubernetes 能够监控和管理容器,但 "user" 无法调度单个容器。它们必须嵌入到 Pod 定义中。您当然可以访问每个容器的容器状态和详细信息(例如通过 kubeget logs <pod> -c <container> (details) or through the metrics API.

我希望这能有所帮助,不会增加混乱。

Pod 是 Kubernetes 提供的抽象,它对应于一组共享命名空间子集的容器,最重要的是网络命名空间。例如,这些容器中的应用程序 运行ning 可以像同一虚拟机中的应用程序交互一样进行交互,除了它们不共享相同的文件系统层次结构这一事实。

工作负载以 pods 的形式 运行,但 POD 是较低级别的抽象。工作负载通常根据 Kubernetes Deployments/Jobs/CronJobs/Daemonsets 等来安排,这些又会创建 Pods.