проблемы с "альпийским" изображением для моего initContainers - PullRequest
0 голосов
/ 20 ноября 2018

Люди, я пытаюсь создать простой файл / tmp / tarte.test с initContainers.У меня есть ограничение, использующее альпийское изображение для контейнера.Пожалуйста, дайте мне знать, что НЕ в этом простом файле yaml.

apiVersion: v1
kind: Pod
metadata:
  name: initonpod
  namespace: prod
  labels:
    app: myapp
spec:
  containers:
  - name: mycont-nginx
    image: alpine
  initContainers:
    - name: myinit-cont
      image: alpine
      imagePullPolicy: IfNotPresent
      command: 
      - touch
      - "/tmp/tarte.test"
      - sleep 200

описание модуля

Events:
  Type     Reason     Age              From                 Message
  ----     ------     ----             ----                 -------
  Normal   Scheduled  9s               default-scheduler    Successfully assigned prod/initonpod to k8s-node-1
  Normal   Pulled     8s               kubelet, k8s-node-1  Container image "alpine" already present on machine
  Normal   Created    8s               kubelet, k8s-node-1  Created container
  Normal   Started    7s               kubelet, k8s-node-1  Started container
  Normal   Pulling    4s (x2 over 7s)  kubelet, k8s-node-1  pulling image "alpine"
  Normal   Pulled     1s (x2 over 6s)  kubelet, k8s-node-1  Successfully pulled image "alpine"
  Normal   Created    1s (x2 over 5s)  kubelet, k8s-node-1  Created container
  Normal   Started    1s (x2 over 5s)  kubelet, k8s-node-1  Started container
  Warning  BackOff    0s               kubelet, k8s-node-1  Back-off restarting failed container

И если я изменю альпийское изображение для контейнера изображений nginx ... это хорошо работает.

1 Ответ

0 голосов
/ 20 ноября 2018

Back-off restarting failed container из-за спецификации вашего контейнера.

spec:
  containers:
  - name: mycont-nginx
    image: alpine

Этот alpine контейнер не работает вечно. В kubernetes контейнер должен работать вечно. Вот почему вы получаете ошибку. Когда вы используете nginx изображение, оно работает вечно. Чтобы использовать alpine изображение, измените спецификацию, как показано ниже:

apiVersion: v1
kind: Pod
metadata:
  name: busypod
  labels:
    app: busypod
spec:
  containers:
  - name: busybox
    image: alpine
    command:
    - "sh"
    - "-c"
    - >
      while true; do
        sleep 3600;
      done
  initContainers:
  - name: myinit-cont
    image: alpine
    imagePullPolicy: IfNotPresent
    command:
    - touch
    - "/tmp/tarte.test"
    - sleep 200
...