k8s:Two 个图像,但单个容器
k8s:Two images but single container
以下是在线测试中出现的问题的确切词句。
Create an single container app running in a pod named "bla-bla" with
any 3 of the four images listed below. Images: nginx + redis+
memcached.
我不确定这是文字游戏还是打字错误,但我想知道是否有任何语法可以在单个容器中启动多个图像?我知道这可以通过在单个 pod 中放置多个容器来完成,但根据问题中的措辞,我认为这不是他们所期望的。我在 Kubernetes 官方论坛上看到了同样的问题,但也没有答案。因此将它张贴在这里,以便它可以覆盖更广泛的受众。
如果您正在寻找像“kubectl 运行 bla-bla --image xyz”这样的单个命令,我认为没有。
我认为最简单的方法就是做类似的事情。
- kubectl 运行 bla-blah --image nginx --dry-运行=client -o yaml > multi-container-pod.yaml.
- 编辑 yaml 和 运行 kubectl apply -f
我看不出这个问题有什么问题。它要求在 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"]
以下是在线测试中出现的问题的确切词句。
Create an single container app running in a pod named "bla-bla" with any 3 of the four images listed below. Images: nginx + redis+ memcached.
我不确定这是文字游戏还是打字错误,但我想知道是否有任何语法可以在单个容器中启动多个图像?我知道这可以通过在单个 pod 中放置多个容器来完成,但根据问题中的措辞,我认为这不是他们所期望的。我在 Kubernetes 官方论坛上看到了同样的问题,但也没有答案。因此将它张贴在这里,以便它可以覆盖更广泛的受众。
如果您正在寻找像“kubectl 运行 bla-bla --image xyz”这样的单个命令,我认为没有。
我认为最简单的方法就是做类似的事情。
- kubectl 运行 bla-blah --image nginx --dry-运行=client -o yaml > multi-container-pod.yaml.
- 编辑 yaml 和 运行 kubectl apply -f
我看不出这个问题有什么问题。它要求在 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"]