2016年8月3日水曜日

Oracle OpenStack R 2.1 | Master Node での サービス デプロイ設定。

この投稿は、下記の一部です。
Oracle OpenStack for Oracle Linux R 2.1 をためす。(2016年07月 版)

今回は、Master Node の kollacli で、
Oracle OpenStack for Oracle Linux R 2.1 をデプロイするための設定をします。

前提について。

Master Node として、下記のようにサーバを構築してあります。
Oracle OpenStack R 2.1 | Master Node の構築。

また、Target Node として、opst-ctl01、opst-ctl02、opst-host01 という
3台のサーバを構築ずみで、Master Node から SSH で接続可能な状態にしてあります。
また、それぞれ DNS サーバに登録してあります。

Oracle Linux 7 でのTarget Node (Controller Node) むけ設定。
→ opst-ctl01、opst-ctl02

Oracle VM Server 3.4 でのTarget Node (Compute Node) むけ設定。
→ opst-host01 


今回の流れ。

Master Node に kolla ユーザでログインして、kollacli で設定します。
  1. Target Node の登録とセットアップ
  2. Target Node のグループへの追加
  3. Target Node のプロパティ設定

1. Target Node の登録とセットアップ。

kolla ユーザで設定します。
[root@opst-master ~]# su - kolla
-bash-4.2$ id
uid=995(kolla) gid=991(kolla) groups=991(kolla),992(docker)

最初は未登録の状態です。
-bash-4.2$ kollacli host list
+------+--------+
| Host | Groups |
+------+--------+
|      |        |
+------+--------+
-bash-4.2$

Target を登録します。
-bash-4.2$ kollacli host add opst-ctl01.gowatana.lab
-bash-4.2$ kollacli host add opst-ctl02.gowatana.lab
-bash-4.2$ kollacli host add opst-host01.gowatana.lab

登録されました。
-bash-4.2$ kollacli host list
+--------------------------+--------+
| Host                     | Groups |
+--------------------------+--------+
| opst-ctl01.gowatana.lab  | []     |
| opst-ctl02.gowatana.lab  | []     |
| opst-host01.gowatana.lab | []     |
+--------------------------+--------+
-bash-4.2$

Target Node のセットアップ。

Controller Node #1
-bash-4.2$ kollacli host setup opst-ctl01.gowatana.lab
root password for opst-ctl01.gowatana.lab: ★パスワード入力
Starting setup of host (opst-ctl01.gowatana.lab).
Host (opst-ctl01.gowatana.lab) setup succeeded.

Controller Node #2
-bash-4.2$ kollacli host setup opst-ctl02.gowatana.lab
root password for opst-ctl02.gowatana.lab: ★パスワード入力
Starting setup of host (opst-ctl02.gowatana.lab).
Host (opst-ctl02.gowatana.lab) setup succeeded.

Compute Node
-bash-4.2$ kollacli host setup opst-host01.gowatana.lab
root password for opst-host01.gowatana.lab: ★パスワード入力
Starting setup of host (opst-host01.gowatana.lab).
Host (opst-host01.gowatana.lab) setup succeeded.

チェックします。3台とも、success となっています。
-bash-4.2$ kollacli host check all
Host (opst-ctl02.gowatana.lab): success
Host (opst-ctl01.gowatana.lab): success
Host (opst-host01.gowatana.lab): success
-bash-4.2$

2. Target Node のグループへの追加。

Controller Node は、control、database、network、storage グループに含めます。
-bash-4.2$ kollacli group addhost control opst-ctl01.gowatana.lab
-bash-4.2$ kollacli group addhost control opst-ctl02.gowatana.lab
-bash-4.2$ kollacli group addhost database opst-ctl01.gowatana.lab
-bash-4.2$ kollacli group addhost database opst-ctl02.gowatana.lab
-bash-4.2$ kollacli group addhost network opst-ctl01.gowatana.lab
-bash-4.2$ kollacli group addhost network opst-ctl02.gowatana.lab
-bash-4.2$ kollacli group addhost storage opst-ctl01.gowatana.lab
-bash-4.2$ kollacli group addhost storage opst-ctl02.gowatana.lab

