7.4.5. コントロールプレーンのネットワークの設定
事前にプロビジョニングされたオーバークラウドノードは、標準の HTTP 要求を使用して director からメタデータを取得します。これは、オーバークラウドノードでは以下のいずれかに対して L3 アクセスが必要であることを意味します。
-
director のコントロールプレーンネットワーク。これは、
undercloud.confファイルのnetwork_cidrパラメーターで定義するサブネットです。オーバークラウドノードには、このサブネットへの直接アクセスまたはルーティング可能なアクセスのいずれかが必要です。 -
undercloud.confファイルのundercloud_public_hostパラメーターで指定する director のパブリック API エンドポイント。コントロールプレーンへの L3 ルートがない場合や、SSL/TLS 通信を使用する場合に、このオプションを利用することができます。パブリック API エンドポイントを使用するオーバークラウドノードの設定の詳細は、「事前にプロビジョニングされたノードへの別ネットワークの使用」 を参照してください。
director は、コントロールプレーンネットワークを使用して標準のオーバークラウドを管理、設定します。事前にプロビジョニングされたノードを使用したオーバークラウドの場合には、director と事前にプロビジョニングされたノード間の通信に対応するために、ネットワーク設定を変更しなければならない場合があります。
ネットワーク分離の使用
ネットワーク分離を使用することで、サービスをグループ化してコントロールプレーンなど特定のネットワークを使用することができます。コントロールプレーン上のノードに特定の IP アドレスを定義することも可能です。
ネットワーク分離を使用する場合には、NIC テンプレートに、アンダークラウドのアクセスに使用する NIC を含めないようにしてください。これらのテンプレートにより NIC が再設定され、デプロイメント時に接続性や設定の問題が発生する可能性があります。
IP アドレスの割り当て
ネットワーク分離を使用しない場合には、単一のコントロールプレーンを使用して全サービスを管理することができます。これには、各ノード上のコントロールプレーンの NIC を手動で設定して、コントロールプレーンネットワークの範囲内の IP アドレスを使用するようにする必要があります。director のプロビジョニングネットワークをコントロールプレーンとして使用する場合には、選択したオーバークラウドの IP アドレスが、プロビジョニング (dhcp_start および dhcp_end) とイントロスペクション (inspection_iprange) 両方の DHCP 範囲外になるようにしてください。
標準のオーバークラウド作成中には、director は OpenStack Networking (neutron) ポートを作成し、プロビジョニング/コントロールプレーンネットワークのオーバークラウドノードに IP アドレスを自動的に割り当てます。ただし、これにより、各ノードに手動で設定する IP アドレスとは異なるアドレスを director が割り当ててしまう可能性があります。このような場合には、予測可能な IP アドレス割り当て方法を使用して、director がコントロールプレーン上で事前にプロビジョニングされた IP の割り当てを強制的に使用するようにしてください。
Red Hat OpenStack Platform 17.1 以降、ips-from-pool.yaml ファイルを使用して予測可能な IP をノードに割り当てることができなくなりました。ネットワークの IP アドレスを指定するには、ベアメタル定義ファイルの fixed_ip プロパティーを使用する必要があります。詳細は、ベアメタルノードのプロビジョニング属性 および オーバークラウド用のベアメタルノードのプロビジョニング を参照し てください。
ネットワーク分離を使用している場合は、予測可能な IP 戦略を実装するために、カスタム環境ファイル deploy-ports.yaml を作成します。次のカスタム環境ファイルの例 deploy-ports.yaml は、一連のリソースレジストリーマッピングとパラメーターを director に渡し、事前にプロビジョニングされたノードの IP 割り当てを定義します。NodePortMap、ControlPlaneVipData、および VipPortMap パラメーターは、各オーバークラウドノードに対応する IP アドレスとサブネット CIDR を定義します。
resource_registry:
# Deployed Virtual IP port resources
OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_vip_external.yaml
OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_vip_internal_api.yaml
OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_vip_storage.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_vip_storage_mgmt.yaml
# Deployed ControlPlane port resource
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
# Controller role port resources
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
# Compute role port resources
OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
# CephStorage role port resources
OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
parameter_defaults:
NodePortMap:
# Controller node parameters
controller-00-rack01:
ctlplane:
ip_address: 192.168.24.201
ip_address_uri: 192.168.24.201
ip_subnet: 192.168.24.0/24
external:
ip_address: 10.0.0.201
ip_address_uri: 10.0.0.201
ip_subnet: 10.0.0.10/24
internal_api:
ip_address: 172.16.2.201
ip_address_uri: 172.16.2.201
ip_subnet: 172.16.2.10/24
management:
ip_address: 192.168.1.201
ip_address_uri: 192.168.1.201
ip_subnet: 192.168.1.10/24
storage:
ip_address: 172.16.1.201
ip_address_uri: 172.16.1.201
ip_subnet: 172.16.1.10/24
storage_mgmt:
ip_address: 172.16.3.201
ip_address_uri: 172.16.3.201
ip_subnet: 172.16.3.10/24
tenant:
ip_address: 172.16.0.201
ip_address_uri: 172.16.0.201
ip_subnet: 172.16.0.10/24
...
# Compute node parameters
compute-00-rack01:
ctlplane:
ip_address: 192.168.24.11
ip_address_uri: 192.168.24.11
ip_subnet: 192.168.24.0/24
internal_api:
ip_address: 172.16.2.11
ip_address_uri: 172.16.2.11
ip_subnet: 172.16.2.10/24
storage:
ip_address: 172.16.1.11
ip_address_uri: 172.16.1.11
ip_subnet: 172.16.1.10/24
tenant:
ip_address: 172.16.0.11
ip_address_uri: 172.16.0.11
ip_subnet: 172.16.0.10/24
...
# Ceph node parameters
ceph-00-rack01:
ctlplane:
ip_address: 192.168.24.101
ip_address_uri: 192.168.24.101
ip_subnet: 192.168.24.0/24
storage:
ip_address: 172.16.1.101
ip_address_uri: 172.16.1.101
ip_subnet: 172.16.1.10/24
storage_mgmt:
ip_address: 172.16.3.101
ip_address_uri: 172.16.3.101
ip_subnet: 172.16.3.10/24
...
# Virtual IP address parameters
ControlPlaneVipData:
fixed_ips:
- ip_address: 192.168.24.5
name: control_virtual_ip
network:
tags: [192.168.24.0/24]
subnets:
- ip_version: 4
VipPortMap
external:
ip_address: 10.0.0.100
ip_address_uri: 10.0.0.100
ip_subnet: 10.0.0.100/24
internal_api:
ip_address: 172.16.2.100
ip_address_uri: 172.16.2.100
ip_subnet: 172.16.2.100/24
storage:
ip_address: 172.16.1.100
ip_address_uri: 172.16.1.100
ip_subnet: 172.16.1.100/24
storage_mgmt:
ip_address: 172.16.3.100
ip_address_uri: 172.16.3.100
ip_subnet: 172.16.3.100/24
RedisVirtualFixedIPs:
- ip_address: 192.168.24.6
use_neutron: false
- 1
NodePortMapマッピングは、ノード割り当ての名前を定義します。- 2
<node_hostname>の形式に従う、ノードの短いホスト名。- 3
- ノードのネットワーク定義と IP 割り当て。ネットワークには、
ctlplane、external、internal_api、management、storage、storage_mgmt、およびtenantが含まれます。IP 割り当てには、ip_address、ip_address_uri、およびip_subnetが含まれます。-
IPv4:
ip_addressとip_address_uriは同じ値に設定する必要があります。 IPv6:
-
ip_address: 括弧なしの IPv6 アドレスに設定します。 -
ip_address_uri:[2001:0db8:85a3:0000:0000:8a2e:0370:7334]のように、角括弧で囲まれた IPv6 アドレスに設定します。
-
-
IPv4: