【问题标题】:k8s:Two images but single container [duplicate]k8s:两个图像但单个容器[重复]
【发布时间】:2021-04-16 08:39:50
【问题描述】:

以下是在线测试中出现的问题的确切字词。

创建一个在名为“bla-bla”的 pod 中运行的单个容器应用程序 下面列出的四张图片中的任意三张。图片:nginx + redis + 内存缓存。

我不确定这是文字游戏还是拼写错误,但我想知道是否有任何语法可以在单个容器中启动多个图像?我知道这可以通过在一个 pod 中包含多个容器来完成,但根据问题中的措辞,我认为这不是他们所期望的。我在 Kubernetes 官方论坛上看到了同样的问题,但那里也没有答案。因此将其发布在此处,以便覆盖更广泛的受众。

论坛问题: https://discuss.kubernetes.io/t/can-we-have-a-single-container-with-multiple-image-like-nginx-redis-alpine/12017

【问题讨论】:

  • 不,每个容器只有一个图像。
  • 您不得分享考试中的问题。所以我正在编辑问题。

标签: kubernetes containers kubernetes-pod


【解决方案1】:

我看不出这个问题有什么问题。它要求创建一个“在 pod 中运行的容器应用程序”,而不是一个“单个容器”

因此,具有多个容器的单个 pod 就是答案。这是example

apiVersion: v1
kind: Pod
metadata:
  name: two-containers
spec:

  restartPolicy: Never

  volumes:
  - name: shared-data
    emptyDir: {}

  containers:

  - name: nginx-container
    image: nginx
    volumeMounts:
    - name: shared-data
      mountPath: /usr/share/nginx/html

  - name: debian-container
    image: debian
    volumeMounts:
    - name: shared-data
      mountPath: /pod-data
    command: ["/bin/sh"]
    args: ["-c", "echo Hello from the debian container > /pod-data/index.html"]

【讨论】:

  • 所以我猜他们试图在这里与文字游戏混淆对吧?
  • @vishal 我猜他们在“创建一个单一的容器应用程序..”之后错过了一个逗号
  • @vishal,我认为他们不是有意让你感到困惑,但我知道这会让人感到困惑。
【解决方案2】:

如果您正在寻找像“kubectl run bla-bla --image xyz”这样的单个命令,我认为没有。

imo 最简单的方法就是这样做。

  1. kubectl run bla-blah --image nginx --dry-run=client -o yaml > multi-container-pod.yaml。
  2. 编辑 yaml 并运行 kubectl apply -f

【讨论】:

  • 这个也将每个容器只有一个图像。但根据问题,它们是指单个容器中的多个图像。至少这是我所理解的。所以你也支持不可能吗?
  • 对不起,我误读了这个问题。但是,是的,我完全同意。我现在可能有点困惑,但我不知道如何运行具有多个图像的单个容器。完全一样。在任何容器引擎中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-17
  • 2021-05-03
  • 1970-01-01
相关资源
最近更新 更多