实时将更改应用于 pod 代码源 - npm
applying changes to pod code source realtime - npm
我的 pod 上安装了 reactjs 应用程序 运行ning,并且我已将源代码从主机安装到 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>
或
export PATCH='{"spec":{"template":{"metadata":{"annotations":{"timestamp":"'$(date)'"}}}}}'
kubectl patch deployment webapp -p "$PATCH"
您的 pods 应该会在之后重新启动。
Rico 提到的是正确的,您需要对每个更改进行修补或重建,但是您可以通过 运行ning minikube without vm-driver 来避免这种情况,这里是 运行 minikube 的命令没有 vm-driver 仅适用于 Linux,通过这样做,您可以将主机路径挂载到 pod。希望这会有所帮助
sudo minikube start --bootstrapper=localkube --vm-driver=none --apiserver-ips 127.0.0.1 --apiserver-name localhost -v=1
我的 pod 上安装了 reactjs 应用程序 运行ning,并且我已将源代码从主机安装到 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>
或
export PATCH='{"spec":{"template":{"metadata":{"annotations":{"timestamp":"'$(date)'"}}}}}'
kubectl patch deployment webapp -p "$PATCH"
您的 pods 应该会在之后重新启动。
Rico 提到的是正确的,您需要对每个更改进行修补或重建,但是您可以通过 运行ning minikube without vm-driver 来避免这种情况,这里是 运行 minikube 的命令没有 vm-driver 仅适用于 Linux,通过这样做,您可以将主机路径挂载到 pod。希望这会有所帮助
sudo minikube start --bootstrapper=localkube --vm-driver=none --apiserver-ips 127.0.0.1 --apiserver-name localhost -v=1