node.js - 错误 - 创建服务时回退重新启动失败的容器
问题描述
如标题中所述,我遇到错误
在创建服务时回退重新启动失败的容器
我已经看到有关 Stack Overflow 的问题,但我仍然不确定如何解决它。
这是我的部署 yaml 文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: book-api
spec:
replicas: 1
revisionHistoryLimit: 10
template:
metadata:
name: book-api
labels:
app: book-api
spec:
containers:
- name: book-api
image: newmaster/kubecourse-books:v1
ports:
- name: http
containerPort: 3000
而服务部署文件是:
kind: Service
apiVersion: v1
metadata:
name: exampleservice
spec:
selector:
app: myapp
ports:
- protocol: "TCP"
# Port accessible inside cluster
port: 8081
# Port to forward to inside the pod
targetPort: 8080
# Port accessible outside cluster
nodePort: 30000
type: LoadBalancer
这是我的 Dockerfile:
FROM node:alpine
# Create app directory
WORKDIR /src
# Install app dependencies
COPY package.json /src/
COPY package-lock.json /src/
RUN npm install
# Bundle app source
ADD . /src
RUN npm run build
EXPOSE 3000
CMD [ "npm", "run serve" ]
我不知道如何解决这个问题,我是 Kubernetes 和 DevOps 世界的新手。回购在这里:https ://github.com/codemasternode/BookService.Kubecourse.git
解决方案
我尝试在本地运行您的部署,这就是日志显示的内容:
kubectl log book-api-8d98bf6d5-zbv4q
Usage: npm <command>
where <command> is one of:
access, adduser, audit, bin, bugs, c, cache, ci, cit,
clean-install, clean-install-test, completion, config,
create, ddp, dedupe, deprecate, dist-tag, docs, doctor,
edit, explore, get, help, help-search, hook, i, init,
install, install-ci-test, install-test, it, link, list, ln,
login, logout, ls, outdated, owner, pack, ping, prefix,
profile, prune, publish, rb, rebuild, repo, restart, root,
run, run-script, s, se, search, set, shrinkwrap, star,
stars, start, stop, t, team, test, token, tst, un,
uninstall, unpublish, unstar, up, update, v, version, view,
whoami
npm <command> -h quick help on <command>
npm -l display full usage info
npm help <term> search for help on <term>
npm help npm involved overview
Specify configs in the ini-formatted file:
/root/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config
npm@6.5.0-next.0 /usr/local/lib/node_modules/npm
newmaster/kubecourse-books:v1 似乎没有默认运行命令
我猜如果你想运行默认的 npm 命令,你可以运行以下部署配置(注意command
值):
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: book-api
spec:
replicas: 1
revisionHistoryLimit: 10
template:
metadata:
name: book-api
labels:
app: book-api
spec:
containers:
- name: book-api
image: newmaster/kubecourse-books:v1
command: ["npm", "start"]
ports:
- name: http
containerPort: 3000
推荐阅读
- unity3d - 试图只查看二维数组的一部分以优化我的代码但不起作用
- machine-learning - 在自然语言处理中是否有减少词汇量的好方法?
- ssl - 允许用户对我的云端应用程序使用自定义域
- datatables - 将值相乘并在数据表中应用样式
- java - 如何在 Jmeter beanshell 脚本中使用 Hashset/set
- python - 如何使用 Path.home()?
- python - python glob读取具有所有类型扩展的图像
- python - 在 __call__ 等类方法中实现 __getattr__
- angular - ngx-bootstrap tabset 可拖动标签
- c# - 如何重用正则表达式变量?