gpt4 book ai didi

kubernetes - 如何将命令和参数传递给 kubernetes 部署文件中的容器

转载 作者:行者123 更新时间:2023-12-02 11:52:37 25 4
gpt4 key购买 nike

我必须为我的应用程序编写一个部署文件,它在运行时接受运行时命令和参数。例如./foo bar -a=A -b=B这是我的部署文件:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: foo
spec:
replicas: 1
template:
metadata:
labels:
name: foo
spec:
containers:
- name: foo
image: username/image:tag
# command that to be executed at run time
command: ["bar"]
args:
# This is the flag to pass at runtime
- -a=A
- -b=B
ports:
- containerPort: 9500

它说容器命令“foo”未找到或不存在。我正在传递一个脚本作为入口点,它有 exec/usr/local/bin/foo 。有什么问题吗?

最佳答案

如果你想在容器中启动./foo bar -a=A -b=B,你的部署应该包含

- name: foo
image: username/image:tag
command: ["foo"]
args: ["bar", "-a=A", "-b=B"]

https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/

确保在 username/image:tag 图片内的 $PATH 环境变量中有 foo 二进制文件的路径(或使用完整路径/usr/local/bin/foo).

您可以通过

检查 $PATH
kubectl run  test -ti --rm --image=username/image:tag --command -- echo $PATH

kubectl run test -ti --rm --image=username/image:tag --command -- foo

关于kubernetes - 如何将命令和参数传递给 kubernetes 部署文件中的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46908835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com