2017-06-06 16 views
3

私はKubernetesに展開されているバックエンドサービスを持っています。 デプロイしたいときはいつでもドッカーの画像を作成してGoogleドッカーのレジストリにタグ(例:1.1.0)でプッシュし、展開yamlを更新します。ConfigMapのKubernetesイメージ設定

ただし、このファイルを更新して別のコミットを作成することはPITAです。特に私は生産環境とステージング環境(実際には名前空間が2つ) 私は最近KubernetesのConfigMapsについて知りました。

イメージタグを使用してConfigMapに値を保存して使用できるかどうかを知りたいですか?私はこれまでのところ方法を見つけていない。

良い選択肢がありますので、現在のリリースに関する情報をgitに保存する必要はありませんか?ここでベストプラクティスは何ですか? latestタグを使用しているとは思いません。

マスターや開発(私はgitlab CIを使用しています)にプッシュするたびに私のCIがデプロイメントをやりたいので、コマンドラインで簡単に行うことができる方法はsedです。

kubectl set image deployment/foobar <container_name>=<new_image:new_tag> 

、あなたのgitのは、画像タグとしてIDをコミット使用することができます。

答えて

2

簡単な解決策はkubectl set imageを使用して、展開のローリング更新をトリガすることです。

+0

ありがとうございました。これはまさに私が探していたものでした。 – Bantak

+0

このアプローチの問題は、古いYAMLをリポジトリに格納することになります。 YAMLを新しい画像:tagで更新し、 'kubectl apply'を呼び出すスクリプトを書くことをお勧めします。そのようなスクリプトを書くのは簡単なので、すべての主要言語のYAMLライブラリがあります。 –

関連する問題