创建和删除广告连播的步骤

时间:2019-05-08 23:54:08

标签: kubernetes kubernetes-pod kubernetes-apiserver

我正在研究kubernetes的主要组成部分。 关于创建(删除)吊舱的概念,我一时陷入困境。在许多图表中,吊舱都是在工作节点内描绘的,因此,我确信它们是直接在工作节点中创建的对象。

深入了解这个概念时,我遇到了一些页面,这些页面将pod视为API服务器中的简单占位符。

在此参考文献link中,可以说在第一点中创建了pod,在第四点中,pod与来自API服务器的节点相关联。
在此参考文献link中,我们说“在API服务器上创建了一个新的Pod对象,但未绑定到任何节点”。
在此参考文献link中,我们说“ Pod具有一个由Kubernetes API生成的占位符的容器”

所有这些使我认为Pod实际上不是在工作程序节点中创建的。 有人可以给我一个解释为我澄清这个想法吗?

2 个答案:

答案 0 :(得分:1)

简单来说,运行pod的过程如下:

  1. 用户发出API请求以在命名空间中创建pod。
  2. API服务器验证请求,以确保用户具有在给定名称空间中创建pod的必要授权,并且该请求符合PodSpec。
  3. 如果请求有效,则API服务器会在其Etcd数据库中创建类型为“ Pod”的API对象。
  4. Kube-scheduler监视Pods,发现有新的Pod对象。然后,它评估Pod的资源,亲缘性规则,nodeSelector,公差等,最后决定应运行Pod的节点。如果由于缺乏资源或其他限制而没有可用的节点-Pod仍处于Pending状态。 Kube调度程序会定期重试“挂起”吊舱的调度决策。
  5. 将Pod调度到节点后,kube-scheduler将作业传递到选定节点上的kubelet。
  6. 然后,Kubelet负责实际启动Pod。

答案 1 :(得分:0)

@Vasily Angapov很好地解释了Pod的创建和调度,但是我认为添加Pod和容器实际上是什么的上下文也很重要-如果您想了解更多有关Pod和容器的信息,可以找到很好的附加信息here

从本质上讲,会创建Pod,然后按计划进行。因此,它们不是在工作节点上创建的,而是在节点上运行的,因此,它们很容易替换且不是持久实体。因此,由于Vasilys答案中提到的原因,每当发生故障导致终止或删除它们时,它们可能会在其他节点上再次启动。

更多信息here