我希望在部署初始化成功后运行特定命令.
这是我的yaml文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: auth
spec:
replicas: 1
template:
metadata:
labels:
app: auth
spec:
containers:
- name: auth
image: {{my-service-image}}
env:
- name: NODE_ENV
value: "docker-dev"
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 3000
Run Code Online (Sandbox Code Playgroud)
但是,我想在成功初始化部署并且正在运行pod之后(之前)运行db迁移命令.
我可以手动为每个pod(使用kubectl exec),但这不是很可扩展.
Pet*_*ada 41
我使用生命周期解决了它:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: auth
spec:
replicas: 1
template:
metadata:
labels:
app: auth
spec:
containers:
- name: auth
image: {{my-service-image}}
env:
- name: NODE_ENV
value: "docker-dev"
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 3000
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", {{cmd}}]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13984 次 |
最近记录: |