【问题标题】:Kubernetes Init Containers pip installKubernetes 初始化容器 pip install
【发布时间】:2018-08-21 06:21:14
【问题描述】:

我不确定我是否正确理解了 Kubernetes Init 容器。我想要做的是在 pod 上运行初始化,以便它 pip 安装一些不在我的应用程序容器映像中的附加库。具体来说,我想安装 Azure 存储队列,以便可以将其与标准 TensorFlow 映像一起使用。

我使用命令“pip install azure-storage-queue”设置了我的初始化容器,并且运行良好,但是我的应用容器告诉我“没有名为 azure 的模块”

这不是初始化容器的使用方式吗?

注意:我意识到我可以创建一个安装了所有先决条件的新映像,但这仅用于开发目的

【问题讨论】:

  • Init 容器可以执行此操作,但您需要将卷 pip install 挂载到已挂载的卷上,然后将卷再次挂载到您的主应用容器中。然而,它不是 init 容器的正确用例。

标签: docker kubernetes


【解决方案1】:

init 容器实际上并不是这样工作的...... Init 容器旨在初始化 pod,并且该映像并未真正与稍后将在该 pod 上运行的其他容器共享。

最好的解决方案是创建一个包含您需要的 Python 模块的新容器映像。

另一种方法是使用命令在容器中运行,首先使用 pip 安装模块,然后运行需要它们的脚本,这样可以避免创建新的容器映像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2017-07-14
    • 2019-10-20
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    相关资源
    最近更新 更多