openEuler OpenStack SIG:如何在openEuler上快速部署OpenStack Antelope openEuler OpenStack SIG如何在openEuler上快速部署OpenStack Antelope【免费下载链接】openstack-docsdocs for openEuler OpenStack SIG项目地址: https://gitcode.com/openeuler/openstack-docs前往项目官网免费下载https://ar.openeuler.org/ar/OpenStack是一个开源的云计算平台能够提供弹性的计算、存储和网络资源服务。openEuler OpenStack SIGSpecial Interest Group致力于在openEuler操作系统上提供稳定高效的OpenStack部署方案。本文将详细介绍如何在openEuler 24.03 LTS SP4系统上快速部署OpenStack Antelope版本帮助新手用户轻松搭建自己的私有云环境。准备工作环境与资源规划在开始部署之前我们需要准备合适的硬件环境和操作系统。根据OpenStack的官方推荐部署环境至少需要满足以下基本要求控制器节点Controller2 vCPU8GB内存100GB存储计算节点Compute4 vCPU16GB内存200GB存储存储节点Storage4 vCPU16GB内存500GB存储建议使用SSD如果资源有限也可以采用单节点All-in-One部署方式此时建议配置至少8 vCPU、32GB内存和500GB存储。操作系统安装首先需要在所有节点上安装openEuler 24.03 LTS SP4操作系统。可以从openEuler官方镜像源下载ISO镜像文件通过虚拟机或物理服务器进行安装。安装过程中建议选择最小安装模式以便后续按需安装必要的组件。网络规划OpenStack部署需要至少两个网络接口管理网络和数据网络。以下是推荐的网络拓扑结构图1OpenStack Antelope部署网络拓扑图控制节点图2OpenStack核心服务架构图计算节点图3OpenStack存储服务架构图存储节点部署方法一传统RPM包部署1. 环境准备配置YUM源在所有节点上执行以下命令配置openEuler官方源和OpenStack Antelope源yum update -y yum install -y openstack-release-antelope yum clean all yum makecache如果需要启用EPOLExtra Packages for openEuler仓库请编辑/etc/yum.repos.d/openEuler.repo文件添加以下内容[EPOL] nameEPOL baseurlhttp://repo.openeuler.org/openEuler-24.03-LTS-SP4/EPOL/main/$basearch/ enabled1 gpgcheck1 gpgkeyhttp://repo.openeuler.org/openEuler-24.03-LTS-SP4/OS/$basearch/RPM-GPG-KEY-openEuler配置主机名和 hosts 文件在控制器节点执行hostnamectl set-hostname controller echo controller /etc/hostname在计算节点执行hostnamectl set-hostname compute echo compute /etc/hostname在存储节点执行hostnamectl set-hostname storage echo storage /etc/hostname在所有节点上编辑/etc/hosts文件添加以下内容192.168.0.2 controller 192.168.0.3 compute 192.168.0.4 storage时间同步配置在控制器节点安装并配置chrony服务dnf install -y chrony vim /etc/chrony.conf添加以下内容allow 192.168.0.0/24启动chrony服务systemctl enable --now chronyd在其他节点上配置时间同步dnf install -y chrony vim /etc/chrony.conf注释掉默认的NTP服务器添加控制器节点作为时间源server controller iburst启动chrony服务并验证systemctl enable --now chronyd chronyc sources2. 部署核心服务数据库安装控制器节点OpenStack使用MariaDB作为数据库执行以下命令安装dnf install -y mysql-config mariadb mariadb-server python3-PyMySQL创建数据库配置文件/etc/my.cnf.d/openstack.cnf[mysqld] bind-address 192.168.0.2 default-storage-engine innodb innodb_file_per_table on max_connections 4096 collation-server utf8_general_ci character-set-server utf8启动数据库服务并进行安全配置systemctl enable --now mariadb mysql_secure_installation消息队列安装控制器节点OpenStack使用RabbitMQ作为消息队列执行以下命令安装dnf install -y rabbitmq-server systemctl enable --now rabbitmq-server创建OpenStack用户并授权rabbitmqctl add_user openstack RABBIT_PASS rabbitmqctl set_permissions openstack .* .* .*注意将RABBIT_PASS替换为实际的密码缓存服务安装控制器节点安装Memcached服务dnf install -y memcached python3-memcached编辑配置文件/etc/sysconfig/memcachedOPTIONS-l 127.0.0.1,::1,controller启动服务systemctl enable --now memcached3. 部署OpenStack核心组件Keystone认证服务创建数据库mysql -u root -p CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO keystonelocalhost IDENTIFIED BY KEYSTONE_DBPASS; GRANT ALL PRIVILEGES ON keystone.* TO keystone% IDENTIFIED BY KEYSTONE_DBPASS; exit安装Keystone包dnf install -y openstack-keystone httpd mod_wsgi配置Keystonevim /etc/keystone/keystone.conf添加以下配置[database] connection mysqlpymysql://keystone:KEYSTONE_DBPASScontroller/keystone [token] provider fernet同步数据库并初始化Fernet密钥su -s /bin/sh -c keystone-manage db_sync keystone keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone keystone-manage credential_setup --keystone-user keystone --keystone-group keystone配置Apache HTTP服务器echo ServerName controller /etc/httpd/conf/httpd.conf ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ systemctl enable --now httpd创建环境变量脚本cat EOF ~/.admin-openrc export OS_PROJECT_DOMAIN_NAMEDefault export OS_USER_DOMAIN_NAMEDefault export OS_PROJECT_NAMEadmin export OS_USERNAMEadmin export OS_PASSWORDADMIN_PASS export OS_AUTH_URLhttp://controller:5000/v3 export OS_IDENTITY_API_VERSION3 export OS_IMAGE_API_VERSION2 EOF注意将ADMIN_PASS替换为实际的管理员密码Glance镜像服务创建数据库mysql -u root -p CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO glancelocalhost IDENTIFIED BY GLANCE_DBPASS; GRANT ALL PRIVILEGES ON glance.* TO glance% IDENTIFIED BY GLANCE_DBPASS; exit创建服务凭证source ~/.admin-openrc openstack user create --domain default --password-prompt glance openstack role add --project service --user glance admin openstack service create --name glance --description OpenStack Image image openstack endpoint create --region RegionOne image public http://controller:9292 openstack endpoint create --region RegionOne image internal http://controller:9292 openstack endpoint create --region RegionOne image admin http://controller:9292安装Glancednf install -y openstack-glance配置Glancevim /etc/glance/glance-api.conf添加以下配置[database] connection mysqlpymysql://glance:GLANCE_DBPASScontroller/glance [keystone_authtoken] www_authenticate_uri http://controller:5000 auth_url http://controller:5000 memcached_servers controller:11211 auth_type password project_domain_name Default user_domain_name Default project_name service username glance password GLANCE_PASS [paste_deploy] flavor keystone [glance_store] stores file,http default_store file filesystem_store_datadir /var/lib/glance/images/同步数据库并启动服务su -s /bin/sh -c glance-manage db_sync glance systemctl enable --now openstack-glance-api.service部署方法二使用oos工具一键部署对于希望快速部署的用户openEuler OpenStack SIG提供了oosopenEuler OpenStack SIG工具可以通过Ansible脚本实现一键部署。1. 安装oos工具yum install -y openstack-sig-tool2. 配置oos编辑配置文件/usr/local/etc/oos/oos.conf[environment] mysql_root_password your_mysql_root_password mysql_project_password your_mysql_project_password rabbitmq_password your_rabbitmq_password project_identity_password your_identity_password enabled_service keystone,neutron,cinder,placement,nova,glance,horizon neutron_provider_interface_name br-ex default_ext_subnet_range 10.100.100.0/24 default_ext_subnet_gateway 10.100.100.1 neutron_dataplane_interface_name eth1 cinder_block_device vdb3. 一键部署All-in-One环境# 安装依赖 dnf install -y sshpass # 创建并部署环境 oos env create -r 24.03-lts-sp4 -f small -a x86 -n test-oos all_in_one oos env setup test-oos -r antelope注意上述命令将在华为云上创建一个openEuler 24.03 LTS SP4虚拟机并部署OpenStack Antelope环境。如果需要在本地环境部署请使用oos env manage命令。验证部署结果部署完成后可以通过以下方法验证OpenStack环境是否正常工作访问Horizon dashboard在浏览器中输入http://controller/dashboard使用管理员账号登录验证服务状态source ~/.admin-openrc openstack service list openstack endpoint list上传测试镜像wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create --disk-format qcow2 --container-format bare --file cirros-0.4.0-x86_64-disk.img --public cirros openstack image list常见问题解决在部署过程中可能会遇到各种问题。以下是一些常见问题的解决方法1. Ironic服务部署错误如果在部署Ironic裸金属服务时遇到PXE启动配置错误可能是由于arm64架构不支持默认的PXE配置文件模板导致的。可以参考官方文档修改相关代码或者使用以下命令临时解决图4Ironic PXE启动配置错误示例2. 服务启动失败如果某个服务启动失败可以通过查看日志文件定位问题journalctl -u openstack-nova-api.service journalctl -u neutron-server.service3. 网络连接问题如果计算节点无法连接到控制器节点请检查防火墙设置firewall-cmd --list-all firewall-cmd --add-serviceopenstack --permanent firewall-cmd --reload总结本文介绍了在openEuler 24.03 LTS SP4上部署OpenStack Antelope的两种方法传统的RPM包部署和使用oos工具的一键部署。对于新手用户推荐使用oos工具可以极大简化部署过程。对于有经验的用户可以选择传统部署方法以便更好地理解OpenStack的组件架构和交互方式。无论采用哪种方法部署完成后都可以获得一个功能完善的OpenStack私有云平台用于构建和管理云基础设施。如果需要进一步了解OpenStack的使用和管理可以参考官方文档或加入openEuler OpenStack SIG社区获取帮助。官方文档docs/en/install/antelope.md【免费下载链接】openstack-docsdocs for openEuler OpenStack SIG项目地址: https://gitcode.com/openeuler/openstack-docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考