基本上,正如我所学到的(仍在学习中),Kubernetes和人们说通过创建对象类型Pod,具有核心应用程序代码的主容器应该首先出现在yaml文件中。我不明白为什么?
PS:确定我阅读了Pod Priority,但对我来说仍然不清楚
答案 0 :(得分:1)
由您决定如何配置pods定义配置文件,以及首先放置哪个容器,因为在执行顺序上首先定义哪个容器并不重要。
如果您想先在另一个容器上运行,只需使用初始化容器。 Pod中可以有多个运行应用程序的容器,但也可以有一个或多个init容器,这些容器在启动应用程序容器之前就已运行。 初始化容器具有与应用程序容器分离的图像,它们在启动相关代码方面具有一些优势。 初始化容器与常规容器完全一样,除了:
您可以为定义优先级的Pod定义优先级,但是它与Pod安排的时间(不执行)相关。 在Kubernetes 1.9和更高版本中,启用Pod优先级后,调度程序将按优先级对未决Pod进行排序,并将未决Pod放在调度队列中其他优先级较低的未决Pod之前。结果,如果满足较高优先级的Pod的调度要求,则可以比具有较低优先级的Pod更快地进行调度。如果无法调度此类Pod,则调度程序将继续尝试尝试调度其他优先级较低的Pod。