Node.js 将更改应用于pod源代码实时-npm
我已经在我的pod上运行了reactjs应用程序,并且已经将源代码从主机装载到pod上。它工作正常,但当我在主机上更改代码时,pod源代码也会更改,但当我运行站点时,它并没有影响应用程序。这是我的清单,我做错了什么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
---
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