модуль с приложением React сбой со статусом CrashLoopBackOff в kubernetes

#docker #kubernetes #docker-desktop

#докер #kubernetes #docker-рабочий стол

Вопрос:

Я новичок в kubernetes. Я запускаю свой кластер kubernetes внутри моей виртуальной машины Docker Desktop. Ниже приведены версии

Сообщество Docker Desktop: 2.3.0.4 (стабильный)
Движок: 19.03.12
kubernetes: 1.16.5

я создал простое приложение react. ниже приведен файл Docker.

 FROM node:13.12.0-alpine    

WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH


COPY package*.json ./    
RUN npm install  

# add app files
COPY . ./     

# start app
CMD ["npm", "start"]
  

Я создал образ docker и запустил его. он работает нормально. Я добавил изображение в нижеприведенное развертывание.yaml

 apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-deployment
  labels:
    app: test-react-app
  namespace: dev
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test-react-app
  template:
    metadata:
      labels:
        app: test-react-app
    spec:
      containers:
        - name: test-react
          image: myrepo/test-react:v2
          imagePullPolicy: Never
          ports:
            - containerPort: 80


---
kind: Service
apiVersion: v1
metadata:
  name: test-service
  namespace: dev
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
      nodePort: 31000
  selector:
    app: test-react-app
  

Модуль никогда не запускается. Ниже приведены события из описания.

 Type     Reason     Age                  From                     Message
  ----     ------     ----                 ----                     -------
  Normal   Scheduled  <unknown>            default-scheduler        Successfully assigned dev/test-deployment-7766949554-m2fbz to docker-desktop
  Normal   Pulled     8m38s (x5 over 10m)  kubelet, docker-desktop  Container image "myrepo/test-react:v2" already present on machine
  Normal   Created    8m38s (x5 over 10m)  kubelet, docker-desktop  Created container test-react
  Normal   Started    8m38s (x5 over 10m)  kubelet, docker-desktop  Started container test-react
  Warning  BackOff    26s (x44 over 10m)   kubelet, docker-desktop  Back-off restarting failed container
  

Ниже приведены журналы из контейнера. Похоже, что контейнер запущен..

 > react-cart@0.1.0 start /app
> react-scripts start

[34mℹ[39m [90m「wds」[39m: Project is running at http://10.1.0.33/
[34mℹ[39m [90m「wds」[39m: webpack output is served from
[34mℹ[39m [90m「wds」[39m: Content not from webpack is served from /app/public
[34mℹ[39m [90m「wds」[39m: 404s will fallback to /
Starting the development server...
  

Комментарии:

1. Можете ли вы успешно docker run создать изображение за пределами Kubernetes, или оно также немедленно завершается там?

2. я могу запустить docker run, и он работает просто отлично. проблема возникает только тогда, когда я запускаю его в kubernetes

3. можете ли вы выполнить kubectl get pods, чтобы увидеть статус модуля?

Ответ №1:

Это сработало!!!

Я встроил приложение react в рабочее приложение, а затем скопировал файл docker. Я следовал методике, приведенной в этой ссылкеhttps://dev.to/rieckpil/deploy-a-react-application-to-kubernetes-in-5-easy-steps-516j.