Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第3章 Bare Metal サービスを有効にしたオーバークラウドのデプロイ
director を使用したオーバークラウドのデプロイメントについての詳しい情報は、『director のインストールと使用方法』を参照してください。本章では、ironic 固有のデプロイメント手順のみを説明します。
3.1. Ironic のテンプレートの作成
環境ファイルを使用して、Bare Metal サービスを有効にしたオーバークラウドをデプロイします。テンプレートは、director ノードの /usr/share/openstack-tripleo-heat-templates/environments/services-docker/ironic.yaml
にあります。
テンプレートへの記入
提供されているテンプレートまたは追加の yaml ファイル (例: ~/templates/ironic.yaml
) で、追加の設定を指定することができます。
ベアメタルと仮想インスタンスの両方を備えたハイブリッドのデプロイメントでは、
NovaSchedulerDefaultFilters
の一覧にAggregateInstanceExtraSpecsFilter
を追加する必要があります。NovaSchedulerDefaultFilters
をどこにも設定していない場合には、ironic.yaml に設定することができます。サンプルは、「テンプレートの例」を参照してください。注記SR-IOV を使用している場合には、NovaSchedulerDefaultFilters はすでに
tripleo-heat-templates/environments/neutron-sriov.yaml
で設定されています。このリストにAggregateInstanceExtraSpecsFilter
を追記してください。-
初回のデプロイメントおよび再デプロイメントの前に実行されるクリーニングの種別は、
IronicCleaningDiskErase
で設定されます。デフォルトでは、これはpuppet/services/ironic-conductor.yaml
によって「full」に設定されます。この設定を「metadata」にすると、パーティションテーブルのみがクリーニングされるので処理速度を大幅に向上させることができますが、複数のテナントがある環境ではデプロイメントのセキュリティーレベルが低くなるため、信頼済みのテナント環境でのみ適用すべきです。 -
IronicEnabledDrivers
パラメーターを使用してドライバーを追加することができます。デフォルトでは、pxe_ipmitool
、pxe_drac
、およびpxe_ilo
が有効です。
設定パラメーターの全一覧は、『オーバークラウドのパラメーター』の「Bare Metal (ironic) パラメーター」を参照してください。
3.2. ネットワーク設定
デフォルトのフラットベアメタルネットワークを使用する場合には、ironic が使用するブリッジ br-baremetal
を作成する必要があります。これは、追加のテンプレートで指定することができます。
~/templates/network-environment.yaml
parameter_defaults: NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetal NeutronFlatNetworks: datacentre,baremetal
このブリッジをコントローラーのプロビジョニングネットワーク (コントローラープレーン) 内に設定して、このネットワークをベアメタルネットワークとして再利用できるようにするか、専用のネットワークを追加することができます。設定の要件は同じですが、ベアメタルネットワークはプロビジョニングに使用するので VLAN タグ付けはできません。
~/templates/nic-configs/controller.yaml
network_config: - type: ovs_bridge name: br-baremetal use_dhcp: false members: - type: interface name: eth1
ベアメタルノードは、OpenStack インストール環境のコントロールプレーンネットワークに直接アクセスできるため、オーバークラウドの Bare Metal サービスは、信頼済みのテナント環境向けに設計されています。
3.2.1. カスタムプロビジョニングネットワークの設定
テナントがアンダークラウドネットワークと干渉する場合があるので、デフォルトのフラットプロビジョニングネットワークにより、お客様の環境でセキュリティー上の問題が発生する可能性があります。このリスクを避けるために、コントロールプレーンにアクセスすることのできない、ironic サービス用のカスタムコンポーザブルベアメタルプロビジョニングネットワークを設定することができます。
Identity に管理ユーザーとしてアクセスするためのシェルを設定します。
$ source ~/overcloudrc
network_data.yaml
ファイルをコピーします。(undercloud) [stack@host01 ~]$ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml .
新しい
network_data.yaml
ファイルを編集し、オーバークラウドプロビジョニング用の新規ネットワークを追加します。# custom network for Overcloud provisioning - name: OcProvisioning name_lower: oc_provisioning vip: true vlan: 205 ip_subnet: '172.23.3.0/24' allocation_pools: [{'start': '172.23.3.10', 'end': '172.23.3.200'}]
新規ネットワークを使用するために、
network_environments.yaml
ファイルおよびnic-configs/controller.yaml
ファイルを更新します。network_environments.yaml
ファイルで、VLAN を追加し Ironic ネットワークを再マッピングします。ServiceNetMap: IronicApiNetwork: oc_provisioning IronicNetwork: oc_provisioning
nic-configs/controller.yaml
ファイルにおいて、インターフェースおよび必要なパラメーターを追加します。$network_config: - type: vlan vlan_id: get_param: OcProvisioningNetworkVlanID addresses: - ip_netmask: get_param: OcProvisioningIpSubnet
roles_data.yaml
ファイルをコピーします。(undercloud) [stack@host01 ~]$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml .
新しい
roles_data.yaml
を編集し、コントローラー用の新規ネットワークを追加します。networks: ... - OcProvisioning
デプロイコマンドに新しい
network_data.yaml
ファイルとroles_data.yaml
ファイルを追加します。-n /home/stack/network_data.yaml \ -r /home/stack/roles_data.yaml \
3.3. テンプレートの例
テンプレートファイルの例を以下に示します。このファイルは、お使いの環境の要件を満たさない可能性があります。このサンプルを使用する前には、お使いの環境内の既存の設定を干渉しないことを確認してください。
~/templates/ironic.yaml
parameter_defaults: NovaSchedulerDefaultFilters: - RetryFilter - AggregateInstanceExtraSpecsFilter - AvailabilityZoneFilter - RamFilter - DiskFilter - ComputeFilter - ComputeCapabilitiesFilter - ImagePropertiesFilter IronicCleaningDiskErase: metadata
この例では、
-
AggregateInstanceExtraSpecsFilter
は、ハイブリッドデプロイメント向けに、仮想インスタンスとベアメタルインスタンスの両方を許可します。 - 初回のデプロイメントまたは再デプロイメントの前に実行されるディスククリーニングでは、パーティションテーブル (metadata) のみが消去されます。
3.4. オーバークラウドのデプロイ
Bare Metal サービスを有効にするには、オーバークラウドの初回のデプロイメントまたは再デプロイメントの時に -e
を使用して ironic の環境ファイルをオーバークラウドの残りの設定と共に追加します。
以下に例を示します。
$ openstack overcloud deploy \ --templates \ -e ~/templates/node-info.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e ~/templates/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/ironic.yaml \ -e ~/templates/ironic.yaml \
オーバークラウドのデプロイについての詳しい情報は、『director のインストールと使用方法』の「CLI ツールを使用したオーバークラウドの作成」および「オーバークラウド作成時の環境ファイルの追加」を参照してください。
3.5. Bare Metal サービスのテスト
OpenStack Integration Test Suite を使用して、Red Hat OpenStack デプロイメントを検証することができます。詳しい情報は、『OpenStack Integration Test Suite Guide』を参照してください。
Bare Metal サービスを検証するその他の方法
Identity に管理ユーザーとしてアクセスするためのシェルを設定します。
$ source ~/overcloudrc
nova-compute
サービスがコントローラーノードで実行中であることを確認します。$ openstack compute service list -c Binary -c Host -c Status
デフォルトの ironic ドライバーを変更した場合には、必要なドライバーを必ず有効にしてください。
$ openstack baremetal driver list
ironic のエンドポイントがリストされていることを確認します。
$ openstack catalog list