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という名前のユーザーを作成します。useradd stack
[root@director ~]# useradd stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow stackのパスワードを設定します。プロンプトが表示されたら、新しいパスワードを入力します。passwd stack
[root@director ~]# passwd stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow stackユーザーのsudoアクセスを設定します。echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack chmod 0440 /etc/sudoers.d/stack
[root@director ~]# echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack [root@director ~]# chmod 0440 /etc/sudoers.d/stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow stackユーザーに切り替えます。su - stack
[root@director ~]# su - stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHOSP-d のインストールは
stackユーザーとして行われます。
stackユーザーのホームディレクトリーに、2 つの新規ディレクトリーを作成します。1 つはtemplatesと、もう 1 つの名前付きimagesです。mkdir ~/images mkdir ~/templates
[stack@director ~]$ mkdir ~/images [stack@director ~]$ mkdir ~/templatesCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらのディレクトリーは、後でオーバークラウド環境を作成するのに使用するシステムイメージファイルと Heat テンプレートファイルを整理します。
インストールおよび設定プロセスには、
/etc/hostsファイルのエントリーとともに完全修飾ドメイン名 (FQDN) が必要です。RHOSP-d ノードのホスト名を確認します。
hostname -f
[stack@director ~]$ hostname -fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じてホスト名を設定します。
sudo hostnamectl set-hostname FQDN_HOST_NAME sudo hostnamectl set-hostname --transient FQDN_HOST_NAME
sudo hostnamectl set-hostname FQDN_HOST_NAME sudo hostnamectl set-hostname --transient FQDN_HOST_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を置き換えます。
FQDN_HOST_NAME は、RHOSP-d ノードの完全修飾ドメイン名 (FQDN) に置き換えます。
例
sudo hostnamectl set-hostname director.example.com sudo hostnamectl set-hostname --transient director.example.com
[stack@director ~]$ sudo hostnamectl set-hostname director.example.com [stack@director ~]$ sudo hostnamectl set-hostname --transient director.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
sudo echo "127.0.0.1 FQDN_HOST_NAME SHORT_HOST_NAME localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を置き換えます。
- FQDN_HOST_NAME は、RHOSP-d ノードの完全修飾ドメイン名に置き換えます。
SHORT_HOST_NAME は、RHOSP-d ノードの短いドメイン名に置き換えます。
例
sudo echo "127.0.0.1 director.example.com director localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hosts
[stack@director ~]$ sudo echo "127.0.0.1 director.example.com director localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat コンテンツ配信ネットワーク (CDN) に RHOSP-d ノードを登録し、Red Hat Subscription Manager を使用して必要な Red Hat ソフトウェアリポジトリーを有効にします。
RHOSP-d ノードを登録します。
sudo subscription-manager register
[stack@director ~]$ sudo subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、承認されたカスタマーポータルのユーザー名とパスワードを入力します。
RHOSP エンタイトルメントの有効な
Pool IDを検索します。sudo subscription-manager list --available --all --matches="*Hyperconverged*"
[stack@director ~]$ sudo subscription-manager list --available --all --matches="*Hyperconverged*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の手順の
Pool IDを使用して、RHOSP のエンタイトルメントをアタッチします。sudo subscription-manager attach --pool=POOL_ID
[stack@director ~]$ sudo subscription-manager attach --pool=POOL_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を置き換えます。
POOL_ID は、直前の手順の有効なプール ID に置き換えます。
例
sudo subscription-manager attach --pool=a1b2c3d4e5f6g7h8i9
[stack@director ~]$ sudo subscription-manager attach --pool=a1b2c3d4e5f6g7h8i9Copy to Clipboard Copied! Toggle word wrap Toggle overflow
デフォルトのソフトウェアリポジトリーを無効にし、必要なソフトウェアリポジトリーを有効にします。
sudo subscription-manager repos --disable=* 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
[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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、ベースシステムソフトウェアを最新のパッケージバージョンに更新し、RHOSP-d ノードを再起動します。
sudo yum update sudo reboot
[stack@director ~]$ sudo yum update [stack@director ~]$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードが完全に起動し、実行されるのを待ってから次のステップに進みます。
すべての RHOSP-d ソフトウェアパッケージをインストールします。
sudo yum install python-tripleoclient ceph-ansible
[stack@director ~]$ sudo yum install python-tripleoclient ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHOSP-d ソフトウェアを設定します。
Red Hat は、使用する基本的なアンダークラウド設定テンプレートを提供しています。
undercloud.conf.sampleファイルをundercloud.confという名前のstackユーザーのホームディレクトリーにコピーします。cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf
[stack@director ~]$ cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow アンダークラウド設定テンプレートには、
[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 設定スクリプトを実行します。
openstack undercloud install
[stack@director ~]$ openstack undercloud installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このスクリプトが完了するまで数分かかります。このスクリプトは、追加のソフトウェアパッケージをインストールし、2 つのファイルを生成します。
undercloud-passwords.conf- director サービスの全パスワード一覧
stackrc- director のコマンドラインツールへアクセスできるようにする初期化変数セット
設定スクリプトがすべての RHOSP サービスを開始および有効化していることを確認します。
sudo systemctl list-units openstack-*
[stack@director ~]$ sudo systemctl list-units openstack-*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定スクリプトにより、
stackユーザーにすべてのコンテナー管理コマンドにアクセスできます。stackユーザーの権限をリフレッシュします。exec su -l stack
[stack@director ~]$ exec su -l stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHOSP-d コマンドラインツールを使用するように
stackユーザーの環境を初期化します。source ~/stackrc
[stack@director ~]$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドプロンプトが変更されます。これは、OpenStack コマンドが認証してアンダークラウドに対して実行されることを示します。
例
(undercloud) [stack@director ~]$Copy to Clipboard Copied! Toggle word wrap Toggle overflow
RHOSP-d では、オーバークラウドノードをプロビジョニングするために複数のディスクイメージが必要です。
rhosp-director-imagesおよびrhosp-director-images-ipaソフトウェアパッケージをインストールして、これらのディスクイメージを取得します。sudo yum install rhosp-director-images rhosp-director-images-ipa
(undercloud) [stack@director ~]$ sudo yum install rhosp-director-images rhosp-director-images-ipaCopy to Clipboard Copied! Toggle word wrap Toggle overflow アーカイブファイルを
stackユーザーのホームディレクトリー内のimagesディレクトリーに展開します。cd ~/images 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
(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 ; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow ディスクイメージを RHOSP-d にインポートします。
openstack overcloud image upload --image-path /home/stack/images/
(undercloud) [stack@director ~]$ openstack overcloud image upload --image-path /home/stack/images/Copy to Clipboard Copied! Toggle word wrap Toggle overflow インポートしたディスクイメージの一覧を表示するには、以下のコマンドを実行します。
openstack image list
(undercloud) [stack@director ~]$ openstack image listCopy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 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/ディレクトリーにコピーされます。ls -l /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.ipxeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
オーバークラウドノードのホスト名が解決されるように DNS サーバーを設定します。
サブネットを一覧表示します。
openstack subnet list
(undercloud) [stack@director ~]$ openstack subnet listCopy to Clipboard Copied! Toggle word wrap Toggle overflow アンダークラウドの
neutronサブネットを使用してネームサーバーを定義します。openstack subnet set --dns-nameserver DNS_NAMESERVER_IP SUBNET_NAME_or_ID
openstack subnet set --dns-nameserver DNS_NAMESERVER_IP SUBNET_NAME_or_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を置き換えます。
- DNS_NAMESERVER_IP は、DNS サーバーの IP アドレスに置き換えます。
SUBNET_NAME_or_ID は、
neutronサブネット名または ID に置き換えます。例
openstack subnet set --dns-nameserver 192.0.2.4 local-subnet
(undercloud) [stack@director ~]$ openstack subnet set --dns-nameserver 192.0.2.4 local-subnetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記各ネームサーバーに
--dns-nameserver DNS_NAMESERVER_IPオプションを再利用します。
サブネットの詳細を表示して、DNS サーバーを確認します。
openstack subnet show SUBNET_NAME_or_ID
(undercloud) [stack@director ~]$ openstack subnet show SUBNET_NAME_or_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を置き換えます。
SUBNET_NAME_or_ID は、
neutronサブネット名または ID に置き換えます。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
-
undercloud.confファイルにあるすべてのアンダークラウド設定パラメーターについての詳しい情報は、RHOSP director のインストールと使用方法の Director の設定 セクションを参照してください。