Kubernetes 部署、Pod 和容器概念
Kubernetes Deployments, Pod and Container concepts
我最近开始熟悉Kubernetes,但是虽然我确实了解了概念,但我有一些问题我无法通过Kubernete Concept and Documentation 清楚地回答,还有一些我想确认的理解。
A Deployment is a group of one or more container images (Docker ..etc) that is deployed within a Pod,并通过 Kubernetes 部署控制器监视和创建、更新或删除此类部署。
一个Pod是一组一个或多个容器,这些容器是来自同一个部署,还是来自多个部署?
"A pod models contains one or more application containers which are relatively tightly coupled"。是否有关于何时在同一个 pod 中部署容器而不是单独部署容器的明确标准 pods?
"Pods are the smallest deployable units of computing that can be created and managed in Kubernetes" - Pods, Kuberenets Documentation。这是否意味着 Kubernetes API 无法监控和管理容器(至少不能直接)?
感谢您的意见。
你的问题实际上对于 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.
我最近开始熟悉Kubernetes,但是虽然我确实了解了概念,但我有一些问题我无法通过Kubernete Concept and Documentation 清楚地回答,还有一些我想确认的理解。
A Deployment is a group of one or more container images (Docker ..etc) that is deployed within a Pod,并通过 Kubernetes 部署控制器监视和创建、更新或删除此类部署。
一个Pod是一组一个或多个容器,这些容器是来自同一个部署,还是来自多个部署?
"A pod models contains one or more application containers which are relatively tightly coupled"。是否有关于何时在同一个 pod 中部署容器而不是单独部署容器的明确标准 pods?
"Pods are the smallest deployable units of computing that can be created and managed in Kubernetes" - Pods, Kuberenets Documentation。这是否意味着 Kubernetes API 无法监控和管理容器(至少不能直接)?
感谢您的意见。
你的问题实际上对于 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.