4.3.2.5. コンテナー化されたサービス
nova、glance、keystone 等の特定のサービスは、コンテナー内で実行されるようになりました。このアプローチにより、サービスに更新を適用することが容易になりました。独自のコンテナーで各サービスを実行すると、同じベアメタル上で共存するサービス間の分離が強化されます。これは、隣接するサービスへの簡単なアクセスを回避することで、攻撃対象領域を低減するのに役立てることで、1 つのサービスが攻撃を受けることができるはずです。
コンテナーにマウントするホストマシン上のパスは、ro/rw として設定されている場合、コンテナーとホスト間でデータを転送するマウントポイントとして使用できます。
設定ファイルを更新する場合は、特定の管理プラクティスを考慮する必要があります。これにより、コンテナー化されたサービスは一時的なものになります。
-
物理ノードのホストオペレーティングシステム上の設定ファイル (例:
/etc/cinder/cinder.conf
) は更新しないでください。コンテナー化されたサービスはこのようなファイルを参照しません。 - コンテナー内で実行されている設定ファイルは更新しないでください。コンテナーを再起動すると変更が失われてしまいます。
代わりに、コンテナー化されたサービスに変更を加える必要がある場合は、コンテナーのシードに使用される設定ファイルを更新する必要があります。これらのファイルは、puppet の初期デプロイメント時に生成され、クラウドの実行に重要な機密データが含まれ、それに応じて処理する必要があります。これらのファイルは /var/lib/config-data/puppet-generated/
内に保管されています。以下に例を示します。
-
keystone:
/var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf
-
cinder:
/var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf
-
nova:
/var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
これらのファイルに加えられた変更は、コンテナーが再起動されると適用されます。