OpenStack 图形化Dashboard [七]

本文介绍了OpenStack的图形化Dashboard(Horizon)的使用,包括通过Horizon进行虚拟机创建的详细流程,涉及认证、REST API、NOVA、Glance、Neutron和Cinder等多个组件的交互。此外,还提到了Horizon的配置,如认证API版本、默认角色和时区设置,并展示了如何通过Horizon管理云主机、网络、安全组和密钥对。

OpenStack 图形化Dashboard [七]

标签(空格分隔): openstack
时间:2016年11月28日
博客地址:www.abcdocker.com
公众号:abcdocker
部署openstack管理服务
Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。

Dashboard
提供一个web界面操作openstack的系统,使用Django框架基于openstack API开发,支持session存储在DB memcached 支持集群

安装软件包:

[root@linux-node1 ~]# yum install openstack-dashboard -y

虚拟机创建流程
image_1b2kr32ei14lt1sqc1gbj6m785r9.png-139.1kB
第一步,图形界面输入用户名密码到keyston进行认证,认证通过之后会分配一个token,然后使用该token即可访问其他服务,第二步将创建虚拟机的请求转换给REST API并发送给NOVA API,然后其拿着此token到keyston查询是否合法,第四步NOV api和数据库进行交互,将要创建的虚拟机信息写入到数据库,第五步发送消息大rabbitMQ,消息会发送给nova scheduler,第六步nova scheduler算法确认虚拟机将被创建在哪个物理机上,第七步nova scheduler和数据库进行交互,将虚拟机生成的信息写入到数据库,第八步nova computer接收到消息进行虚拟机创建,第九步nova computer到数据库查询该虚拟机要创建的信息,第十步nova conductor和数据库进行沟通,新版的openstack使用nova conductor代替第九步的操作,第十一步nova conductor更新数据库信息,然后nova computer从数据库获取到虚拟机的创建信息后进行下一步创建虚拟机的操作,第十二步联系glance获取镜像,第十三步glace联系keyston进行认证,第十四步联系neutron获取网络,第十五步neutron联系keyston进行认证,第十六步nova computer再联系cinder获取磁盘,第十七不cinder再到keyston进行认证,第十八步mova computer调用KVM创建虚拟机。

查看角色

[root@linux-node1 ~]# openstack role list
+----------------------------------+-------+
| ID                               | Name  |
+----------------------------------+-------+
| 4161dec8714f468f832a55a6ec2abb9e | user  |
| c934dad680e142d09c434e2301b2a9bf | admin |
+----------------------------------+-------+

编辑文件/etc/openstack-dashboard/local_settings

[root@linux-node1 ~]# vim /etc/openstack-dashboard/local_settings

允许所有主机访问仪表板

30 ALLOWED_HOSTS = ['*', ]

配置API版本

 55 OPENSTACK_API_VERSIONS = {
 56 #    "data-processing": 1.1,
 57     "identity": 3,
 58     "volume": 2,
 59     "compute": 2,
 60 }
### OpenStack Horizon 创建域的操作指南 OpenStackHorizon 是其核心组件之一,它为管理员和最终用户提供了一个基于 Web 的图形化界面。通过该界面可以方便地管理和监控整个云环境中的资源[^1]。 为了实现多租户隔离以及更细粒度的身份验证管理功能,在 Keystone 中引入了 **Domain(域)** 的概念。以下是关于如何在 OpenStack Horizon 图形界面上创建新域的具体方法: #### 配置准备 要启用 Domain 功能,需先修改 `local_settings` 文件以允许 Dashboard 支持多域模式。具体操作如下: 编辑 `/etc/openstack-dashboard/local_settings` 文件,并找到以下参数设置部分[^2]: ```python OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True ``` 确保此选项被设为 `True` 后保存更改并重启 Horizon 服务使配置生效。 #### 步骤说明 登录到您的 OpenStack Horizon 控制台之后,请按照下面描述的方式执行相应动作来新增自定义 Domains: 1. 登录至具有 admin 权限账户下的 Horizon Portal; 2. 导航菜单栏选择 “Identity -> Domains”,这会展示当前已存在的所有 domains 列表页面; 3. 点击右上角按钮“Create Domain” 开始新建流程; 4. 输入必要的字段信息比如名称 (Name),描述(Description)等属性值; 5. 完成填写后点击提交确认即可成功建立一个新的 domain 实体对象[^4]。 需要注意的是只有具备 sufficient privileges 的用户才能访问上述路径并实施这些变更行为。 此外还可以借助 API 或 CLI 工具完成同样目的的任务处理过程。如果希望进一步定制化显示效果或者扩展其他特性,则可能涉及到调整 backend configurations 和 frontend templates等内容[^3]。 --- ### 示例代码片段 这里给出一段简单的 Python 脚本用于演示如何利用 keystoneclient 库调用 RESTful APIs 自动化生成新的 Domains: ```python from keystoneauth1 import session, identity from keystoneclient.v3 import client as ks_client auth_url = 'http://<controller-ip>:5000/v3' username = '<your-admin-username>' password = '<your-password>' project_name = 'admin' # Authenticate with the Identity service. auth = identity.Password(auth_url=auth_url, username=username, password=password, project_name=project_name, user_domain_id='default', project_domain_id='default') sess = session.Session(auth=auth) # Create a new domain via the Client instance. ks_clt = ks_client.Client(session=sess) new_domain = ks_clt.domains.create(name="NewTestDomain", description="A test created by script.") print(f"Created Domain ID: {new_domain.id}") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值