私は、プロパティの管理に K8S ConfigMap と Secret を使用しています。私の設計は非常にシンプルで、プロパティ ファイルを Git リポジトリに保存し、Thoughtworks GO などのビルド サーバーを使用して、それらを ConfigMap または Secret (選択した条件で) として k8s クラスターに自動的にデプロイします。
現時点では、既存の ConfigMap と Secret を常に削除し、以下のように新しいものを作成して更新する必要があるのはあまり効率的ではないことがわかりました。
kubectl delete configmap foo
kubectl create configmap foo --from-file foo.properties
上記の 1 つの手順を実行し、現在のものを削除するよりも効率的な、簡単で優れた方法はありますか? 古い configmap が削除され、新しい configmap が作成されていないときにマウントしようとすると、現在実行している操作によって、これらの configmap を使用するコンテナーが危険にさらされる可能性があります。
ベストアンサー1
次のように、コマンドから YAML を取得しkubectl create configmap
て にパイプすることができます。kubectl apply
kubectl create configmap foo --from-file foo.properties -o yaml --dry-run=client | kubectl apply -f -