3.3. アンダークラウドのインストール
アンダークラウドをインストールするには、いくつかのステップを完了する必要があります。以下の手順では、アンダークラウドとして Red Hat OpenStack Platform director (RHOSP-d) をインストールします。インストール手順の概要を以下に示します。
- インストールユーザーを作成します。
- テンプレートとイメージのディレクトリーを作成する
- RHOSP-d ノード名を確認/設定します。
- RHOSP-d ノードを登録します。
- RHOSP-d ソフトウェアをインストールします。
- RHOSP-d ソフトウェアを設定します。
- オーバークラウドのディスクイメージを取得してインポートします。
- アンダークラウドのサブネットに DNS サーバーを設定します。
前提条件
- Red Hat のコンテンツ配信ネットワーク(CDN)から Red Hat のソフトウェアリポジトリーにアクセスできる。
-
Red Hat OpenStack Platform director (RHOSP-d)ノードへの
rootアクセスがある。
手順
RHOSP-d のインストールには、インストールを行うために
sudo権限を持つ root 以外のユーザーが必要です。stackという名前のユーザーを作成します。[root@director ~]# useradd stackstackのパスワードを設定します。プロンプトが表示されたら、新しいパスワードを入力します。[root@director ~]# passwd stackstackユーザーのsudoアクセスを設定します。[root@director ~]# echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack [root@director ~]# chmod 0440 /etc/sudoers.d/stackstackユーザーに切り替えます。[root@director ~]# su - stackRHOSP-d のインストールは
stackユーザーとして行われます。
stackユーザーのホームディレクトリーに、2 つの新規ディレクトリーを作成します。1 つはtemplatesと、もう 1 つの名前付きimagesです。[stack@director ~]$ mkdir ~/images [stack@director ~]$ mkdir ~/templatesこれらのディレクトリーは、後でオーバークラウド環境を作成するのに使用するシステムイメージファイルと Heat テンプレートファイルを整理します。
インストールおよび設定プロセスには、
/etc/hostsファイルのエントリーとともに完全修飾ドメイン名 (FQDN) が必要です。RHOSP-d ノードのホスト名を確認します。
[stack@director ~]$ hostname -f必要に応じてホスト名を設定します。
sudo hostnamectl set-hostname FQDN_HOST_NAME sudo hostnamectl set-hostname --transient FQDN_HOST_NAME- 以下を置き換えます。
FQDN_HOST_NAME は、RHOSP-d ノードの完全修飾ドメイン名 (FQDN) に置き換えます。
例
[stack@director ~]$ sudo hostnamectl set-hostname director.example.com [stack@director ~]$ sudo hostnamectl set-hostname --transient director.example.com
RHOSP-d ノード名のエントリーを
/etc/hostsファイルに追加します。/etc/hostsファイルに以下の行を追加します。sudo echo "127.0.0.1 FQDN_HOST_NAME SHORT_HOST_NAME localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hosts- 以下を置き換えます。
- FQDN_HOST_NAME は、RHOSP-d ノードの完全修飾ドメイン名に置き換えます。
SHORT_HOST_NAME は、RHOSP-d ノードの短いドメイン名に置き換えます。
例
[stack@director ~]$ sudo echo "127.0.0.1 director.example.com director localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hosts
Red Hat コンテンツ配信ネットワーク (CDN) に RHOSP-d ノードを登録し、Red Hat Subscription Manager を使用して必要な Red Hat ソフトウェアリポジトリーを有効にします。
RHOSP-d ノードを登録します。
[stack@director ~]$ sudo subscription-manager registerプロンプトが表示されたら、承認されたカスタマーポータルのユーザー名とパスワードを入力します。
RHOSP エンタイトルメントの有効な
Pool IDを検索します。[stack@director ~]$ sudo subscription-manager list --available --all --matches="*Hyperconverged*"出力例
Subscription Name: Red Hat Hyperconverged Infrastructure for Cloud Provides: Red Hat OpenStack Red Hat Ceph Storage SKU: RS00160 Contract: 1111111 Pool ID: a1b2c3d4e5f6g7h8i9 Provides Management: Yes Available: 1 Suggested: 1 Service Level: Self-Support Service Type: L1-L3 Subscription Type: Standard Ends: 05/27/2018 System Type: Virtual前の手順の
Pool IDを使用して、RHOSP のエンタイトルメントをアタッチします。[stack@director ~]$ sudo subscription-manager attach --pool=POOL_ID- 以下を置き換えます。
POOL_ID は、直前の手順の有効なプール ID に置き換えます。
例
[stack@director ~]$ sudo subscription-manager attach --pool=a1b2c3d4e5f6g7h8i9
デフォルトのソフトウェアリポジトリーを無効にし、必要なソフトウェアリポジトリーを有効にします。
[stack@director ~]$ sudo subscription-manager repos --disable=* [stack@director ~]$ sudo subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms --enable=rhel-ha-for-rhel-7-server-rpms --enable=rhel-7-server-openstack-13-rpms必要に応じて、ベースシステムソフトウェアを最新のパッケージバージョンに更新し、RHOSP-d ノードを再起動します。
[stack@director ~]$ sudo yum update [stack@director ~]$ sudo rebootノードが完全に起動し、実行されるのを待ってから次のステップに進みます。
すべての RHOSP-d ソフトウェアパッケージをインストールします。
[stack@director ~]$ sudo yum install python-tripleoclient ceph-ansibleRHOSP-d ソフトウェアを設定します。
Red Hat は、使用する基本的なアンダークラウド設定テンプレートを提供しています。
undercloud.conf.sampleファイルをundercloud.confという名前のstackユーザーのホームディレクトリーにコピーします。[stack@director ~]$ cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.confアンダークラウド設定テンプレートには、
[DEFAULT]と[auth]の 2 つのセクションが含まれます。undercloud.confファイルを開いて編集します。undercloud_hostnameを RHOSP-d ノード名で編集します。パラメーターの前に#を削除して、undercloud.confファイルの[DEFAULT]セクションの下にある以下のパラメーターのコメントを解除します。このソリューションのネットワーク設定に必要な適切な値でパラメーター値を編集します。Expand パラメーター
ネットワーク
値の編集
値の例
local_ipプロビジョニング
はい
192.0.2.1/24network_gatewayプロビジョニング
はい
192.0.2.1undercloud_public_vipプロビジョニング
はい
192.0.2.2undercloud_admin_vipプロビジョニング
はい
192.0.2.3local_interfaceプロビジョニング
はい
eth1network_cidrプロビジョニング
はい
192.0.2.0/24masquerade_networkプロビジョニング
はい
192.0.2.0/24dhcp_startプロビジョニング
はい
192.0.2.5dhcp_endプロビジョニング
はい
192.0.2.24inspection_interfaceプロビジョニング
いいえ
br-ctlplaneinspection_iprangeプロビジョニング
はい
192.0.2.100,192.0.2.120inspection_extras該当なし
はい
trueinspection_runbench該当なし
はい
falseinspection_enable_uefi該当なし
はい
trueundercloud.confファイルの編集後に変更を保存します。これらの設定パラメーターの詳細は、アンダークラウド設定パラメーター を参照してください。注記オーバークラウドノードを再び目的にする場合には、Ironic のディスククリーニング機能を有効にすることを検討してください。詳細は、デプロイメント間の Ironic ディスククリーニングを理解する セクションを参照してください。
RHOSP-d 設定スクリプトを実行します。
[stack@director ~]$ openstack undercloud install注記このスクリプトが完了するまで数分かかります。このスクリプトは、追加のソフトウェアパッケージをインストールし、2 つのファイルを生成します。
undercloud-passwords.conf- director サービスの全パスワード一覧
stackrc- director のコマンドラインツールへアクセスできるようにする初期化変数セット
設定スクリプトがすべての RHOSP サービスを開始および有効化していることを確認します。
[stack@director ~]$ sudo systemctl list-units openstack-*設定スクリプトにより、
stackユーザーにすべてのコンテナー管理コマンドにアクセスできます。stackユーザーの権限をリフレッシュします。[stack@director ~]$ exec su -l stackRHOSP-d コマンドラインツールを使用するように
stackユーザーの環境を初期化します。[stack@director ~]$ source ~/stackrcコマンドプロンプトが変更されます。これは、OpenStack コマンドが認証してアンダークラウドに対して実行されることを示します。
例
(undercloud) [stack@director ~]$
RHOSP-d では、オーバークラウドノードをプロビジョニングするために複数のディスクイメージが必要です。
rhosp-director-imagesおよびrhosp-director-images-ipaソフトウェアパッケージをインストールして、これらのディスクイメージを取得します。(undercloud) [stack@director ~]$ sudo yum install rhosp-director-images rhosp-director-images-ipaアーカイブファイルを
stackユーザーのホームディレクトリー内のimagesディレクトリーに展開します。(undercloud) [stack@director ~]$ cd ~/images (undercloud) [stack@director ~]$ for x in /usr/share/rhosp-director-images/overcloud-full-latest-13.0.tar /usr/share/rhosp-director-images/ironic-python-agent-latest-13.0.tar ; do tar -xvf $x ; doneディスクイメージを RHOSP-d にインポートします。
(undercloud) [stack@director ~]$ openstack overcloud image upload --image-path /home/stack/images/インポートしたディスクイメージの一覧を表示するには、以下のコマンドを実行します。
(undercloud) [stack@director ~]$ openstack image listExpand Image Name
イメージタイプ
Image Description
bm-deploy-kernelデプロイメント
システムのプロビジョニングとデプロイに使用されるカーネルファイル。
bm-deploy-ramdiskデプロイメント
システムのプロビジョニングとデプロイに使用する ramdisk ファイル。
overcloud-full-vmlinuzオーバークラウド
ノードのディスクに書き込まれるベースシステムに使用されるカーネルファイル。
overcloud-full-initrdオーバークラウド
ノードのディスクに書き込まれるベースシステムに使用する ramdisk ファイル。
overcloud-fullオーバークラウド
ノードのディスクに書き込まれるベースシステムに必要な残りのソフトウェア。
注記openstack image listコマンドは、イントロスペクション PXE ディスクイメージを表示しません。イントロスペクション PXE ディスクイメージが/httpboot/ディレクトリーにコピーされます。(undercloud) [stack@director images]$ ls -l /httpboot total 341460 -rwxr-xr-x. 1 root root 5153184 Mar 31 06:58 agent.kernel -rw-r--r--. 1 root root 344491465 Mar 31 06:59 agent.ramdisk -rw-r--r--. 1 ironic-inspector ironic-inspector 337 Mar 31 06:23 inspector.ipxe
オーバークラウドノードのホスト名が解決されるように DNS サーバーを設定します。
サブネットを一覧表示します。
(undercloud) [stack@director ~]$ openstack subnet listアンダークラウドの
neutronサブネットを使用してネームサーバーを定義します。openstack subnet set --dns-nameserver DNS_NAMESERVER_IP SUBNET_NAME_or_ID- 以下を置き換えます。
- DNS_NAMESERVER_IP は、DNS サーバーの IP アドレスに置き換えます。
SUBNET_NAME_or_ID は、
neutronサブネット名または ID に置き換えます。例
(undercloud) [stack@director ~]$ openstack subnet set --dns-nameserver 192.0.2.4 local-subnet注記各ネームサーバーに
--dns-nameserver DNS_NAMESERVER_IPオプションを再利用します。
サブネットの詳細を表示して、DNS サーバーを確認します。
(undercloud) [stack@director ~]$ openstack subnet show SUBNET_NAME_or_ID- 以下を置き換えます。
SUBNET_NAME_or_ID は、
neutronサブネット名または ID に置き換えます。例
(undercloud) [stack@director ~]$ openstack subnet show local-subnet +-------------------+-----------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------+ | ... | | | dns_nameservers | 192.0.2.4 | | ... | | +-------------------+-----------------------------------------------+
関連情報
-
undercloud.confファイルにあるすべてのアンダークラウド設定パラメーターについての詳しい情報は、RHOSP director のインストールと使用方法の Director の設定 セクションを参照してください。