第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 ~/overcloudrcnetwork_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_provisioningnic-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 ~/overcloudrcnova-computeサービスがコントローラーノードで実行中であることを確認します。$ openstack compute service list -c Binary -c Host -c Statusデフォルトの ironic ドライバーを変更した場合には、必要なドライバーを必ず有効にしてください。
$ openstack baremetal driver listironic のエンドポイントがリストされていることを確認します。
$ openstack catalog list