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 stack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stack
のパスワードを設定します。プロンプトが表示されたら、新しいパスワードを入力します。passwd stack
[root@director ~]# passwd stack
Copy 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/stack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stack
ユーザーに切り替えます。su - stack
[root@director ~]# su - stack
Copy 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 ~/templates
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらのディレクトリーは、後でオーバークラウド環境を作成するのに使用するシステムイメージファイルと Heat テンプレートファイルを整理します。
インストールおよび設定プロセスには、
/etc/hosts
ファイルのエントリーとともに完全修飾ドメイン名 (FQDN) が必要です。RHOSP-d ノードのホスト名を確認します。
hostname -f
[stack@director ~]$ hostname -f
Copy 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_NAME
Copy 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.com
Copy 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/hosts
Copy 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/hosts
Copy 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 register
Copy 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_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を置き換えます。
POOL_ID は、直前の手順の有効なプール ID に置き換えます。
例
sudo subscription-manager attach --pool=a1b2c3d4e5f6g7h8i9
[stack@director ~]$ sudo subscription-manager attach --pool=a1b2c3d4e5f6g7h8i9
Copy 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-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、ベースシステムソフトウェアを最新のパッケージバージョンに更新し、RHOSP-d ノードを再起動します。
sudo yum update sudo reboot
[stack@director ~]$ sudo yum update [stack@director ~]$ sudo reboot
Copy 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-ansible
Copy 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.conf
Copy 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/24
network_gateway
プロビジョニング
はい
192.0.2.1
undercloud_public_vip
プロビジョニング
はい
192.0.2.2
undercloud_admin_vip
プロビジョニング
はい
192.0.2.3
local_interface
プロビジョニング
はい
eth1
network_cidr
プロビジョニング
はい
192.0.2.0/24
masquerade_network
プロビジョニング
はい
192.0.2.0/24
dhcp_start
プロビジョニング
はい
192.0.2.5
dhcp_end
プロビジョニング
はい
192.0.2.24
inspection_interface
プロビジョニング
いいえ
br-ctlplane
inspection_iprange
プロビジョニング
はい
192.0.2.100,192.0.2.120
inspection_extras
該当なし
はい
true
inspection_runbench
該当なし
はい
false
inspection_enable_uefi
該当なし
はい
true
undercloud.conf
ファイルの編集後に変更を保存します。これらの設定パラメーターの詳細は、アンダークラウド設定パラメーター を参照してください。注記オーバークラウドノードを再び目的にする場合には、Ironic のディスククリーニング機能を有効にすることを検討してください。詳細は、デプロイメント間の Ironic ディスククリーニングを理解する セクションを参照してください。
RHOSP-d 設定スクリプトを実行します。
openstack undercloud install
[stack@director ~]$ openstack undercloud install
Copy 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 stack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHOSP-d コマンドラインツールを使用するように
stack
ユーザーの環境を初期化します。source ~/stackrc
[stack@director ~]$ source ~/stackrc
Copy 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-ipa
Copy 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 ; done
Copy 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 list
Copy 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.ipxe
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
オーバークラウドノードのホスト名が解決されるように DNS サーバーを設定します。
サブネットを一覧表示します。
openstack subnet list
(undercloud) [stack@director ~]$ openstack subnet list
Copy 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_ID
Copy 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-subnet
Copy 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_ID
Copy 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 の設定 セクションを参照してください。