web-dev-qa-db-fra.com

Comment passer des arguments de ligne de commande dans kubernetes?

Besoin de passer des arguments de ligne de commande pour les conteneurs docker appContainer1 & appContainer2 dans le pod.yaml.

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

Dans Docker, je peux passer les arguments de ligne de commande via la variable d'environnement (-e)

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

De même, je dois passer des arguments de ligne de commande lorsque les conteneurs s'exécutent dans kubernetes.

12
Shiva

Il semble que vous ne souhaitiez pas réellement d'arguments de ligne de commande, mais des variables d'environnement - et vous pouvez utiliser env pour cela:

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

Vous pouvez utilisez des arguments de ligne de commande:

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