CrashLoopBackOff - откат перезапуска сбой контейнера - PullRequest
0 голосов
/ 05 февраля 2020

Я разместил свое изображение в GCR. Я хочу создать кластер Kubernetes в моей локальной системе (ma c).

Шаги, за которыми я следовал:

  1. Создать изображениеPullSecretKey
  2. Создать шаблон c ключ для связи с GCP. (kubectl создать секретный универсальный c ключ gcp --from-file = key. json)
  3. У меня есть файл deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sv-premier
spec:
  selector:
    matchLabels:
      app: sv-premier
  template:
    metadata:
      labels:
        app: sv-premier
    spec:
      volumes:
      - name: google-cloud-key
        secret:
          secretName: gcp-key
      containers:
      - name: sv-premier
        image: gcr.io/proto/premiercore1:latest
        imagePullPolicy: Always
        command: ["echo", "Done deploying sv-premier"]
        volumeMounts:
        - name: google-cloud-key
          mountPath: /var/secrets/google
        env:
        - name: GOOGLE_APPLICATION_CREDENTIALS
          value: /var/secrets/google/key.json
        ports:
        - containerPort: 8080
      imagePullSecrets:
      - name: imagepullsecretkey

Когда я выполняю команду - kubectl apply -f deploy.yaml, я получаю CrashLoopBackOff Ошибка

Журналы для -

kubectl описывают pods podname

==============================

Имя: sv-premier-6b77ddd747-cvdr5

Пространство имен: по умолчанию

Приоритет: 0

Узел: docker -desktop / 192.168.65.3

Время запуска: вторник, 04 февраля 2020 г. 14: 18:47 + 0530

Метки: app = sv-premier

pod-template-hash = 6b77ddd747

Аннотации:

Статус: запущен

IP: 10.1.0.43

IP-адреса:

Контролируется: ReplicaSet / sv-premier-6b77ddd747

Контейнеры:

sv-premierleague :

Container ID:  docker://141126d732409427fe39b405865f88856ac4e1d8586112797fc5bf4fdfbe317c

Image:         gcr.io/proto/premiercore1:latest

Image ID:      docker-pullable://gcr.io/proto/premiercore1@sha256:b3800ccca3f30725d5c9235dd349548f0fcfe309f51883d8af16397aef2c3953

Port:          8080/TCP

Host Port:     0/TCP

Command:

  echo

  Done deploying sv-premier

State:          Waiting

  Reason:       CrashLoopBackOff

Last State:     Terminated

  Reason:       Completed

  Exit Code:    0

  Started:      Tue, 04 Feb 2020 15:00:51 +0530

  Finished:     Tue, 04 Feb 2020 15:00:51 +0530

Ready:          False

Restart Count:  13

Environment:

  GOOGLE_APPLICATION_CREDENTIALS:  /var/secrets/google/key.json

Mounts:

  /var/run/secrets/kubernetes.io/serviceaccount from default-token-s4jgd (ro)

  /var/secrets/google from google-cloud-key (rw)

Условия:

Тип Состояние

Инициализированный True

Ready False

ContainersR eady False

PodScheduled True

тома:

ключ google-cloud:

Type:        Secret (a volume populated by a Secret)

SecretName:  gcp-key

Optional:    false

default-token-s4jgd:

Type:        Secret (a volume populated by a Secret)

SecretName:  default-token-s4jgd

Optional:    false

Класс QoS: BestEffort

Селекторы узлов:

Допуски: node.kubernetes.io/not-ready:NoExecute for 300s

             node.kubernetes.io/unreachable:NoExecute for 300s

События:

Тип Причина Возраст От
Сообщение

---- ------ ---- ----

Обычный Запланированный 46-метровый планировщик по умолчанию
Успешно назначено по умолчанию / sv-premier-6b77ddd747-cvdr5 для docker -desktop

Нормально вытянутый 45м (x4 на 46м) кубеле, docker -desktop Успешно извлеченное изображение "gcr.io/proto / premiercore1: последняя версия "

Normal Создано 45 м (x4 более 46 м) kubelet, docker -desktop Создан контейнер sv-premier

Normal Started 45 м (x4 более 46 м) kubelet, docker -desktop Запущенный контейнер sv-premier

Обычное вытягивание 45 м (x5 на 46 м) кубеле, docker -desktop Вытягивание изображения "gcr.io/proto/premiercore1:latest"

Предупреждение BackOff 92s (x207 более 46 м) kubelet, docker -desktop Откат перезапуска не удался, контейнер

============================

И вывод для -

kodectl logs podname -> Done Развертывание sv-premier

Я запутался, почему мой контейнер выход. Не удается запустить.

Пожалуйста, помогите, пожалуйста.

1 Ответ

2 голосов
/ 05 февраля 2020

Обновите ваш deploy.yaml с примером долго выполняющейся задачи.

command: ["/bin/sh"]
args: ["-c", "while true; do echo Done Deploying sv-premier; sleep 3600;done"]

Это переведет ваш контейнер в спящий режим после развертывания и каждый час будет регистрировать сообщение.

Подробнее о жизненном цикле pod состояниях контейнера здесь

...