【发布时间】:2020-02-11 14:00:47
【问题描述】:
为了在生产环境中部署 express node.js api,我想使用 kubernetes 遵循以下步骤:
- 在谷歌云中创建集群
- 从git克隆代码到集群
- docker build -t gcr.io/[GCLOUDID]/app:v1 。
- docker pushgcr.io/[GCLOUDID]/app:v1
- kubectl run app --image=gcr.io/[GCLOUDID]/app:v1
这运行良好,但是当我想更新代码时,我有点迷路了。 我试图构建一个 v2(docker build -t gcr.io/[GCLOUDID]/app:v2 。) 并通过 kubectl set image deployments/app app=gcr.io/[GCLOUDID]/app:v2 设置镜像
此方法会引发各种错误(例如 imagepullbackoff、crashloopbackoff)
使用了这个 dockerfile:
FROM node:11-alpine
WORKDIR /
COPY . /
RUN rm -rf node_modules
RUN rm -rf package-lock.json
RUN apk update && apk upgrade \
&& apk add --no-cache git \
&& apk --no-cache add --virtual builds-deps build-base python \
&& npm rebuild bcrypt --build-from-source
# Install imagemagick with support to native library
RUN apk add --no-cache file
RUN apk --update add imagemagick
RUN npm install
ENV TYPE=docker
EXPOSE 80
CMD [ "npm", "start" ]
【问题讨论】:
标签: node.js kubernetes google-cloud-platform google-kubernetes-engine