본 글에서는 Kolla-ansible을 기반으로 Openstack을 다중노드에 설치하는 과정에 대해서 설명합니다.
운영체제 설치
운영체제 이름/버전 : Ubuntu 20.04.5 Live Server
가상네트워크 : 192.168.140.50
각 운영체제에는 별도의 모듈은 설치하지 않고 최소 설치하였습니다.
호스트 정보
본 설치 가이드에서는 네트워크 인터페이스가 1개인 경우를 고려하여 기술되었습니다. 여러 개의 네트워크 인터페이스가 있을 경우에는 각각의 네트워크 인터페이스에 IP를 할당하고 VIP로 묶어서 네트워크를 설계해야 합니다. 이 네트워크 설계에 따라서 필요에 따른 노드의 네트워크가 다르게 설정되게 됩니다.
Host Name | IP | Interface | Role | 사양 |
con01 | 192.168.140.51 | enp7s0 | Controller #1, Compute #3 | CPU : Intel(R) Core(TM) i7-9700F CPU @ 3.00GHz Memory : 32G SSD : 500G HDD : 1T |
con02 | 192.168.140.52 | enp2s0 | Controller #2 | CPU : Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz Memory : 16G SSD : 200G |
con03 | 192.168.140.53 | enp0s31f6 | Controller #3, Compute #4 | CPU : Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz Memory : 32G SSD : 240G HDD : 1T |
com01 | 192.168.140.54 | enp0s31f6 | Compute #1 | CPU : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Memory : 16G SSD : 240G HDD : 2T |
com02 | 192.168.140.55 | enp2s0 | Compute #2 | CPU : Intel(R) Xeon(R) CPU E5506 @ 2.13GHz, 2EA Memory : 24G SSD : 240G HDD : 500G, 1T, 1T |
사양정보 확인
root@con01:~# lscpu | grep Model
Model: 158
Model name: Intel(R) Core(TM) i7-9700F CPU @ 3.00GHz
root@con01:~# dmidecode -t memory | grep Size | grep -v No
Size: 8192 MB
Size: 8192 MB
Size: 8192 MB
Size: 8192 MB
root@con01:~# lsblk -e7 -e11 | grep disk
sda 8:0 0 447.1G 0 disk
sdb 8:16 0 931.5G 0 disk
root@con01:~#
ssh 대몬 설치
# con01, con02, con03, com01, com02
root@con01:~# sudo apt-get update
# con01, con02, con03, com01, com02
root@con01:~# sudo apt-get install ssh
# con01, con02, con03, com01, com02
root@con01:~# sudo systemctl enable ssh
ssh 테스트
ssh localhost
로그인
ssh root로 로그인되도록 권한 추가
# con01, con02, con03, com01, com02
root@con01:~# vi /etc/ssh/sshd_config
PermitRootLogin yes
# con01, con02, con03, com01, com02
root@con01:~# systemctl restart sshd
ssh root 암호 설정
관리자 암호를 설정합니다.
# con01, con02, con03, com01, com02
user@com02:~# sudo -i
[sudo] password for openstack:
# con01, con02, con03, com01, com02
root@com02:~# passwd
New password:
Retype new password:
passwd: password updated successfully
sudo 암호 안 묻기
기본계정에서 sudo 권한을 묻지않기 위해 아래의 명령을 수행합니다.
root@con01:~# echo 'openstack ALL=NOPASSWD: ALL' >> /etc/sudoers
root@con01:~# cat /etc/sudoers | tail -2
#includedir /etc/sudoers.d
openstack ALL=NOPASSWD: ALL
ssh root 접속 테스트
# con01, con02, con03, com01, com02
openstack@con02:~$ ssh root@localhost
root@localhost's password:
Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-139-generic x86_64)
...
기본 도구 설치
# con01, con02, con03, com01, com02
apt-get install net-tools -y
Kolla-Ansible로 Openstack 설치하기
호스트 설정
각 서버에 통신을 하기 위해서 각 서버 정보를 호스트 파일에 등록합니다.
# con01, con02, con03, com01, com02
root@con01:~# cat /etc/hosts
127.0.0.1 localhost
192.168.140.51 con01
192.168.140.52 con02
192.168.140.53 con03
192.168.140.54 com01
192.168.140.55 com02
SSH key 생성 & 배포
각 서버와 암호없이 통신하도록 SSH키를 만들고 공유합니다.
# con01
root@con01:~# ssh-keygen -t rsa # for node in {con01,con02,con03,com01,com02}; do \
ssh-copy-id root@$node; \
done
Chrony 설치 & 동기화 확인
Kolla-Ansible Xena 버전부터 chrony 서비스가 제거되었기 때문에 chrony,ntp등 시간 동기화 서비스를 수동 설치해야 합니다. 링크 : https://review.opendev.org/c/openstack/kolla-ansible/+/791743
# con01, con02, con03, com01, com02
root@con01:~# apt install chrony
# con01, con02, con03, com01, com02
root@con01:~# systemctl enable chrony
# con01, con02, con03, com01, com02
root@con01:~# systemctl start chrony
# con01, con02, con03, com01, com02
root@con01:~# chronyc sources -v
210 Number of sources = 10
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- prod-ntp-5.ntp1.ps5.cano> 2 9 377 923 +7478us[+7394us] +/- 124ms
^- pugot.canonical.com 2 9 377 143 -4571us[-4571us] +/- 162ms
^- prod-ntp-3.ntp4.ps5.cano> 2 9 377 407 +15ms[ +15ms] +/- 130ms
^- alphyn.canonical.com 2 9 377 416 -9816us[-9860us] +/- 151ms
^* 121.174.142.81 3 9 377 157 +290us[ +239us] +/- 37ms
^- 121.162.54.1 2 7 377 87 -5377us[-5377us] +/- 52ms
^+ ap-northeast-2.clearnet.> 2 8 327 216 -561us[ -610us] +/- 30ms
^? any.time.nl 0 6 0 - +0ns[ +0ns] +/- 0ns
^? ap-northeast-2.clearnet.> 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 2406:da12:b86:2c32:3045:> 0 6 0 - +0ns[ +0ns] +/- 0ns
ansible 설치
Xena 버전의 ansible은 2.10 버전과 4버전 둘 다 가능함.
# con01
root@con01:~# sudo add-apt-repository ppa:ansible/ansible-4
# con01
root@con01:~# apt update
# con01
root@con01:~# apt install ansible
Openstack 저장소 설정
설치전에 cinder-volumes로 파티션이 구성되어야 Openstack의 인스턴스가 해당 디스크에 저장됩니다. swift와 같은 저장소를 구성하려면 본 블로그의 https://parandol.tistory.com/72 를 참고하십시오.
// 파티션 관리에 들어가서 파티션을 생성합니다.
# com01, com02
root@aio01:~# parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) set 1 lvm on
(parted) print
(parted) q
// 디스크 물리 볼륨 생성합니다.
# com01, com02
root@aio01:~# pvcreate /dev/sdb1
// 물리 볼륨에 가상볼륨 cinder-volumes 를 추가합니다.
# com01, com02
root@aio01:~# vgcreate cinder-volumes /dev/sdb1
# com01, com02
root@con01:~# vgdisplay
--- Volume group ---
VG Name cinder-volumes
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <93.13 GiB
PE Size 4.00 MiB
Total PE 23841
Alloc PE / Size 22696 / <88.66 GiB
Free PE / Size 1145 / 4.47 GiB
VG UUID 8B7h9K-opG5-9DfK-I8x9-df7P-eYlb-qPxRhP
Kolla-Ansible 배포
설치 패키지 설치 및 pip 업데이트
# con01
root@con01:~# apt install python3-dev libffi-dev gcc libssl-dev
# con01
root@con01:~# apt install python3-pip
# con01
root@con01:~# pip3 install -U pip
Kolla-Ansible 설치
# con01
root@con01~# pip install kolla-ansible==13.
Kolla-Ansible에서 사용할 파일 복사
# con01
root@con01:~# cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/
# con01
root@con01:~# cp -r /usr/local/share/kolla-ansible/ansible/inventory/ /root/
인벤토리 설정
네트워크 인터페이스는 각 서버에 맞게 정확하게 맞추어야 합니다.
- ifconfig 명령을 통해 네트워크 인터페이스를 확인하여 아래의 내용을 추가합니다. 기본적으로 네트워크 인터페이스를 지정하지 않는 경우는 eth0를 기본값으로 사용하나 이 인터페이스가 없으면 설치시 오류가 발생합니다.
- control 노드가 compute 기능을 동시에 수행하는 경우에는 hacluster_remote 정보를 추가하여 compute역할만 수행하는 노드를 별도로 구성합니다. 이 설정을 변경하지 않을 경우에는 Kolla-ansible 가 hacluster 구성 시 control 노드에는 corosync/pacemaker/pacemaker_remote 모듈을 동시에 설정하려고 하여 pacemaker와 pacemaker_remote가 충돌(네트워크 포트 충돌)을 일으킵니다.
- hacluster-remote:children 항목을 찾아서 compute 에서 hacluster_remote로 값을 변경합니다.
# con01
root@con01:~# cat inventory/multinode
[control]
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
[network]
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
[compute]
com01 network_interface=enp0s31f6 api_interface=enp0s31f6 storage_interface=enp0s31f6 tunnel_interface=enp0s31f6 migration_interface=enp0s31f6 neutron_external_interface=enp0s31f6
com02 network_interface=enp2s0 api_interface=enp2s0 storage_interface=enp2s0 tunnel_interface=enp2s0 migration_interface=enp2s0 neutron_external_interface=enp2s0
con01 network_interface=enp7s0 api_interface=enp7s0 storage_interface=enp7s0 tunnel_interface=enp7s0 migration_interface=enp7s0 neutron_external_interface=enp7s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 storage_interface=enp0s31f6 tunnel_interface=enp0s31f6 migration_interface=enp0s31f6 neutron_external_interface=enp0s31f6
[hacluster_remote]
com01 network_interface=enp0s31f6 api_interface=enp0s31f6 storage_interface=enp0s31f6 tunnel_interface=enp0s31f6 migration_interface=enp0s31f6 neutron_external_interface=enp0s31f6
com02 network_interface=enp2s0 api_interface=enp2s0 storage_interface=enp2s0 tunnel_interface=enp2s0 migration_interface=enp2s0 neutron_external_interface=enp2s0
[monitoring]
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
[storage]
com01 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
com02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
......
[hacluster-remote:children]
hacluster_remote
......
인벤토리 설정 확인
각 서버와 정상적으로 통신되는지 확인합니다.
# con01
root@con01:~# ansible -i /root/inventory/multinode all -m ping
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
localhost | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
con01 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
con03 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
con02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
com01 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
com02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
kolla 패스워드 생성 & 수정
각 Openstack에 사용하는 암호를 자동으로 생성합니다. 특정 서비스의 경우에는 원하는 암호로 별도 수정합니다.
# con01
root@con01:~# kolla-genpwd
# con01
root@con01:~# cat /etc/kolla/passwords.yml
...
database_password : openstack
keystone_admin_password : openstack
...
global.yml 수정
설치하려는 서비스를 선택하고 선택한 서비스에 적절한 환경설정을 구성합니다.
# con01
root@con01:~# cat /etc/kolla/globals.yml | grep -v ^# | grep -v ^$
---
kolla_base_distro: "ubuntu"
kolla_install_type: "source"
openstack_release: "xena"
kolla_internal_vip_address: "192.168.140.50"
kolla_external_vip_address: "{{ kolla_internal_vip_address }}"
neutron_plugin_agent: "ovn"
enable_openstack_core: "yes"
enable_glance: "{{ enable_openstack_core | bool }}"
enable_hacluster: "yes"
enable_haproxy: "yes"
enable_keepalived: "{{ enable_haproxy | bool }}"
enable_keystone: "{{ enable_openstack_core | bool }}"
enable_mariadb: "yes"
enable_memcached: "yes"
enable_neutron: "{{ enable_openstack_core | bool }}"
enable_nova: "{{ enable_openstack_core | bool }}"
enable_rabbitmq: "{{ 'yes' if om_rpc_transport == 'rabbit' or om_notify_transport == 'rabbit' else 'no' }}"
enable_cinder: "yes"
enable_cinder_backup: "yes"
enable_cinder_backend_lvm: "yes"
enable_fluentd: "yes"
enable_heat: "{{ enable_openstack_core | bool }}"
enable_horizon: "{{ enable_openstack_core | bool }}"
enable_horizon_masakari: "{{ enable_masakari | bool }}"
enable_masakari: "yes"
enable_neutron_provider_networks: "yes"
enable_nova_ssh: "yes"
enable_ovn: "{{ enable_neutron | bool and neutron_plugin_agent == 'ovn' }}"
enable_placement: "{{ enable_nova | bool or enable_zun | bool }}"
nova_console: "novnc"
hacluster_corosync_port: 5405
Kolla-Ansible 버그 패치
rabbitmq관련 버그를 다음과 같이 수정합니다.
root@con01:~# vi /usr/local/share/kolla-ansible/ansible/roles/service-rabbitmq/tasks/main.yml
---
- block:
......
password: "{{ item.password }}"
node: "rabbit@{{ ansible_facts.hostname }}"
update_password: always
......
Ubuntu Desktop IP관리방법 변경
Ubuntu Desktop의 경우 Network Manager를 통하여 관리됩니다. 이 부분을 netplan이 관리가 가능하도록 변경합니다.
# Ubuntu Desktop Node
root@con01:~# vi /etc/netplan/00-...yaml
This is the network config written by 'subiquity'
network:
ethernets:
enp7s0: {}
br-ex:
addresses:
- 192.168.140.51/24
gateway4: 192.168.140.254
nameservers:
addresses:
- 8.8.8.8
- 168.126.63.1
search:
- con01
version: 2
# Ubuntu Desktop Node
root@con01:~# systemctl disable NetworkManager.service
# Ubuntu Desktop Node
root@con01:~# systemctl stop NetworkManager.service
Kolla-Ansible 배포
유의 사항
1. Kolla-Ansible을 OVN으로 배포하는 경우 openvswitch를 kolla-ansible에서 배포되므로 반드시 서비스망을 제외한 SSH 접속이나 콘솔에서 배포를 진행해야 합니다.
2. pull 작업을 먼저 하지 않을 경우 인터넷이 연결이 끊기기 때문에 로컬 레포를 사용하는 경우가 아닐 시 deploy보다 먼저 진행되야 힙니다.
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode bootstrap-servers
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode prechecks
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode pull
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode deploy
브릿지 인터페이스 VIP 설정
배포 시에 아래의 화면에서 멈추어 있는 경우 keepalived와 ip 설정을 진행합니다.
TASK [openvswitch : Set system-id]
************************************************************************************************
changed: [con01]
changed: [con02]
changed: [com01]
changed: [con03]
changed: [com02]
TASK [openvswitch : Ensuring OVS bridge is properly setup]
************************************************************************
changed: [con01] => (item=['br-ex', 'enp7s0'])
기존 네트워크 인터페이스명을 br-ex로 변경합니다. 내부 네트워크의 VIP를 사용하는 경우 아래의 내용과 다를 수 있으니 적절하게 수정하시기 바랍니다. 아래의 명령을 수행한 이 후에는 반드시 ping으로 vip로의 접속을 확인하시기 바랍니다. 접속이 안될 경우에는 이후 과정에서 openstack 설치에 실패하게 됩니다.
# con01, con02, con03
root@con01:~# cat /etc/kolla/keepalived/keepalived.conf
vrrp_script check_alive {
script "/check_alive.sh"
interval 2
fall 2
rise 10
}
vrrp_instance kolla_internal_vip_51 {
state BACKUP
nopreempt
interface br-ex
virtual_router_id 51
priority 1
advert_int 1
virtual_ipaddress {
192.168.140.50 dev br-ex
}
authentication {
auth_type PASS
auth_pass 5HsO30ewcmJ3mtgqRD7qZAm0ffORFDHuqv5h4rSE
}
track_script {
check_alive
}
}
# con01, con02, con03
root@con01:~# docker restart keepalived
# con01, con02, con03
root@con01:~# ping 192.168.140.50
PING 192.168.140.50 (192.168.140.50) 56(84) bytes of data.
64 bytes from 192.168.140.50: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 192.168.140.50: icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from 192.168.140.50: icmp_seq=3 ttl=64 time=0.065 ms
^C
--- 192.168.140.50 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2026ms
rtt min/avg/max/mdev = 0.045/0.053/0.065/0.008 ms
root@con01:~#
브릿지 인터페이스에 IP 설정
설정 이후에는 ping 명령어 등으로 네트워크에 정상접속되는 지 확인합니다.
# con01, con02, con03, com01, com02
root@con01:~# cat /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
enp5s0: {} # 기존 게이트웨이 통신을 하는 서비스망 IP가 적용된 인터페이스
br-ex: addresses: [x.x.x.
# con01, con02, con03, com01, com02
root@con01:~# netplan apply
# con01, con02, con03, com01, com02
root@con01:~# ping 192.168.140.254 <- 게이트워이 IP
PING 192.168.140.254 (192.168.140.254) 56(84) bytes of data.
64 bytes from 192.168.140.254: icmp_seq=1 ttl=64 time=2.18 ms
64 bytes from 192.168.140.254: icmp_seq=2 ttl=64 time=2.19 ms
64 bytes from 192.168.140.254: icmp_seq=3 ttl=64 time=1.86 ms
^C
--- 192.168.140.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.857/2.073/2.188/0.153 ms
위 명령이 각 서버에 정상적으로 반영되었으면 네트워크 설정 완료 대기 작업이 아래와 같이 출력되고 다음 작업으로 넘어갑니다. 네트워크 설정 대기는 시간이 약간 소요됩니다. 각 서버에서 네트워크가 정상적으로 설정되었다면 일정시간 대기하면 자동으로 인식합니다. 각 서버당 1~2분 정도 소요됩니다.
TASK [openvswitch : Ensuring OVS bridge is properly setup]
************************************************************************
changed: [con01] => (item=['br-ex', 'enp7s0'])
changed: [con02] => (item=['br-ex', 'enp2s0'])
changed: [con03] => (item=['br-ex', 'enp0s31f6'])
changed: [com02] => (item=['br-ex', 'enp2s0'])
changed: [com01] => (item=['br-ex', 'enp0s31f6'])
설치 완료
모든 배포가 완료되면 아래와 같은 로그가 출력되고 쉘이 다시 나타납니다.
PLAY RECAP
************************************************************************************************************************
com01 : ok=99 changed=65 unreachable=0 failed=0 skipped=60 rescued=0 ignored=0
com02 : ok=93 changed=65 unreachable=0 failed=0 skipped=58 rescued=0 ignored=0
con01 : ok=373 changed=254 unreachable=0 failed=0 skipped=185 rescued=0 ignored=1
con02 : ok=232 changed=156 unreachable=0 failed=0 skipped=189 rescued=0 ignored=1
con03 : ok=257 changed=174 unreachable=0 failed=0 skipped=176 rescued=0 ignored=1 localhost : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
root@con01:~#
Horizon 접속
웹브라우저에서 http://192.168.140.50 으로 접속하여 설치 완료를 확인합니다.
클라이언트 도구 설치 및 rc파일 생성
# con01
root@con01:~# pip install python-openstackclient python-glanceclient python-neutronclient
# con01
root@con01:~# kolla-ansible post-deploy
Kolla-Ansible 정상 배포 확인
# con01
root@con01:~# . /etc/kolla/admin-openrc.sh
# con01
root@con01:~# openstack catalog list
# con01
root@con01:~# openstack endpoint list
# con01
root@con01:~# openstack compute service list
# con01
root@con01:~# openstack volume service list
# con01
root@con01:~# openstack network agent list
Mariadb 복구 시 에러가 발생할 때 참고
'Development > Cloud, Openstack' 카테고리의 다른 글
Openstack(Antelope) All-in-one Node Installation with Kolla-ansible (0) | 2024.04.08 |
---|---|
Openstack qcow2 가상 이미지 템플릿 만들기(Ubuntu, Ubuntu Desktup, Windows 10) (0) | 2024.04.04 |
Pacemaker, Pacemaker Remote 설치 (0) | 2023.02.21 |
corosync + pacemaker and consul 설치 (0) | 2023.01.31 |
Kolla-ansible로 Openstack All-in-one 설치하기(Installing Openstack All-in-one with Kolla-ansible) (0) | 2022.11.07 |