node.js - Kubernetes Node 14 pod 重新启动并以退出代码 0 终止
问题描述
我有一个带有以下 Dockerfile 的 Angular Universal 应用程序:
FROM node:14-alpine
WORKDIR /app
COPY package.json /app
COPY dist/webapp /app/dist/webapp
ENV NODE_ENV "production"
ENV PORT 80
EXPOSE 80
CMD ["npm", "run", "serve:ssr"]
我可以很好地将它部署到 Kubernetes 集群,但它每 10 分钟左右就会重新启动一次:
NAME READY STATUS RESTARTS AGE
api-xxxxxxxxx-xxxxx 1/1 Running 0 48m
webapp-xxxxxxxxxx-xxxxx 1/1 Running 232 5d19h
Pod 日志很干净,当我描述 Pod 时,我只看到:
Last State: Terminated
Reason: Completed
Exit Code: 0
Started: Tue, 22 Sep 2020 15:58:27 -0300
Finished: Tue, 22 Sep 2020 16:20:31 -0300
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Created 3m31s (x233 over 5d19h) kubelet, pool-xxxxxxxxx-xxxxx Created container webapp
Normal Started 3m31s (x233 over 5d19h) kubelet, pool-xxxxxxxxx-xxxxx Started container webapp
Normal Pulled 3m31s (x232 over 5d18h) kubelet, pool-xxxxxxxxx-xxxxx Container image "registry.gitlab.com/..." already present on machine
这是我的部署.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: $CI_PROJECT_NAME
namespace: $KUBE_NAMESPACE
labels:
app: webapp
tier: frontend
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
selector:
matchLabels:
app: webapp
tier: frontend
template:
metadata:
labels:
app: webapp
tier: frontend
spec:
imagePullSecrets:
- name: gitlab-registry
containers:
- name: $CI_PROJECT_NAME
image: $IMAGE_TAG
ports:
- containerPort: 80
我怎么知道它不断重启的原因?谢谢!
解决方案
推荐阅读
- python - Jupyter notebook 错误:端口 8888 已在使用中,正在尝试另一个端口
- java - 读取 XML 文件只获取一个值 android
- powershell - Powershell 从日志文件中提取 TCP 端口以更新防火墙规则
- r - 来自两个小标题的ggplot;背景为等高线的散点图
- flutter - 如何制作一个类来存储静态颜色?
- powershell - 适用于 Microsoft Word、Excel、Powerpoint 的 PowerSTIG?
- python - 将 sas7bdat 文件上传到 Python
- github - 在 github 问题中嵌入大型或非标准文件
- angular - 从 firebase 获取文档并访问函数返回的数据
- floating-point - Common Lisp 中浮点数的字节表示