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

时间:2015-12-12 10:26:37

标签: docker google-cloud-platform kubernetes

需要为docker容器传递命令行参数appContainer1& pod.yaml中的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中运行时,我需要传递命令行参数。

1 个答案:

答案 0 :(得分:20)

听起来你实际上并不想要命令行参数,而是环境变量 - 你可以使用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:"