2017-10-31 14 views
0

kubernetesを使用して展開するためのyamlを作成しようとしています。私は名前空間で区切られた異なる環境に同じスクリプトを使用しています。ここでは、yamlファイルのyamlファイルからkubernetes名前空間にアクセスする方法

"name":"$(namespace)" 

などの展開yaml内の名前空間名にアクセスする必要があります。それは可能ですか?

答えて

0

編集申し訳ありませんが、私はあなたの質問を誤解した可能性があります:あなたはポッドが実行されている現在の名前空間にアクセスしたい場合、あなたは、より詳細hereに説明env: valueFrom:構築物を経由して、その環境の中にそれを注入することができます

env: 
- name: MY_NAMESPACE 
    valueFrom: 
    fieldRef: 
     fieldPath: metadata.namespace 

YAMLからnamespace:を省略し、もちろん、あなたがkubectlを使用している、と仮定しkubectl --namespace=foo1 create -f my-thing.yaml(ようkubectlにそれを提供し、答えの背後にある考え方は同じですが、ちょうどトン

~/.kube/configにコンテキスト内のデフォルトネームスペースを指定して、異なる方法で異なる資格情報を異なる名前空間に関連付けることもできます。kubectl --context=server-foo1。彼らはすべて最終的に同じ効果に沸騰します、それはちょうどあなたの場合に最も便利な問題です。

最も極端な(?)の形はあなたにもはいああそれが動作する複数のconfigsとenv KUBECONFIG=$TMPDIR/foo1.yaml kubectl create -f my-thing.yaml

+0

を経由して、それらの間のスイッチを持つことができるということです。ありがとう! –

関連する問題