我不确定我是否正确理解Kubernetes Init容器。我想做的是在Pod上运行初始化,以便它pip安装一些不在我的应用程序容器映像中的其他库。具体来说,我想安装Azure存储队列,以便可以将其与标准TensorFlow映像一起使用。
我使用命令“ pip install azure-storage-queue”设置了初始化容器,并且运行良好,但是我的应用容器告诉我“没有名为azure的模块”
这不是初始化容器的用法吗?
注意:我意识到我可以创建一个安装了所有先决条件的新映像,但这只是出于开发目的
答案 0 :(得分:3)
这实际上不是init容器的工作原理……init容器是用来初始化 pod 的,并且映像并未与稍后将在该pod上运行的其他容器真正共享。
最好的解决方案是创建一个包含所需Python模块的新容器映像。
一种替代方法是使用命令在您的容器中运行,该命令首先使用pip
安装模块,然后运行需要它们的脚本,这样就可以避免创建新的容器映像。