Развертывание в kubernetes показывает Отказ от перезапуска неудачного контейнера при использовании образа докера, созданного для обучения изображений для обнаружения объектов - PullRequest
0 голосов
/ 06 июня 2019

У меня есть изображение докера, которое было создано для обучения изображений для обнаружения объектов.

Вот докер-файл для моего изображения.

FROM python:3

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

COPY /src/ /Training

WORKDIR /Training 

CMD ["/bin/bash"]

Для создания этого контейнера я использовал

sudo docker image build -t training .

Контейнер с этим изображением работает нормально, и я могу тренироваться на своем компьютере.

Я отправил это изображение в свой частный репозиторий докеров-концентраторов, используя

docker tag training abhishekkaranath/training:training


docker push abhishekkaranath/training:training

тренировочный образ в моем личном хранилище докеров-концентраторов

Я создал секрет для своего файла развертывания, используя

kubectl create secret docker-registry hubsecret --docker-server=https://index.docker.io/v1/ --docker-username=my_username --docker-password=my_docker_hub_password --docker-email=my_email

Ниже приведен мой файл deploy.yaml

apiVersion: v1
kind: Pod
metadata:
  name: podtest
spec:
  containers:
  - name: podtest
    image: abhishekkaranath/training:training
  imagePullSecrets:
  - name: hubsecret

Я создал этот модуль из моего терминала, используя

kubectl create -f deployment.yaml

Это дало результат:

pod/podtest created

При проверке панели мониторинга minikube я получаю сообщение об ошибке «Откат, перезапуск, сбой контейнера».

Отменить перезапуск неудачного контейнера

Я пытался вытянуть привет-образы мира из моего личного хранилища док-хабов в kubernetes, который работает нормально, и модули запущены и работают. Таким образом, это означает, что нет проблем с извлечением изображений из частного хранилища док-серверов.

Журналы и описание ошибок:

kubectl get pods

NAME      READY   STATUS             RESTARTS   AGE
podtest   0/1     CrashLoopBackOff   8          20m
kubectl get nodes

NAME       STATUS   ROLES    AGE   VERSION
minikube   Ready    master   11d   v1.14.2
kubectl describe pods podtest

