web-dev-qa-db-ja.com

KuberneteのConfigMapは書き込み可能ですか?

configMapによってマウントされたファイルを直接変更することはできますか? configMapタイプの構成ファイルを読み取るアプリケーションがあり、アプリケーションはファイルを編集でき、configMapが他のポッドと共有されている場合、およびポッドが再起動します。

configMapがこれを目的としていない場合、consulをリレーして構成を保存する必要がありますか?

6
user1595858

はい、configmapは 書き込み可能である必要はありません です。 configmapのファイルを操作している場合は、代わりにファイルを書き込み可能なボリュームに入れ、 mount the volume にすることができます。または、提案したように、領事のような集中構成を使用することもできます。アプリがこのデータに動的に書き込んでいることを考えると、構成ではなく状態と見なすことができます。その後、データベースに格納できます。別のオプションは、分散キャッシュ redisなど またはhazelcastです。

6
Ryan Dawson

私の知る限り、ConfigMapへの変更はローカルのメモリ内にのみ存在します。
つまり、変更は他のポッドには表示されず、ポッドを再起動すると変更が失われます。

1つの解決策は、構成アプリケーション内からkubectlバイナリまたはkubernetes APIを使用して、構成変更後にConfigMapを再作成することです。

例えばkubectl apply -f /path/to/updated/config.yaml

1
stacksonstacks