1. ホーム
  2. kubernetes

[解決済み] k8sのConfigMapやSecretを既存のものを削除せずに更新する方法

2022-08-22 11:18:32

質問

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

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

  1. kubectl delete configmap foo

  2. kubectl create configmap foo --from-file foo.properties

上記をワンステップにして、電流を削除するよりも効率的な素敵でシンプルな方法はありますか? 潜在的に、私が今やっていることは、古いコンフィグマップが削除され、新しいものが作成されていない間にマウントしようとすると、これらのコンフィグマップを使用するコンテナを危険にさらすかもしれません。

どのように解決するのですか?

YAMLを取得するには kubectl create configmap コマンドから YAML を取得し、それをパイプで kubectl apply に、このようにします。

kubectl create configmap foo --from-file foo.properties -o yaml --dry-run | kubectl apply -f -