Я создал свой Docker образ для своего ReactJS приложения. Я запускаю образ локально и проверил его, который отлично работает.
Я использую Google Cloud Build, который автоматически помещает мое изображение контейнера в репозиторий gcr.io.
Затем я пытаюсь создать развертывание из своего образа контейнера, который находится в gcr.io
Но развертывание не завершается успешно. Это дает мне
ошибок Pod: CrashLoopBackOff
Нет минимальной доступности
Вот мое Docker изображение.
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . ./
EXPOSE 3000
CMD [ "npm", "start" ]
Когда я смотрю журналы pod -> контейнера, я вижу, что мое приложение перезагружается без какого-либо журнала ошибок.
I 2020-04-27T15:07:57.505370601Z > react-scripts start
I 2020-04-27T15:07:57.505375001Z
I 2020-04-27T15:07:59.392880949Z [34mℹ[39m [90m「wds」[39m: Project is running at http://10.48.0.14/
I 2020-04-27T15:07:59.393329591Z [34mℹ[39m [90m「wds」[39m: webpack output is served from
I 2020-04-27T15:07:59.393494921Z [34mℹ[39m [90m「wds」[39m: Content not from webpack is served from /usr/src/app/public
I 2020-04-27T15:07:59.393641770Z [34mℹ[39m [90m「wds」[39m: 404s will fallback to /
I 2020-04-27T15:07:59.393881277Z Starting the development server...
Я подозреваю, что происходит, kubernetes не достаточно подождать и попытаться перезапустить приложение.
Я не использую deploy.yaml, а просто использую консоль GCP. В моем приложении ReactJS нет конечной точки работоспособности.
Это вывод для kubectl describe pod ...
Name: helloworld-gke-7fd977fd94-kvrcj
Namespace: default
Priority: 0
Node: gke-helloworld-gke-default-pool-a23be758-g8q7/10.182.0.2
Start Time: Mon, 27 Apr 2020 17:15:18 +0200
Labels: app=hello
pod-template-hash=7fd977fd94
Annotations: kubernetes.io/limit-ranger: LimitRanger plugin set: cpu request for container hello-app
Status: Running
IP: 10.48.0.15
IPs: <none>
Controlled By: ReplicaSet/helloworld-gke-7fd977fd94
Containers:
hello-app:
Container ID: docker://389151ed609fce63a033105e04fed5e0fa493f4cd304c2c8454218eabc264364
Image: gcr.io/tuition-hub-275410/helloworld-gke:latest
Image ID: docker-pullable://gcr.io/tuition-hub-275410/helloworld-gke@sha256:e424a4c438f526800936fa1f819905132783f0036cc1301e140a9e91f25e2
Port: 3000/TCP
Host Port: 0/TCP
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Completed
Exit Code: 0
Started: Mon, 27 Apr 2020 18:28:00 +0200
Finished: Mon, 27 Apr 2020 18:28:02 +0200
Ready: False
Restart Count: 19
Requests:
cpu: 100m
Environment:
PORT: 8080
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-sqpm7 (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
default-token-sqpm7:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-sqpm7
Optional: false
QoS Class: Burstable
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
---- ------ ---- ---- -------
Warning BackOff 4m17s (x320 over 74m) kubelet, gke-helloworld-gke-default-pool-a23be758-g8q7 Back-off restarting failed container