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

Shi*_*iva 12 docker google-cloud-platform 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
Run Code Online (Sandbox Code Playgroud)

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

docker run --rm -it -p 9090:9090 -e spring.profiles.dynamic=local applicationimage1
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*eet 23

听起来你实际上并不想要命令行参数,而是环境变量 - 你可以使用env它:

- name: appContainer1 
  image: gcr.io/mybucket/appContainerImage1 
  ports:
    - containerPort: 8080
  env:
    - name: spring.profiles.dynamic
      value: local
Run Code Online (Sandbox Code Playgroud)

可以使用命令行参数:

- name: appContainer1 
  image: gcr.io/mybucket/appContainerImage1 
  ports:
    - containerPort: 8080
  args:
    - foo
    - bar
    - "String containing:colons:"
Run Code Online (Sandbox Code Playgroud)