Node.js 带脚手架的NodeJS:如何设置开发环境?
我正在尝试为我的Nodejs项目设置一个开发环境,使用Skaffold来处理k8s。我注意到,有时出现错误(通常是语法错误,因为我使用的是自动保存),整个本地服务器似乎停止工作,错误消息不会显示。有时它可以自行修复,但大多数时候我必须重新启动skaffold。我不知道是什么原因导致了这些问题,因为每次错误消息都可能不同:“无法连接到pod…”、“502错误”、“由于同步错误而跳过部署” 以下是我的节点的简单dockerfile:Node.js 带脚手架的NodeJS:如何设置开发环境?,node.js,docker,kubernetes,nginx-ingress,skaffold,Node.js,Docker,Kubernetes,Nginx Ingress,Skaffold,我正在尝试为我的Nodejs项目设置一个开发环境,使用Skaffold来处理k8s。我注意到,有时出现错误(通常是语法错误,因为我使用的是自动保存),整个本地服务器似乎停止工作,错误消息不会显示。有时它可以自行修复,但大多数时候我必须重新启动skaffold。我不知道是什么原因导致了这些问题,因为每次错误消息都可能不同:“无法连接到pod…”、“502错误”、“由于同步错误而跳过部署” 以下是我的节点的简单dockerfile: FROM node:alpine WORKDIR /app C
FROM node:alpine
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "start"]
Package.json
{
"name": "auth",
"version": "1.0.0",
"description": "Authorization Service for Ticketting",
"main": "index.js",
"scripts": {
"start": "ts-node-dev src/index.ts"
},
"author": "Nam Nguyen",
"license": "ISC",
"devDependencies": {
"ts-node-dev": "^1.0.0",
"typescript": "^4.0.5"
},
"dependencies": {
"@types/express": "^4.17.8",
"express": "^4.17.1",
"express-validator": "^6.6.1"
}
}
部署yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: auth-depl
spec:
replicas: 3
selector:
matchLabels:
app: auth
template:
metadata:
labels:
app: auth
spec:
containers:
- name: auth
image: namng191/auth
---
apiVersion: v1
kind: Service
metadata:
name: auth-srv
spec:
type: ClusterIP
selector:
app: auth
ports:
- name: auth
protocol: TCP
port: 3000
targetPort: 3000
入口配置yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
rules:
- host: ticketting.dev
http:
paths:
- path: /api/users/?(.*)
pathType: Prefix
backend:
service:
name: auth-srv
port:
number: 3000
斯卡弗德亚米尔
apiVersion: skaffold/v2beta9
kind: Config
deploy:
kubectl:
manifests:
- ./infra/k8s/*
build:
local:
push: false
artifacts:
- image: namng191/auth
context: ./auth
docker:
dockerfile: Dockerfile
sync:
manual:
- src: 'src/**/*.ts'
dest: .