首页 文章

Kubernetes Deployments,Pod和Container概念

提问于
浏览
1

我最近开始熟悉Kubernetes,但是当我得到这个概念时,我有一些问题,我无法通过Kubernete的ConceptDocumentation清楚地回答,以及我希望确认的一些理解 .

  • Deployment是一个部署在Pod内的一个或多个容器映像(Docker ..etc)的组,并通过Kubernetes部署控制器监视和创建,更新或删除此类部署 .

  • Pod是一个包含一个或多个容器的组,是来自同一部署的那些容器,还是来自多个部署?

  • “一个pod模型包含一个或多个相对紧密耦合的应用程序容器” . 何时在同一个pod中部署容器,而不是单独的pod,是否有明确的标准?

  • "Pods are the smallest deployable units of computing that can be created and managed in Kubernetes" - Pods, Kuberenets Documentation . 这是否意味着Kubernetes API无法监控和管理容器(至少直接)?

感谢您的意见 .

1 回答

  • 2

    你的问题实际上对于StackOverflow而言过于宽泛,但我会在关闭之前快速回答 .

    当您查看API文档时,可能会更清楚 . 您可以这样读:

    Deployment描述了所包含对象的期望行为的规范 . 这是在 spec 字段中完成的,该字段的类型为DeploymentSpec .

    DeploymentSpec定义了 template 通过PodTemplateSpec的相关Pod的外观

    然后PodTemplateSpec为所有require参数保存PodSpec,并定义此Pod中的容器应如何通过Container定义 .

    这不是一个有力的在线声明,但也许可以更容易地看到事物彼此之间的关系 .

    与's a good size and what'对于Pod或Container而言太大的标准相关 . 这是非常意见,最好的解决方法是阅读关于Microservices大小的意见 .

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

    我希望这有点帮助,不会增加混乱 .

相关问题