我对Kubernetes很陌生,并决定在我目前正在从事的一个小项目中使用它作为POC。
我有一个bash脚本,它是容器化的,它是用一个参数执行的。
Kubernetes库存文件如下所示:
---
apiVersion: v1
kind: Pod
metadata:
name: device-pod
labels:
name: device-pod
spec:
containers:
- image: azurecr.io/device:1.02
name: device-0
args: ["0"]
containers:
- image: azurecr.io/device:1.02
name: device-1
args: ["1"]
containers:
- image: azurecr.io/device:1.02
name: device-2
args: ["2"]
containers:
- image: azurecr.io/device:1.02
name: device-3
args: ["3"]正如您可以从上面的库存文件中看到的,我正在创建一个名为“设备-荚”的容器,它应该以设备-n(其中n是0..4)来托管和运行4个容器。
我部署了吊舱,它工作得很好,但问题是,在部署之后,我只看到容器“Dev-3”在运行,似乎找不到任何其他运行的容器。我原以为会有4个集装箱在吊舱内运行。
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
18m 18m 1 default-scheduler Normal Scheduled Successfully assigned device-pod to k8s-agent-abe168bc-3
18m 18m 1 kubelet, k8s-agent-abe168bc-3 spec.containers{device-3} Normal Created Created container with id 770ce7568a7dfe73bacdcd5232e8961fd3098486c82cce56465c04c1c4434659
18m 18m 1 kubelet, k8s-agent-abe168bc-3 spec.containers{device-3} Normal Started Started container with id 770ce7568a7dfe73bacdcd5232e8961fd3098486c82cce56465c04c1c4434659
13m 13m 1 kubelet, k8s-agent-abe168bc-3 spec.containers{device-3} Normal Started Started container with id 17c1ae7caa8f017a0ca81925962ecf229ff42a498af7de0dfe93a11fdaa9f43e
13m 13m 1 kubelet, k8s-agent-abe168bc-3 spec.containers{device-3} Normal Created Created container with id 17c1ae7caa8f017a0ca81925962ecf229ff42a498af7de0dfe93a11fdaa9f43e
9m 9m 1 kubelet, k8s-agent-abe168bc-3 Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "device-3" with CrashLoopBackOff: "Back-off 10s restarting failed container=device-3 pod=device-pod_default(922476fb-a4fb-11e7-8ca8-000d3a25fb55)"
9m 9m 1 kubelet, k8s-agent-abe168bc-3 spec.containers{device-3} Normal Created Created container with id 5f4db92d4318537eb541dbf11b5b4e4cb7eaa93fcc26061c2e7b970505f27d5e
9m 9m 1 kubelet, k8s-agent-abe168bc-3 spec.containers{device-3} Normal Started Started container with id 5f4db92d4318537eb541dbf11b5b4e4cb7eaa93fcc26061c2e7b970505f27d5e我似乎看不到容器的任何事件:设备-0、设备-1和设备-2。
我在这里做错什么了?任何想法都将不胜感激。
发布于 2017-09-29 10:20:33
这个问题可能是因为在您的规范中定义了“容器”,而不是有一个带有多个容器声明的“容器”规范。实际上,它是一个数组/列表,如下所示:
---
apiVersion: v1
kind: Pod
metadata:
name: device-pod
labels:
name: device-pod
spec:
containers:
- image: azurecr.io/device:1.02
name: device-0
args: ["0"]
- image: azurecr.io/device:1.02
name: device-1
args: ["1"]
- image: azurecr.io/device:1.02
name: device-2
args: ["2"]
- image: azurecr.io/device:1.02
name: device-3
args: ["3"]对您正在经历的行为的一个可能的解释可能是对所有“容器”声明的顺序解析和执行,而此时应该只有一个在运行。因此,您有多个容器因为序列而启动/运行/终止,但只有最后一个(最后一个声明)仍在运行。
https://stackoverflow.com/questions/46486645
复制相似问题