Compute Node は、compute  グループに含めます。
-bash-4.2$ kollacli group addhost compute opst-host01.gowatana.lab

こうなります。
-bash-4.2$ kollacli group listhosts
+----------+--------------------------------------------------------+
| Group    | Hosts                                                  |
+----------+--------------------------------------------------------+
| compute  | ['opst-host01.gowatana.lab']                           |
| control  | ['opst-ctl01.gowatana.lab', 'opst-ctl02.gowatana.lab'] |
| database | ['opst-ctl01.gowatana.lab', 'opst-ctl02.gowatana.lab'] |
| network  | ['opst-ctl01.gowatana.lab', 'opst-ctl02.gowatana.lab'] |
| storage  | ['opst-ctl01.gowatana.lab', 'opst-ctl02.gowatana.lab'] |
+----------+--------------------------------------------------------+
-bash-4.2$

host list ではこうなります。
-bash-4.2$ kollacli host list
+--------------------------+-----------------------------------------------+
| Host                     | Groups                                        |
+--------------------------+-----------------------------------------------+
| opst-ctl01.gowatana.lab  | ['control', 'storage', 'network', 'database'] |
| opst-ctl02.gowatana.lab  | ['control', 'storage', 'network', 'database'] |
| opst-host01.gowatana.lab | ['compute']                                   |
+--------------------------+-----------------------------------------------+
-bash-4.2$

3. プロパティの設定。

今回の環境に合わせて、デプロイで使用するプロパティを設定していきます。
Docker Registry のアドレスを指定します。
-bash-4.2$ kollacli property set docker_registry opst-registry.gowatana.lab:5443

Controller Node (network)のアドレスと、インターフェースの設定です。
kolla_internal_address には、この時点では OS に未設定のアドレスを指定します。
network_interface は、1つ目の NIC、
neutron_external_interface は、2つ目の NIC を指定しています。
-bash-4.2$ kollacli property set kolla_internal_address 192.168.1.180
-bash-4.2$ kollacli property set network_interface eno16780032
-bash-4.2$ kollacli property set neutron_external_interface eno33559296

Compute Node は、Oracle VM Server なので、OS での NIC の名前が異なります。
NIC は1つしかありませんが、デフォルトで構成される bonding のインターフェースを指定します。
compute グループ単位でも設定できそうですが、今回はうまく設定できなかったので
host 単位で設定しています。
-bash-4.2$ kollacli property set network_interface bond0 --host opst-host01.gowatana.lab

設定したプロパティを確認しておきます。

docker_registry です。
-bash-4.2$ kollacli property list | grep docker_registry
| *-- | docker_registry                                  | opst-registry.gowatana.lab:5443                   |
| --- | docker_registry_username                         | None                                              |
-bash-4.2$

