在 Kubernetes 的 Deployment 中可以定义命令,在创建 Deployment 后立即执行该命令。
例如:
cd opt/
wget xxxxxx
mkdir new/
到目前为止,我还没有找到任何解决这个问题的方法。
是否有其他方法可以实现这个效果?
在 Kubernetes 的 Deployment 中可以定义命令,在创建 Deployment 后立即执行该命令。
例如:
cd opt/
wget xxxxxx
mkdir new/
到目前为止,我还没有找到任何解决这个问题的方法。
是否有其他方法可以实现这个效果?
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: example
name: example
spec:
replicas: 1
selector:
matchLabels:
app: example
strategy: {}
template:
metadata:
labels:
app: example
spec:
containers:
- image: busybox
command: ["/bin/sh"]
args: ["-c", "cd opt/ && wget xxxxxx && mkdir new/ && process-that-keeps-container-running"]
name: busybox
这有点棘手,因为在命令参数的结尾,你必须放置保持容器运行的命令。如果你不知道它是哪个命令,你需要查看所使用的Docker镜像的 CMD
和ENTRYPOINT
。
while true; do sleep 10000; done
。 - mirekphd
RUN
指令中执行;如果它非常动态或确实无法构建到镜像中(例如每次安装的安全凭证),那么请使用一个ENTRYPOINT
包装脚本。 - David Maze