2015-12-12 15 views
6

È necessario passare gli argomenti della riga di comando per i contenitori finestra mobile appContainer1 & appContainer2 nel pod.yaml.Come passare gli argomenti della riga di comando in kubernetes?

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 

In finestra mobile, posso passare gli argomenti della riga di comando tramite variabile ambiente (-e)

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

Come stessi, bisogno di passare argomenti della riga di comando quando i contenitori corre dentro kubernetes.

risposta

13

Sembra che in realtà non vuole argomenti della riga di comando, ma le variabili di ambiente - ed è possibile utilizzare env per questo:

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

You can utilizzare gli argomenti della riga di comando:

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

Ci scusiamo, env: solo i tappi di supporto della chiave e non consente che caratteri speciali come punto (.) E args non funzionino. per favore consigliami. – Shiva

+0

@Shiva "non funziona" è molto vago. Si prega di essere più specifici. –

+0

@Shiva: Allo stesso modo, cosa succede quando provi * l''env' così com'è. (La limitazione intorno alle lettere maiuscole è documentata? Non l'ho visto, ma potrei averlo perso ...) –

Problemi correlati