2018年5月15日火曜日

packstack で構築した OpenStack 上にホストを 1 台追加してみる

概要

ホスト用の VM (CentOS7) を 1 台作成してそれを OpenStack 配下にホストとして登録してみました

環境

  • CentOS 7.4 64bit
  • packstack 12.0.0
  • OpenStack Queens

answer ファイルの修正

ホームディレクトリ配下にある packstack-answers ファイルを編集します

  • vim packstack-answers-20180510-163950.txt
CONFIG_COMPUTE_HOSTS=192.168.100.1,192.168.100.2

CONFIG_COMPUTE_HOSTS に追加したいホストの IP を記載します
192.168.100.2 が今回新たに作成した VM でホストとして追加する対象になります
同じように NETWORK や STORAGE の項目もあり OpenStack はコンポーネントごとに登録したいホストを選択することができます

EXCLUDE_SERVERS=192.168.100.1

またこれまで standalone であったノードは EXCLUDE_SERVERS に追加します

id_rsa.pub の登録

追加するホストにコントローラ用のホストから SSH 出来る必要があります
コントローラホストの ~/.ssh/id_rsa.pub を追加する対象のホストの ~/.ssh/authorized_keys に追記しましょう

これでコントローラホストから追加対象のホストに公開鍵を使ったノンパスでの SSH 認証ができるようになります
Permission denied(publickey) などが出る場合は ~/.ssh/authorized_keys にコピペした内容が間違っていないか確認してください
改行や余分なスペースなどが入っていても当該エラーが発生します

NetworkManager を停止する

追加対象のホストで実施します

  • systemctl start network
  • systemctl stop NetworkManager

ホスト名を変更する

追加対象のホストで実施します
localhost.localdomain のままだとすでにあるノードと被ってしまい追加できないので変更します

  • hostnamectl set-hostname compute0
  • reboot -h now

ホストを登録する

あとは answers ファイルを使って再度 packstack コマンドを実行します

  • packstack --answer-file=packstack-answers-20180510-163950.txt

puppet によるマイグレートが再度走るので気長に待ちましょう
以下のようになれば成功です

 **** Installation completed successfully ******

Additional information:
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
 * File /root/keystonerc_admin has been created on OpenStack client host 192.168.100.1. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://192.168.100.1/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * The installation log file is available at: /var/tmp/packstack/20180511-101818-jVIdOL/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20180511-101818-jVIdOL/manifests

動作確認

  • source /root/keystonerc_admin
  • nova hypervisor-list
+--------------------------------------+-----------------------+-------+---------+
| ID                                   | Hypervisor hostname   | State | Status  |
+--------------------------------------+-----------------------+-------+---------+
| 0dd06146-f9ec-410f-9a46-20df27791819 | localhost.localdomain | up    | enabled |
| 3bcf902b-cc90-453c-881c-4fab30aa8e4f | compute0              | up    | enabled |
+--------------------------------------+-----------------------+-------+---------+

こんな感じで追加されていれば OK です
UI で確認すると以下のように見えます
openstack_add_host_1.png

最後に

OpenStack にホストを 1 台追加してみました
これで standalone だった環境に専用のホストができました
今回はこれまでの standalone ノードもホストノードとして残しています
もし、コントローラ専用ノードにしたい場合は answers ファイルの CONFIG_COMPUTE_HOSTS から除外すれば OK です
同じように VM を作成してホストとして追加すれば 2 台目を追加することができます

また、nova コマンドが Queens というバージョンからだいぶ変わっているので man コマンドや help コマンドを使ってどう使えば良いか確認してください

参考サイト

0 件のコメント:

コメントを投稿