Minikube - 调试NodeJS应用程序

时间:2016-12-12 19:36:42

标签: node.js kubernetes node-inspector minikube

我在我的mac上运行minikube,用于在本地开发/测试我的微服务。 我想知道是否可以通过节点检查器在minikube中调试我的NodeJS? (也欢迎其他工具)。 我看到有一个选项可以使用docker-compose来使用node-inspector但是因为我在 k8s 中运行我的所有服务,所以选择Minikube。

先谢谢!

1 个答案:

答案 0 :(得分:0)

假设你有这个npm脚本:

"dev": "concurrently -p \"[{name}]\" -n \"NODE INSPECTOR,NODEMON\" -c \"bgBlue.bold,bgGreen.bold\" \"node-inspector --web-port=8081 --debug-port=5860 --preload\" \"cross-env NODE_ENV=development nodemon ./node_modules/babel-cli/bin/babel-node.js --max-old-space-size=512 --debug=5860 ./index.js\""

node-inspector未在端口8081上运行。

现在,在您的kubernetes.yml中,您可以拥有以下内容:

---

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: helloworld
  name: helloworld
  namespace: application
spec:
  replicas: 1
  selector:
    matchLabels:
      app: helloworld
  template:
    metadata:
      labels:
        app: helloworld
    spec:
      containers:
      - name: helloworld
        imagePullPolicy: Always
        image: fbgrecojr/hello-world:latest
        ports:
        - containerPort: 8080
          protocol: TCP
        - containerPort: 8081
          protocol: TCP

---

kind: Service
apiVersion: v1
metadata:
  labels:
    app: helloworld
  name: helloworld
  namespace: application
spec:
  type: NodePort
  ports:
  - port: 8080
    protocol: TCP
    nodePort: 30000
  - port: 8081
    protocol: TCP
    nodePort: 30001
  selector:
    app: helloworld

无法从$(minikube ip):30000访问您的应用,并且可以从$(minikube ip):30000

获取节点检查器