2.4. カスタムロールファイルの生成

セキュリティーのために、NFS を介して CephFS を使用する場合は、分離されたネットワークを介してのみ Ceph NFS サーバーにアクセスできるように、NFS トラフィックを別のネットワークに分離します。デプロイ担当者は、分離されたネットワークをクラウド内の選択したプロジェクトグループに制限できます。Red Hat OpenStack director には、専用の StorageNFS ネットワークをデプロイするためのサポートが付属しています。StorageNFS ネットワークを設定して使用するには、カスタムの Controller ロールが必要です。

重要

NFS トラフィック用の分離されたネットワークの作成を省略することができます。ただし、Red Hat は、信頼されていないクライアントを含む実稼働環境へのこのようなセットアップを強く推奨しません。StorageNFS ネットワークを省略すると、director は、外部ネットワークなどの分離されていない共有ネットワーク上の Ceph NFS サーバーに接続できます。分離されていない共有ネットワークは、通常、クラウド内のすべてのユーザープライベートネットワークにルーティングできます。NFS サーバーがそのようなネットワーク上にある場合、特定のクライアント IP アクセスルールを介して OpenStack Shared File Systems サービス (manila) 共有へのアクセスを制御することはできません。ユーザーは、共有へのアクセスを許可するために、一般的な 0.0.0.0/0 IP を使用する必要があります。共有は、エクスポートパスを見つけた人なら誰でもマウントできます。

ControllerStorageNFS カスタムロールにより、StorageNFS 分離ネットワークを設定します。このロールはデフォルトの Controller.yaml ロールファイルに類似していますが、StorageNFS ネットワークおよび CephNfs サービス (OS::TripleO::Services:CephNfs コマンドで表される) が追加されています。

[stack@undercloud ~]$ cd /usr/share/openstack-tripleo-heat-templates/roles
[stack@undercloud roles]$ diff Controller.yaml ControllerStorageNfs.yaml
16a17
> 	- StorageNFS
50a45
> 	- OS::TripleO::Services::CephNfs

openstack overcloud roles generate コマンドについての詳しい情報は、オーバークラウドの高度なカスタマイズロール を参照してください。

openstack overcloud roles generate コマンドにより、-o 以降に指定したサービスが含まれるカスタム roles_data.yaml ファイルが作成されます。以下の例では、作成される roles_data.yaml ファイルには、ControllerStorageNfsCompute、および CephStorage のサービスが含まれます。

注記

既存の roles_data.yaml ファイルがある場合には、それを変更して設定ファイルに ControllerStorageNfsCompute、および CephStorage サービスを追加します。詳しい情報は、Advanced Overcloud CustomizationRoles を参照してください。

手順

  1. アンダークラウドノードに stack ユーザーとしてログインします。
  2. openstack overcloud roles generate コマンドを使用して、roles_data.yaml ファイルを作成します。

    [stack@undercloud ~]$ openstack overcloud roles generate --roles-path /usr/share/openstack-tripleo-heat-templates/roles -o /home/stack/roles_data.yaml ControllerStorageNfs Compute CephStorage