ネットワーク まわり。
-bash-4.2$ kollacli property list | grep address
| --- | ceilometer_admin_address                         | {{ kolla_internal_address }}                      |
| --- | ceilometer_database_address                      | {{ kolla_internal_address }}                      |
| --- | ceilometer_internal_address                      | {{ kolla_internal_address }}                      |
| --- | ceilometer_public_address                        | {{ kolla_external_address }}                      |
| --- | cinder_admin_address                             | {{ kolla_internal_address }}                      |
| --- | cinder_database_address                          | {{ kolla_internal_address }}                      |
| --- | cinder_internal_address                          | {{ kolla_internal_address }}                      |
| --- | cinder_public_address                            | {{ kolla_external_address }}                      |
| --- | database_address                                 | {{ kolla_internal_address }}                      |
| --- | glance_admin_address                             | {{ kolla_internal_address }}                      |
| --- | glance_database_address                          | {{ kolla_internal_address }}                      |
| --- | glance_internal_address                          | {{ kolla_internal_address }}                      |
| --- | glance_public_address                            | {{ kolla_external_address }}                      |
| --- | heat_admin_address                               | {{ kolla_internal_address }}                      |
| --- | heat_database_address                            | {{ kolla_internal_address }}                      |
| --- | heat_internal_address                            | {{ kolla_internal_address }}                      |
| --- | heat_public_address                              | {{ kolla_external_address }}                      |
| --- | horizon_database_address                         | {{ kolla_internal_address }}                      |
| --- | keystone_admin_address                           | {{ kolla_internal_address }}                      |
| --- | keystone_database_address                        | {{ kolla_internal_address }}                      |
| --- | keystone_internal_address                        | {{ kolla_internal_address }}                      |
| --- | keystone_public_address                          | {{ kolla_external_address }}                      |
| --- | kolla_admin_address                              | {{ kolla_internal_address }}                      |
| --- | kolla_external_address                           | {{ kolla_internal_address }}                      |
| --- | kolla_internal_address                           | 192.168.1.180                                     |
| --- | murano_admin_address                             | {{ kolla_internal_address }}                      |
| --- | murano_database_address                          | {{ kolla_internal_address }}                      |
| --- | murano_internal_address                          | {{ kolla_internal_address }}                      |
| --- | murano_public_address                            | {{ kolla_external_address }}                      |
| --- | neutron_admin_address                            | {{ kolla_internal_address }}                      |
| --- | neutron_database_address                         | {{ kolla_internal_address }}                      |
| --- | neutron_internal_address                         | {{ kolla_internal_address }}                      |
| --- | neutron_public_address                           | {{ kolla_external_address }}                      |
| --- | nova_admin_address                               | {{ kolla_internal_address }}                      |
| --- | nova_database_address                            | {{ kolla_internal_address }}                      |
| --- | nova_internal_address                            | {{ kolla_internal_address }}                      |
| --- | nova_public_address                              | {{ kolla_external_address }}                      |
| --- | swift_admin_address                              | {{ kolla_internal_address }}                      |
| --- | swift_internal_address                           | {{ kolla_internal_address }}                      |
| --- | swift_public_address                             | {{ kolla_external_address }}                      |
-bash-4.2$

ネットワーク まわりの、Controller Node 固有の部分です。
-bash-4.2$ kollacli property list | grep interface
| --- | api_interface                                    | {{ network_interface }}                           |
| *-H | network_interface                                | eno16780032                                       |
| *-- | neutron_external_interface                       | eno33559296                                       |
| --- | neutron_vlan_interface                           | -                                                 |
| --- | storage_interface                                | {{ network_interface }}                           |
| --- | tunnel_interface                                 | {{ network_interface }}                           |
-bash-4.2$


ネットワークまわりの、Compute Node の固有部分です。
-bash-4.2$ kollacli property list --hosts opst-host01.gowatana.lab
+-----+-------------------+----------------+--------------------------+
| OVR | Property Name     | Property Value | Host                     |
+-----+-------------------+----------------+--------------------------+
| *-H | network_interface | bond0          | opst-host01.gowatana.lab |
+-----+-------------------+----------------+--------------------------+
-bash-4.2$

デプロイ前のチェックをしておきます。
PLAY RECAP が、すべて ok になることを確認します。
-bash-4.2$ kollacli host check --predeploy all

FLUSHING FACT CACHE ***********************************************************

PLAY [all] ********************************************************************

GATHERING FACTS ***************************************************************
ok: [opst-ctl01.gowatana.lab]
ok: [opst-ctl02.gowatana.lab]
ok: [opst-host01.gowatana.lab]

TASK: [prechecks | Checking the network_interface is present] *****************
skipping: [opst-ctl01.gowatana.lab]
skipping: [opst-ctl02.gowatana.lab]
skipping: [opst-host01.gowatana.lab]

(省略)

PLAY RECAP ********************************************************************
opst-ctl01.gowatana.lab    : ok=49   changed=0    unreachable=0    failed=0
opst-ctl02.gowatana.lab    : ok=49   changed=0    unreachable=0    failed=0
opst-host01.gowatana.lab   : ok=4    changed=0    unreachable=0    failed=0

Success
-bash-4.2$

つづく。

0 件のコメント:

コメントを投稿