如何通过命令行将参数传递给 Kubernetes 或 OpenShift 中的 Docker 容器?

Dan*_*l P 3 openshift docker kubernetes

我在 Docker 映像中有一个 bash 脚本,我可以通过该脚本传递命令行参数docker run(已在 中指定 bash 脚本ENTRYPOINT并在中指定默认参数,CMD如本答案中所示)。所以我会运行类似的东西

docker run my_docker_test argument_1
Run Code Online (Sandbox Code Playgroud)

现在我想将多个(大约 50 个)容器部署到 OpenShift 或 Kubernetes,每个容器都有不同的参数值。据我所知,在 Kubernetes 中我可以在对象配置 yaml 文件中指定command和。args是否可以像 in 那样直接从命令行传递参数docker run,例如传递到kubectlor oc,而无需每次想要更改参数值时都创建一个新的 yaml 文件?

geo*_*eos 7

正确的答案来自@Jonas,但您也可以在 yaml 文件中使用环境变量,如下所示

作为直接提供字符串的替代方法,您可以使用环境变量定义参数

env:
- name: ARGUMENT
  value: {{ argument_1 }}
args: ["$(ARGUMENT)"]
Run Code Online (Sandbox Code Playgroud)

其中 {{ argument_1 }} 是环境变量。