Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将更改应用于pod源代码实时-npm_Node.js_Reactjs_Npm_Kubernetes_Kubernetes Deployment - Fatal编程技术网

Node.js 将更改应用于pod源代码实时-npm

Node.js 将更改应用于pod源代码实时-npm,node.js,reactjs,npm,kubernetes,kubernetes-deployment,Node.js,Reactjs,Npm,Kubernetes,Kubernetes Deployment,我已经在我的pod上运行了reactjs应用程序,并且已经将源代码从主机装载到pod上。它工作正常,但当我在主机上更改代码时,pod源代码也会更改,但当我运行站点时,它并没有影响应用程序。这是我的清单,我做错了什么 --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: webapp spec: replicas: 1 minReadySeconds: 15 strategy: type: R

我已经在我的pod上运行了reactjs应用程序,并且已经将源代码从主机装载到pod上。它工作正常,但当我在主机上更改代码时,pod源代码也会更改,但当我运行站点时,它并没有影响应用程序。这是我的清单,我做错了什么

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: webapp
spec:
  replicas: 1
  minReadySeconds: 15
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: webapp
        tier: frontend
        phase: development
    spec:
      containers:
      - name: webapp
        image: xxxxxx            
        command:
        - npm
        args:
        - run
        - dev
        env:
        - name: environment
          value:  dev
        - name: AUTHOR
          value: webapp
        ports:
        - containerPort: 3000
        volumeMounts:
        - mountPath: /code
          name: code
      imagePullSecrets:
        - name: regcred
      volumes:
        - name: code
          hostPath:
            path: /hosthome/xxxx/development/react-app/src

我知道npm没有注意到我的更改,我如何在pods中解析它?

基本上,每次更改代码时都需要重新加载应用程序,并且当您更改
/code
目录下的代码时,pods不会重新加载或重新启动。您必须重新创建pod,因为您正在使用部署,您可以:

kubectl delete <pod-where-your-app-is-running>

您的pod应该在这之后重新启动。

Rico所提到的是正确的,您需要在每次更改后进行修补或重建,但是您可以通过在没有vm驱动程序的情况下运行minikube来避免这种情况。这里有一个在Linux中运行没有vm驱动程序的minikube的命令,通过这样做,您可以将主机路径装载到pod。希望这会有所帮助

sudo minikube start --bootstrapper=localkube --vm-driver=none --apiserver-ips 127.0.0.1 --apiserver-name localhost -v=1

太棒了,那些很好用。我遇到过这种情况,所以如果我在pod中编辑代码,npm会重新编译,因为它正在监视更改,但主机源代码不会被npm进程监视。有没有办法做到这一点?
sudo minikube start --bootstrapper=localkube --vm-driver=none --apiserver-ips 127.0.0.1 --apiserver-name localhost -v=1