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_HOST、ALLOWED_HOSTS、OPENSTACK_API_VERSIONS 等参数,并确保 Memcached 服务正常运行,以保证会话管理和登录体验的稳定性。

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

相关推荐
滕州市燕猫虎计算机科技工作室个体工商户14 分钟前
Java,Java NIO,Java NIO2,Java AIO,AsynchronousServerSocketChannel
java·开发语言·nio·aio·nio2
ESDWAN16 分钟前
企业访问海外系统很慢,如何一步步定位问题?
服务器·网络·php
古城小栈20 分钟前
Rust 学习路线,供初学者参考
开发语言·rust
喵了几个咪24 分钟前
GoWind CMS 拆解:给 NL2SQL 上四把锁——智能问数的安全边界
开发语言·后端·安全·微服务·golang·gowind
多弗朗皮卡丘27 分钟前
C++的类型转换
开发语言·c++
企业解惑小助手29 分钟前
上网行为审计日志保存6个月怎么落地:从合规要求到存储架构
网络·架构·php
FLJwu44 分钟前
运动相机图像传感器选型实战|第二篇:参数看着一模一样,为什么骑行录像疯狂果冻、拖影翻车?
android·c语言·开发语言·数码相机·运动相机·oem 量产
驭渊的小故事1 小时前
从 JVM 底层看泛型:泛型擦除、Signature 属性与 Super Type Token 模式
java·开发语言·jvm
Escalating_xu1 小时前
【C语言项目实战】贪吃蛇(下):移动、碰撞与计分,完成一局可玩的游戏
c语言·开发语言·游戏
qq_401700412 小时前
Qt Modbus 源码剖析:从 QModbusClient 到工业级通信框架
开发语言·qt·系统架构