OpenStack Dashboard 部署与图形化创建云主机实战指南

**摘要:**本文面向 OpenStack 初学者和运维人员,系统讲解 Dashboard(Horizon)图形化管理界面的部署流程,以及如何通过图形化操作完成云主机的创建与管理。文章涵盖 Dashboard 的安装、配置文件修改、服务启动与访问验证,并逐步演示创建网络、添加子网、配置云主机类型以及使用 demo 用户创建云主机的完整过程,帮助读者在不依赖命令行的情况下快速上手 OpenStack 云平台。

目录

Dashboard部署

安装图形化软件

修改配置文件

启动服务

网站访问验证

使用图形化的方式创建云主机

创建网络

添加子网

添加云主机类型

切换到demo用户创建云主机

使用命令测试云主机状态


Dashboard部署

Dashboard(Horizon)是一个基于 Web 的图形化管理接口,它为云平台管理员和普通用户提供了一套直观、易用的操作界面,用于管理和监控不同的 OpenStack 资源以及服务。

通过该界面,管理员可以完成用户与项目的创建和权限分配、镜像的上传与维护、网络的规划与配置、实例的创建与生命周期管理等日常运维工作;普通用户则可以在不接触命令行的情况下,自助完成云主机的申请、密钥对的管理、安全组规则的配置以及存储卷的使用等操作。Horizon 将底层复杂的 OpenStack API 调用封装为可视化的表单和按钮,显著降低了使用门槛,使得无论是经验丰富的运维人员还是初次接触云平台的业务用户,都能快速上手并高效地完成资源管理任务。

安装图形化软件

cpp 复制代码
[root@controller ~]# yum install openstack-dashboard -y

修改配置文件

安装完成后,需要修改 Dashboard 的主配置文件 **/etc/openstack-dashboard/local_settings,**使其能够正确连接 Keystone 认证服务并适配当前环境。下面逐项说明关键配置的含义。

cs 复制代码
[root@controller ~]# vim /etc/openstack-dashboard/local_settings
# 指定 Keystone 服务所在的主机名或 IP 地址,这里设置为 controller,即控制节点的主机名
OPENSTACK_HOST = "controller"
# v3 表示使用 Keystone 的 V3 版本 API
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
# ['*'] 表示允许所有主机通过浏览器访问
ALLOWED_HOSTS = ['*', ]
# 指定用户登录后默认分配的角色,这里设置为 user,即普通用户角色
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'controller:11211',
}
}
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2,
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "default"
OPENSTACK_NEUTRON_NETWORK = {
...
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}

各配置项含义如下:

  • SESSION_ENGINE:配置会话的存储方式,这里使用 Django 的缓存后端,将用户会话信息保存在缓存中。

  • CACHES :定义缓存服务的具体配置,这里使用 Memcached 作为缓存后端,LOCATION 指定 Memcached 服务地址为 controller:11211,即控制节点的 11211 端口。

  • OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT:开启多域(Domain)支持,允许在登录时选择不同的域,适用于多租户或复杂组织结构的环境。

  • OPENSTACK_API_VERSIONS:指定各 OpenStack 服务使用的 API 版本,这里将身份服务(identity)设为 V3、镜像服务(image)设为 V2、块存储服务(volume)设为 V2。

  • OPENSTACK_KEYSTONE_DEFAULT_DOMAIN :设置默认使用的域,这里为 default,即默认域。

  • OPENSTACK_NEUTRON_NETWORK:配置网络服务(Neutron)的相关功能开关,这里将路由器、配额、分布式路由器、高可用路由器、负载均衡、防火墙、VPN 以及浮动 IP 拓扑检查等功能全部关闭,以简化网络配置,适用于基础实验环境。

启动服务

cpp 复制代码
[root@controller ~]# systemctl restart httpd.service memcached.service

网站访问验证

使用图形化的方式创建云主机

在完成 Dashboard 的部署与配置后,即可通过浏览器访问 Horizon 图形化界面来创建云主机。整个过程无需使用命令行,只需按照界面提示逐步操作即可完成。下面介绍使用图形化方式创建云主机的主要步骤。

创建网络

第一步、切换到admin管理员用户

第二步、选择系统里的网络 > 创建网络 > 按照以下配置创建网络

添加子网

第一步、配置子网的名称和网关

第二步、分配子网的区间

添加云主机类型

切换到demo用户创建云主机

使用命令测试云主机状态

目录

Dashboard部署

安装图形化软件

修改配置文件

启动服务

网站访问验证

使用图形化的方式创建云主机

创建网络

添加子网

添加云主机类型

切换到demo用户创建云主机

使用命令测试云主机状态

总结


总结

本文围绕 OpenStack Dashboard(Horizon)的部署与图形化创建云主机展开,完整演示了从安装图形化软件、修改配置文件、启动服务到网站访问验证的全过程,并逐步介绍了创建网络、添加子网、配置云主机类型以及切换到 demo 用户创建云主机的操作步骤。通过 Horizon 图形化界面,管理员和普通用户无需记忆复杂的命令行参数,即可直观地完成云资源的申请与管理,显著降低了 OpenStack 的使用门槛。

在部署过程中,配置文件 /etc/openstack-dashboard/local_settings 的修改尤为关键,它决定了 Dashboard 能否正确连接 Keystone 认证服务、适配当前网络环境并启用所需功能模块。建议读者在实际环境中根据自身需求调整 OPENSTACK_HOSTALLOWED_HOSTSOPENSTACK_API_VERSIONS 等参数,并确保 Memcached 服务正常运行,以保证会话管理和登录体验的稳定性。

最后,通过 openstack server list 命令可以快速验证云主机的创建结果与运行状态,结合 SSH 登录测试能够进一步确认实例的网络连通性。希望本文能帮助读者顺利搭建并掌握基于 Web 界面的 OpenStack 日常运维方法,为后续深入学习和生产实践打下基础。

相关推荐
lswzw2 小时前
K8s容器网络排查实战:从宿主机穿透命名空间定位端口监听问题
开发语言·docker·容器
zh73143 小时前
typephp的编译核心phpx原理解析
android·java·开发语言
warpdrivelabs5 小时前
Codex 开源 harness 全面了解
开发语言·人工智能
丰锋ff9 小时前
基于 Qt 的智能门禁系统(二)
开发语言·qt
fpcc9 小时前
跟我学C++中级篇——编译期的条件选择
开发语言·c++
SomeB1oody10 小时前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
mqiqe11 小时前
AgentScope Java 2.0 协议集成全景解析:A2A、AG-UI、Agent Protocol 三大开放协议实战指南
java·开发语言·ui
lzhdim11 小时前
12、JavaScript常见的内存泄露问题 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript