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

これらのファイルに加えられた変更は、コンテナーが再起動されると適用されます。