kubernetesを使用して展開するためのyamlを作成しようとしています。私は名前空間で区切られた異なる環境に同じスクリプトを使用しています。ここでは、yamlファイルのyamlファイルからkubernetes名前空間にアクセスする方法
"name":"$(namespace)"
などの展開yaml内の名前空間名にアクセスする必要があります。それは可能ですか?
kubernetesを使用して展開するためのyamlを作成しようとしています。私は名前空間で区切られた異なる環境に同じスクリプトを使用しています。ここでは、yamlファイルのyamlファイルからkubernetes名前空間にアクセスする方法
"name":"$(namespace)"
などの展開yaml内の名前空間名にアクセスする必要があります。それは可能ですか?
編集申し訳ありませんが、私はあなたの質問を誤解した可能性があります:あなたはポッドが実行されている現在の名前空間にアクセスしたい場合、あなたは、より詳細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
を経由して、それらの間のスイッチを持つことができるということです。ありがとう! –