Я создаю простой исполняемый двоичный файл program
, который работает вечно:
// pseudocode
while (true) {
print("Sleeping")
sleep(seconds(1));
}
Затем я делаю эту программу, используя Dockerfile
:
FROM debian:10
ADD program /
ENTRYPOINT ["/program"]
Затем я строю и pu sh docker образ в глобальный репозиторий:
docker build -t docker:5000/program .
docker push docker:5000/program
Затем я создаю deploy.yaml
файл для этой программы, который будет запускаться в модуле kubernetes:
apiVersion: v1
kind: Pod
metadata:
name: program
namespace: my_namespace
spec:
containers:
- name: program
image: docker:5000/program
imagePullPolicy: Always
command: ["echo", "SUCCESS"]
Наконец, я запускаю программу на kubernetes:
kubectl create -f deploy.yaml
Однако, kubectl describe pods -n my_namespace program
сообщает:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 27m default-scheduler Successfully assigned
mariusl/ingress to mma7-standard5-ime
Normal Created 26m (x4 over 27m) kubelet, mma7-standard5-ime Created container
ingress
Normal Started 26m (x4 over 27m) kubelet, mma7-standard5-ime Started container
ingress
Normal Pulling 25m (x5 over 27m) kubelet, mma7-standard5-ime Pulling image
"docker:5000/program"
Normal Pulled 25m (x5 over 27m) kubelet, mma7-standard5-ime Successfully pulled
image "docker:5000/program"
Warning BackOff 2m (x117 over 27m) kubelet, mma7-standard5-ime Back-off restarting
failed container
Что, в моей интерпретации означает, что Программа не запускается и повторно запускается. Почему это может произойти?