广州网站制作公司排名中企高呈建设网站
CentOS-Stream-9仿冒Rocky-9通过Kolla-ansible部署OpenStack 2024.1
OpenStack及Kolla项目的最新稳定版产品不再提供对CentOS-Stream-9的容器镜像支持,但考虑到 Rocky-9对RHEL/CentOS-Stream-9进行了binary级别的兼容,因此在CentOS-Stream-9上仿冒Rocky-9进行容器化安装OpenStack 2024.1应该是可行的。
结论:方法可行,但在deploy阶段会遇到一些奇奇怪怪的问题,需要多一点耐心在destroy和deploy之间反复横跳。


部署过程(All-In-One模式):
su - root
 dnf update -y
 hostnamectl status
 ip addr
 echo "192.168.136.201 controller-openstack" | tee -a /etc/hosts 
 ssh-keygen -t rsa
 ls -Fhlart $HOME/.ssh/
 cat $HOME/.ssh/id_rsa.pub | tee -a $HOME/.ssh/authorized_keys
 ls -Fhlart $HOME/.ssh/
 chmod 644 $HOME/.ssh/authorized_keys
 ssh controller-openstack
 ssh root@controller-openstack
 dnf update -y
 dnf config-manager --enable crb
 dnf repolist
 dnf install -y git python3-devel libffi-devel gcc openssl-devel python3-libselinux
 mkdir -vp /root/venv
 python3 --version
 python3 -m venv /root/venv/
 ls -Fhlart /root/venv/
 source /root/venv/bin/activate
 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
 pip install -U pip
 pip3 install 'ansible-core>=2.15,<2.16.99'
 ansible --version
 pip install git+https://opendev.org/openstack/kolla-ansible@stable/2024.1
 ls -Fhlart /root/venv/
 ls -Fhlart /root/venv/share/
 ls -Fhlart /root/venv/share/kolla-ansible/
 cat /root/venv/share/kolla-ansible/requirements.yml 
 ls -Fhlart /root/.ansible/collections/ansible_collections/
 grep -n "docker_yum_url" /root/.ansible/collections/ansible_collections/*/*/*/*/*/* |tee -a /root/venv/ansible_collectionsTMP.txt
 nano /root/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/defaults/main.yml
 grep -n "docker_yum_url" /root/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/defaults/main.yml
 mkdir -vp /etc/kolla
 chown $USER:$USER /etc/kolla/
 cp -r /root/venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/
 cp /root/venv/share/kolla-ansible/ansible/inventory/all-in-one /etc/kolla/
 cat -n /etc/hosts 
 nano /etc/kolla/all-in-one 
 head -n 20 /etc/kolla/all-in-one 
 nano /etc/kolla/globals.yml 
 grep -Ev "^#|^$" /etc/kolla/globals.yml 
 kolla-genpwd
 grep -n "keystone_admin_password" /etc/kolla/passwords.yml 
 sed -i 's#keystone_admin_password:.*#keystone_admin_password: 自定义密码#g' /etc/kolla/passwords.yml
 grep -n "keystone_admin_password" /etc/kolla/passwords.yml 
 lsblk
 fdisk -l
 pvcreate /dev/nvme0n1
 pvdisplay 
 vgcreate cinder-volumes /dev/nvme0n1
 vgdisplay 
 ansible -i /etc/kolla/all-in-one all -m ping
 kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers -vvvv
 kolla-ansible -i /etc/kolla/all-in-one prechecks -vvvv
 kolla-ansible -i /etc/kolla/all-in-one pull -vvvv
 docker image list
 kolla-ansible -i /etc/kolla/all-in-one deploy  -vvvv
 docker ps
 docker ps | wc -l
 pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/2024.1
 kolla-ansible -i /etc/kolla/all-in-one post-deploy
 /root/venv/share/kolla-ansible/init-runonce 
 ls -Fhlart /etc/kolla/
 cat -n /etc/kolla/clouds.yaml 
 deactivate
本次部署用到的 globals.yml:
---
 workaround_ansible_issue_8743: yes
 kolla_base_distro: "rocky"
 openstack_release: "2024.1"
 kolla_internal_vip_address: "192.168.136.205"
 kolla_external_vip_address: "{{ kolla_internal_vip_address }}"
 kolla_container_engine: docker
 docker_registry: quay.nju.edu.cn
 network_interface: "ens160"
 neutron_external_interface: "ens192"
 neutron_plugin_agent: "openvswitch"
 keepalived_virtual_router_id: "51"
 enable_container_healthchecks: "yes"
 enable_openstack_core: "yes"
 enable_hacluster: "no"
 enable_haproxy: "yes"
 enable_keepalived: "{{ enable_haproxy | bool }}"
 enable_cinder: "yes"
 enable_cinder_backend_lvm: "yes"
 cinder_volume_group: "cinder-volumes"
 nova_compute_virt_type: "kvm"
 nova_console: "novnc"
本次部署用到的 ansible-inventory 文件:【仅修改了前20行中的内容,其他部分保持不变】
[control]
 controller-openstack
[network]
 controller-openstack
[compute]
 controller-openstack
[storage]
 controller-openstack
[monitoring]
 controller-openstack
[deployment]
 controller-openstack
  
本次部署用到的 docker-image 清单:

quay.nju.edu.cn/openstack.kolla/nova-compute:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/keystone-ssh:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/keystone:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/placement-api:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/keystone-fernet:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/neutron-server:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/neutron-openvswitch-agent:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/cinder-volume:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/cinder-backup:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/neutron-metadata-agent:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/neutron-dhcp-agent:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/neutron-l3-agent:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/cinder-scheduler:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/cinder-api:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/horizon:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/nova-ssh:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/nova-novncproxy:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/nova-scheduler:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/nova-api:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/nova-conductor:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/glance-api:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/heat-api:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/heat-engine:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/heat-api-cfn:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/mariadb-server:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/nova-libvirt:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/openvswitch-vswitchd:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/kolla-toolbox:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/openvswitch-db-server:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/mariadb-clustercheck:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/fluentd:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/memcached:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/haproxy:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/rabbitmq:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/keepalived:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/cron:2024.1-rocky-9
 quay.nju.edu.cn/openstack.kolla/iscsid:2024.1-rocky-9
