既存のものを削除せずにk8s ConfigMapまたはSecretを更新する 質問する

既存のものを削除せずにk8s ConfigMapまたはSecretを更新する 質問する

私は、プロパティの管理に K8S ConfigMap と Secret を使用しています。私の設計は非常にシンプルで、プロパティ ファイルを Git リポジトリに保存し、Thoughtworks GO などのビルド サーバーを使用して、それらを ConfigMap または Secret (選択した条件で) として k8s クラスターに自動的にデプロイします。

現時点では、既存の ConfigMap と Secret を常に削除し、以下のように新しいものを作成して更新する必要があるのはあまり効率的ではないことがわかりました。

  1. kubectl delete configmap foo

  2. 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 -

おすすめ記事