是否可以在清单文件中为kubernetes指定docker映像的tar文件?

时间:2020-10-02 09:20:38

标签: kubernetes

是否有一种方法可以在Kubernetes的部署清单文件中指定Docker映像的tar文件?节点可以访问将包含tar文件的已安装网络驱动器。有一篇文章在每个节点上由docker加载了映像,但是我想知道是否有一种方法可以仅指定tar文件并让Kubernetes进行加载和运行。

-编辑-
更确切地说,假设我在每个节点上都有一个已安装的网络驱动器,是否有一种方法是仅使用清单文件来指示kubernetes直接从tar文件加载该映像,而不必将其放入docker注册表中。

2 个答案:

答案 0 :(得分:0)

您提供的有关环境及其外观的信息非常有限。

我想到两件事。

  1. 使用initContainer通过wget或类似工具下载此文件。

初始化容器与常规容器完全一样,除了:

  • 初始化容器总是可以运行完成。
  • 每个初始化容器必须在下一个启动之前成功完成。

这样,您可以确定在启动应用程序之前,将下载tar文件。可以找到示例here

  1. 使用Mount Volume

在您的deploymentstatefulsetpod(不确定您使用的是什么)中,您可以Mount Volume进入广告连播。之后,您将可以在pod内指定音量的路径。请记住,您必须使用正确的access modes

要运行.tar文件,您可以使用一些this documentation中的bash命令。

答案 1 :(得分:0)

通常,不能,Kubernetes只能从注册表而不是从网络驱动器访问容器映像,请参见documentation

但是,您可以在群集中拥有一个私有注册表(请参见docs)。您还可以在节点上本地放置图像(预拉图像),并通过将imagePullPolicy设置为Never(请参见docs)来让Kubernetes从那里访问它们。

相关问题