configMap
によってマウントされたファイルを直接変更することはできますか? configMap
タイプの構成ファイルを読み取るアプリケーションがあり、アプリケーションはファイルを編集でき、configMap
が他のポッドと共有されている場合、およびポッドが再起動します。
configMap
がこれを目的としていない場合、consul
をリレーして構成を保存する必要がありますか?
はい、configmapは 書き込み可能である必要はありません です。 configmapのファイルを操作している場合は、代わりにファイルを書き込み可能なボリュームに入れ、 mount the volume にすることができます。または、提案したように、領事のような集中構成を使用することもできます。アプリがこのデータに動的に書き込んでいることを考えると、構成ではなく状態と見なすことができます。その後、データベースに格納できます。別のオプションは、分散キャッシュ redisなど またはhazelcastです。
私の知る限り、ConfigMap
への変更はローカルのメモリ内にのみ存在します。
つまり、変更は他のポッドには表示されず、ポッドを再起動すると変更が失われます。
1つの解決策は、構成アプリケーション内からkubectl
バイナリまたはkubernetes APIを使用して、構成変更後にConfigMap
を再作成することです。
例えばkubectl apply -f /path/to/updated/config.yaml