如何在 kubernetes 中传递命令行参数?

How to pass command line arguments in kubernetes?

需要为 pod.yaml 中的 docker 容器 appContainer1 和 appContainer2 传递命令行参数。

pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: microservices
  labels:
    app: apps
spec:
  containers:
    - name: appContainer1 
      image: gcr.io/mybucket/appContainerImage1 
      ports:
        - containerPort: 8080
    - name: appContainer2
      image: b.gcr.io/mybucket/appContainerImage2
      ports:
        - containerPort: 9090

在docker中,我可以通过环境变量(-e)传递命令行参数

docker run --rm -it -p 9090:9090 -e spring.profiles.dynamic=local applicationimage1

同样,当容器 运行 在 kubernetes 中时,我需要传递命令行参数。

听起来您实际上并不需要命令行参数,而是环境变量 - 您可以为此使用 env

- name: appContainer1 
  image: gcr.io/mybucket/appContainerImage1 
  ports:
    - containerPort: 8080
  env:
    - name: spring.profiles.dynamic
      value: local

可以使用命令行参数:

- name: appContainer1 
  image: gcr.io/mybucket/appContainerImage1 
  ports:
    - containerPort: 8080
  args:
    - foo
    - bar
    - "String containing:colons:"