Node.js 带脚手架的NodeJS:如何设置开发环境?

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

我正在尝试为我的Nodejs项目设置一个开发环境,使用Skaffold来处理k8s。我注意到,有时出现错误(通常是语法错误,因为我使用的是自动保存),整个本地服务器似乎停止工作,错误消息不会显示。有时它可以自行修复,但大多数时候我必须重新启动skaffold。我不知道是什么原因导致了这些问题,因为每次错误消息都可能不同:“无法连接到pod…”、“502错误”、“由于同步错误而跳过部署”

以下是我的节点的简单dockerfile:

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: .