Name:               podtest
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               minikube/10.0.2.15
Start Time:         Thu, 06 Jun 2019 18:33:02 +0400
Labels:             <none>
Annotations:        <none>
Status:             Running
IP:                 172.17.0.9
Containers:
  podtest:
    Container ID:   docker://14b9fcc51c8b4a594e0b38580444e2fedd61a636f4e57374d788c9ba5bf9fbcf
    Image:          abhishekkaranath/training:training
    Image ID:       docker-pullable://abhishekkaranath/training@sha256:619468dd0b74b30babfd7c0702c21ea71e9fb70ba3971ec26e8279fdbd071ec7
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Thu, 06 Jun 2019 18:54:19 +0400
      Finished:     Thu, 06 Jun 2019 18:54:19 +0400
    Ready:          False
    Restart Count:  9
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-lb9js (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  default-token-lb9js:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-lb9js
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                   From               Message
  ----     ------     ----                  ----               -------
  Normal   Scheduled  25m                   default-scheduler  Successfully assigned default/podtest to minikube
  Normal   Pulled     23m (x5 over 25m)     kubelet, minikube  Container image "abhishekkaranath/training:training" already present on machine
  Normal   Created    23m (x5 over 25m)     kubelet, minikube  Created container podtest
  Normal   Started    23m (x5 over 25m)     kubelet, minikube  Started container podtest
  Warning  BackOff    4m51s (x94 over 24m)  kubelet, minikube  Back-off restarting failed container

kubectl --v=8 logs podtest

I0606 19:03:24.821394    3978 loader.go:359] Config loaded from file /home/abhishekkaranath/.kube/config
I0606 19:03:24.826732    3978 round_trippers.go:416] GET https://192.168.99.100:8443/api/v1/namespaces/default/pods/podtest
I0606 19:03:24.826748    3978 round_trippers.go:423] Request Headers:
I0606 19:03:24.826757    3978 round_trippers.go:426]     Accept: application/json, */*
I0606 19:03:24.826764    3978 round_trippers.go:426]     User-Agent: kubectl/v1.14.1 (linux/amd64) kubernetes/b739410
I0606 19:03:24.835800    3978 round_trippers.go:441] Response Status: 200 OK in 9 milliseconds
I0606 19:03:24.835818    3978 round_trippers.go:444] Response Headers:
I0606 19:03:24.835827    3978 round_trippers.go:447]     Content-Length: 2693
I0606 19:03:24.835834    3978 round_trippers.go:447]     Date: Thu, 06 Jun 2019 15:03:24 GMT
I0606 19:03:24.835840    3978 round_trippers.go:447]     Content-Type: application/json
I0606 19:03:24.835870    3978 request.go:942] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"podtest","namespace":"default","selfLink":"/api/v1/namespaces/default/pods/podtest","uid":"fd87b14c-8867-11e9-a507-0800276a11ac","resourceVersion":"415630","creationTimestamp":"2019-06-06T14:33:02Z"},"spec":{"volumes":[{"name":"default-token-lb9js","secret":{"secretName":"default-token-lb9js","defaultMode":420}}],"containers":[{"name":"podtest","image":"abhishekkaranath/training:training","resources":{},"volumeMounts":[{"name":"default-token-lb9js","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","serviceAccountName":"default","serviceAccount":"default","nodeName":"minikube","securityContext":{},"imagePullSecrets":[{"name":"hubsecret"}],"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","oper [truncated 1669 chars]
I0606 19:03:24.840211    3978 round_trippers.go:416] GET https://192.168.99.100:8443/api/v1/namespaces/default/pods/podtest/log
I0606 19:03:24.840227    3978 round_trippers.go:423] Request Headers:
I0606 19:03:24.840235    3978 round_trippers.go:426]     Accept: application/json, */*
I0606 19:03:24.840241    3978 round_trippers.go:426]     User-Agent: kubectl/v1.14.1 (linux/amd64) kubernetes/b739410
I0606 19:03:24.843633    3978 round_trippers.go:441] Response Status: 200 OK in 3 milliseconds
I0606 19:03:24.843657    3978 round_trippers.go:444] Response Headers:
I0606 19:03:24.843666    3978 round_trippers.go:447]     Date: Thu, 06 Jun 2019 15:03:24 GMT
I0606 19:03:24.843673    3978 round_trippers.go:447]     Content-Type: text/plain

kubectl get events

LAST SEEN   TYPE      REASON      OBJECT            MESSAGE
37m         Warning   BackOff     pod/dhubservice   Back-off restarting failed container
31m         Normal    Scheduled   pod/podtest       Successfully assigned default/podtest to minikube
29m         Normal    Pulled      pod/podtest       Container image "abhishekkaranath/training:training" already present on machine
29m         Normal    Created     pod/podtest       Created container podtest
29m         Normal    Started     pod/podtest       Started container podtest
69s         Warning   BackOff     pod/podtest       Back-off restarting failed container
docker pull abhishekkaranath/training:training

training: Pulling from abhishekkaranath/training
Digest: sha256:619468dd0b74b30babfd7c0702c21ea71e9fb70ba3971ec26e8279fdbd071ec7
Status: Image is up to date for abhishekkaranath/training:training

1 Ответ

0 голосов
/ 06 июня 2019

Просмотр:

Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 


    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Thu, 06 Jun 2019 18:54:19 +0400
      Finished:     Thu, 06 Jun 2019 18:54:19 +0400
    Ready:          False
    Restart Count:  9

Ваш модуль был запланирован, контейнер был создан и завершил свою работу. Согласно документации Pod Lifecycle .

...