在初始化某些容器后运行bash脚本

时间:2019-09-06 10:51:17

标签: bash kubernetes

我计划在一些容器可以发出一些REST请求之后运行 .sh 脚本。

创建了一个作业来等待这些初始容器,并在 .yaml 中填充initContainers标签。

首先,我想使用Linux发行版作为基本映像来创建一个容器。然后,似乎不太正确。

那不是浪费资源吗?在这种情况下,最佳做法是什么?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用任何类型的图像作为基本图像。您正在消耗(而不是浪费)的唯一资源是磁盘空间。

Kubernetes将提取映像,这将消耗节点上的磁盘空间。初始化容器完成工作后,它将停止运行,不再使用任何RAM或CPU,它们是云或裸机上真正宝贵的资源。

如果您担心图像的大小,也可以尝试使用与用户容器(主容器)相同的图像,但从中使用不同的命令。

这将使节点仅加载图像,而不会占用脚本中的额外空间。

另一种选择是使用像alpine这样的很小的发行版。

如果您可以用go编写初始化例程,则还可以将go二进制文件用作图像,像描述为here一样。