CentOS Stream 9
Sponsored Link

OpenStack Dalmatian : Compute ノードを追加する2024/10/10

 

Computeノードを追加します。
Computeノードを追加することにより、より多くのインスタンスを扱うことができます。

以下では、Nova Compute の設定のみを例示しています。
実際に新規追加ノードで仮想マシンインスタンスを起動する場合は、Network コンポーネントの設定も必要になります。
Neutron with ML2 または Neutron with OVN

当例では以下のような環境を例に Nova Compute ノードを追加します。

------------+--------------------------+------------
            |                          |
        eth0|10.0.0.30             eth0|10.0.0.51
+-----------+-----------+  +-----------+-----------+
|   [ dlp.srv.world ]   |  |  [ node01.srv.world ] |
|     (Control Node)    |  |     (Compute Node)    |
|                       |  |                       |
|  MariaDB    RabbitMQ  |  |        Libvirt        |
|  Memcached  Nginx     |  |      Nova Compute     |
|  Keystone   httpd     |  |                       |
|  Glance     Nova API  |  |                       |
+-----------------------+  +-----------------------+

[1]

追加する Compute ノードに、こちらの [3] を参考にして OpenStack Dalmatian リポジトリを追加しておきます

[2]

追加する Compute ノードに、こちらを参考にして KVM ハイパーバイザーをインストールしておきます
なお、リンク先 [2] のブリッジの設定は不要です。

[3] Nova-Compute をインストールします。
# Dalmatian, EPEL, CRB からインストール

[root@node01 ~]#
dnf --enablerepo=centos-openstack-dalmatian,epel,crb -y install openstack-nova-compute
[4] Nova の基本設定です。
[root@node01 ~]#
mv /etc/nova/nova.conf /etc/nova/nova.conf.org

[root@node01 ~]#
vi /etc/nova/nova.conf
# 新規作成

[DEFAULT]
state_path = /var/lib/nova
enabled_apis = osapi_compute,metadata
log_dir = /var/log/nova
# RabbitMQ サーバー接続情報
transport_url = rabbit://openstack:password@dlp.srv.world
compute_driver = libvirt.LibvirtDriver

[api]
auth_strategy = keystone

[vnc]
enabled = True
# インスタンスがリスンする IP アドレス
# ノードの IP アドレスを指定
server_listen = 10.0.0.51
server_proxyclient_address = 10.0.0.51
novncproxy_base_url = https://dlp.srv.world:6080/vnc_auto.html

# Glance サーバーを指定
[glance]
api_servers = https://dlp.srv.world:9292

[oslo_concurrency]
lock_path = $state_path/tmp

# Keystone サーバー接続情報
[keystone_authtoken]
www_authenticate_uri = https://dlp.srv.world:5000
auth_url = https://dlp.srv.world:5000
memcached_servers = dlp.srv.world:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = servicepassword
# httpd Keystone で自己署名の証明書を使用の場合は [true]
insecure = false

[placement]
auth_url = https://dlp.srv.world:5000
os_region_name = RegionOne
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = placement
password = servicepassword
# httpd Keystone で自己署名の証明書を使用の場合は [true]
insecure = false

[wsgi]
api_paste_config = /etc/nova/api-paste.ini

[oslo_policy]
enforce_new_defaults = true

[root@node01 ~]#
chmod 640 /etc/nova/nova.conf

[root@node01 ~]#
chgrp nova /etc/nova/nova.conf

[5] SELinux を有効にしている場合は、ポリシーの変更が必要です。
[root@node01 ~]#
dnf --enablerepo=centos-openstack-dalmatian -y install openstack-selinux

[root@node01 ~]#
vi lsmd.te
# 以下の内容で新規作成

module lsmd 1.0;

require {
        type pasta_exec_t;
        type lsmd_t;
        class lnk_file getattr;
}

#============= lsmd_t ==============
allow lsmd_t pasta_exec_t:lnk_file getattr;

[root@node01 ~]#
checkmodule -m -M -o lsmd.mod lsmd.te

[root@node01 ~]#
semodule_package --outfile lsmd.pp --module lsmd.mod

[root@node01 ~]#
semodule -i lsmd.pp

[6] Firewalld を有効にしている場合は、サービスポートの許可が必要です。
[root@node01 ~]#
firewall-cmd --add-port=5900-5999/tcp

success
[root@node01 ~]#
firewall-cmd --runtime-to-permanent

success
[7] Nova Compute サービス起動を起動します。
[root@node01 ~]#
systemctl enable --now openstack-nova-compute

[8] Control ノード上でサービスの稼働状況を確認します。以下のように計算ノード分が追加されていれば OK です。
# Compute ノード ディスカバー

[root@dlp ~(keystone)]#
su -s /bin/bash nova -c "nova-manage cell_v2 discover_hosts"
[root@dlp ~(keystone)]#
openstack compute service list

+--------------------------------------+----------------+------------------+----------+---------+-------+----------------------------+
| ID                                   | Binary         | Host             | Zone     | Status  | State | Updated At                 |
+--------------------------------------+----------------+------------------+----------+---------+-------+----------------------------+
| de300d77-76e6-47c1-9015-ccffdfb1925c | nova-scheduler | dlp.srv.world    | internal | enabled | up    | 2024-10-10T00:47:28.000000 |
| e3f6d0c7-d55e-40c7-a466-5d52502a8c5f | nova-conductor | dlp.srv.world    | internal | enabled | up    | 2024-10-10T00:47:28.000000 |
| a2fa2107-090f-418e-9342-ac648a33e517 | nova-compute   | dlp.srv.world    | nova     | enabled | up    | 2024-10-10T00:47:28.000000 |
| be4d8b27-4e35-48f1-9861-1ab7502d66b5 | nova-compute   | node01.srv.world | nova     | enabled | up    | 2024-10-10T00:47:19.000000 |
+--------------------------------------+----------------+------------------+----------+---------+-------+----------------------------+
関連コンテンツ