OpenStack Epoxy : ロードバランサーイメージを作成する2025/05/28 |
OpenStack Load Balancing as a Service(Octavia)のインストールと設定です。 当例では以下のような環境を例に Octavia をインストールしています。 ------------+--------------------------+--------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ dlp.srv.world ] | | [ network.srv.world ] | | [ node01.srv.world ] | | (Control Node) | | (Network Node) | | (Compute Node) | | | | | | | | MariaDB RabbitMQ | | Open vSwitch | | Libvirt | | Memcached Nginx | | Neutron Server | | Nova Compute | | Keystone httpd | | OVN-Northd | | Open vSwitch | | Glance Nova API | | Nginx iSCSI Target | | OVN Metadata Agent | | Cinder API | | Cinder Volume | | OVN-Controller | | | | Octavia Services | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | ロードバランサーインスタンス用のイメージを作成して Glance に登録しておきます。また ロードバランサーインスタンス用のセキィリティグループも作成しておきます。作業場所はどこでも良いですが当例では Control ノード上で行います。 |
[root@dlp ~(keystone)]#
dnf --enablerepo=centos-openstack-epoxy,epel,crb -y install openstack-octavia-diskimage-create debootstrap python3-octaviaclient # インスタンスイメージ作成 [root@dlp ~(keystone)]# octavia-diskimage-create.sh -i centos-minimal
..... ..... 2025-05-28 00:51:58.131 | Converting image using qemu-img convert 2025-05-28 00:52:39.424 | Image file /root/amphora-x64-haproxy.qcow2 created... 2025-05-28 00:52:39.578 | Build completed successfully Successfully built the amphora image using amphora-agent from the master branch. Amphora image size: /root/amphora-x64-haproxy.qcow2 578842112 # Glance に登録 [root@dlp ~(keystone)]# openstack image create "Amphora" --tag "Amphora" --file amphora-x64-haproxy.qcow2 --disk-format qcow2 --container-format bare --private --project service
# ロードバランサーインスタンス用 [flavor] 登録 [root@dlp ~(keystone)]# openstack flavor create --id 100 --vcpus 2 --ram 4096 --disk 2 m1.octavia --private --project service
# セキィリティグループ登録 [root@dlp ~(keystone)]# openstack security group create lb-mgmt-sec-group --project service
# 作成したセキィリティグループに必要なポートを許可 [root@dlp ~(keystone)]# openstack security group rule create --protocol icmp --ingress lb-mgmt-sec-group [root@dlp ~(keystone)]# openstack security group rule create --protocol tcp --dst-port 22:22 lb-mgmt-sec-group [root@dlp ~(keystone)]# openstack security group rule create --protocol tcp --dst-port 80:80 lb-mgmt-sec-group [root@dlp ~(keystone)]# openstack security group rule create --protocol tcp --dst-port 443:443 lb-mgmt-sec-group [root@dlp ~(keystone)]# openstack security group rule create --protocol tcp --dst-port 9443:9443 lb-mgmt-sec-group |
[2] | Network ノードの Octavia サービスに、追加したイメージやセキュリティグループの設定を追加します。 |
[root@network ~]# openstack image list +--------------------------------------+----------------+--------+ | ID | Name | Status | +--------------------------------------+----------------+--------+ | 7e2aa107-5a2a-44e1-b466-567657ad363d | Amphora | active | | 8bbf2495-d1b0-4c12-89d3-bf6ca71b2a2d | CentOS-Stream9 | active | +--------------------------------------+----------------+--------+[root@network ~]# openstack flavor list --all +-----+------------+-------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +-----+------------+-------+------+-----------+-------+-----------+ | 1 | m1.tiny | 2048 | 10 | 0 | 1 | True | | 100 | m1.octavia | 4096 | 2 | 0 | 2 | False | | 2 | m1.small | 4096 | 10 | 0 | 2 | True | | 3 | m1.medium | 8192 | 10 | 0 | 4 | True | | 4 | m1.large | 16384 | 10 | 0 | 8 | True | | 5 | m2.large | 16384 | 10 | 10 | 8 | True | +-----+------------+-------+------+-----------+-------+-----------+[root@network ~]# openstack network list +--------------------------------------+---------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+--------------------------------------+ | bd05d358-4e42-4bd5-93a3-4bf3cdb8382a | private | e98202e3-a16f-4262-94f1-3bfd5662253a | | da68b9d2-83b3-4723-8ff1-43561841698c | public | 79170337-cfa9-4df3-8dff-1202af9a8bba | +--------------------------------------+---------+--------------------------------------+[root@network ~]# openstack security group list +--------------------------------------+-------------------+------------------------+----------------------------------+------+ | ID | Name | Description | Project | Tags | +--------------------------------------+-------------------+------------------------+----------------------------------+------+ | 4b7f4715-71c4-4f3f-8cd4-81e624724dca | default | Default security group | 03262019a5e54890be53c2fc96ed98d0 | [] | | 84a1471f-8577-4556-8ebc-5ef39cce5fe0 | secgroup01 | secgroup01 | 6cd379304e2447da8514a66bb6cdfda5 | [] | | 8e45078d-4ab4-4de3-b803-edac78394134 | lb-mgmt-sec-group | lb-mgmt-sec-group | 03262019a5e54890be53c2fc96ed98d0 | [] | +--------------------------------------+-------------------+------------------------+----------------------------------+------+
[root@network ~]#
vi /etc/octavia/octavia.conf # [controller_worker] セクションに追記
[controller_worker]
client_ca = /etc/octavia/certs/client_ca.cert.pem
amp_image_tag = Amphora
# ロードバランサーインスタンス用の [flavor] ID
amp_flavor_id = 100
# ロードバランサーインスタンス用の セキュリティグループ ID
amp_secgroup_list = 8e45078d-4ab4-4de3-b803-edac78394134
# ロードバランサーインスタンスを起動するネットワーク ID (当例では [public] を指定)
amp_boot_network_list = da68b9d2-83b3-4723-8ff1-43561841698c
network_driver = allowed_address_pairs_driver
compute_driver = compute_nova_driver
amphora_driver = amphora_haproxy_rest_driver
[root@network ~]# |
Sponsored Link |
|