【Openstack】实录手动部署Openstack Rocky 双节点(6)- Horizon
第一篇:手动部署Openstack Rocky 双节点(1)- 基础服务
上一篇:手动部署Openstack Rocky 双节点(5)- Neutron
下一篇:无
文章目录
- 参考文档
- 关于机器名变更
- controller / tony-controller网络配置
- compute1 / tony-compte1网络配置
- Horizon (controller-only)
- 安装软件包
- local_settings配置文件
- dashboard.conf文件
- 重启服务
- 大功告成
- 结束语
参考文档
手动部署 OpenStack Rocky 双节点
关于机器名变更
由于实验室网络冲突,机器变更如下。
原机器名 | 新机器名 | /etc/hosts文件 |
---|---|---|
controller | tony-controller | 172.18.22.231 controller |
compute | tony-compute1 | 172.18.22.232 compute1 |
controller / tony-controller网络配置
[tony@tony-controller ~]$ sudo ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP inet 172.18.22.231/24 brd 172.18.22.255 scope global noprefixroute enp0s3
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP inet 10.0.0.1/24 brd 10.0.0.255 scope global noprefixroute enp0s8
4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP inet 10.238.156.138/23 brd 10.238.157.255 scope global noprefixroute dynamic
compute1 / tony-compte1网络配置
[tony@tony-compute1 ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP inet 172.18.22.232/24 brd 172.18.22.255 scope global noprefixroute enp0s3
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP inet 10.0.0.2/24 brd 10.0.0.255 scope global noprefixroute enp0s8
4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP inet 10.238.157.84/23 brd 10.238.157.255 scope global noprefixroute dynamic
Horizon (controller-only)
安装软件包
[tony@tony-controller ~]$ sudo yum install -y openstack-dashboard
local_settings配置文件
[tony@tony-controller ~]$ sudo diff /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.origin
38c38 (替换)
< ALLOWED_HOSTS = ['*',]
---
> ALLOWED_HOSTS = ['horizon.example.com', 'localhost']64c64 (去掉注释,启用该配置项)
< OPENSTACK_API_VERSIONS = {---
> #OPENSTACK_API_VERSIONS = {66,68c66,68 (去掉注释,启用该配置项)
< "identity": 3,
< "image": 2,
< "volume": 2,
---
> # "identity": 3,
> # "image": 2,
> # "volume": 2,
70c70 (去掉注释,确保花括号配对)
< }
---
> #}75c75(去掉注释,启用该配置项)
< OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
---
> #OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False161d160 (新加入的行)
< SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
165d163 (新加入的行)
< 'LOCATION': 'controller:11211',186c184 (修改的行)
< OPENSTACK_HOST = "controller"
---
> OPENSTACK_HOST = "127.0.0.1"188c186(修改的行)
< OPENSTACK_KEYSTONE_DEFAULT_ROLE = "myrole"
---
> OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"331,333d328(新加入的行)
< 'enable_lb': False,
< 'enable_firewall': False,
< 'enable_vpn': False,
修改的行
# /etc/openstack-dashboard/local_settings
...
OPENSTACK_HOST = "controller"
...
# Allow all hosts to access the dashboard
ALLOWED_HOSTS = ['*', ]
...
# Configure the memcached session storage service
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'CACHES = {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache','LOCATION': 'controller:11211',}
}
...
# Enable the Identity API version 3
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
...
# Enable support for domains
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
...
# Configure API versions
OPENSTACK_API_VERSIONS = {"identity": 3,"image": 2,"volume": 2,
}
...
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
...
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "myrole"
...
OPENSTACK_NEUTRON_NETWORK = {'enable_router': True,'enable_quotas': True,'enable_ipv6': True,'enable_distributed_router': False,'enable_lb': False,'enable_firewall': False,'enable_vpn': False,'enable_ha_router': False,'enable_fip_topology_check': True,'supported_vnic_types': ['*'],'physical_networks': [],
}
dashboard.conf文件
在原配置文件里,加入如下标红的一行即可。
[tony@tony-controller ~]$ sudo cat /etc/httpd/conf.d/openstack-dashboard.conf
WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
Alias /dashboard/static /usr/share/openstack-dashboard/static
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
Options All
AllowOverride All
Require all granted<Directory /usr/share/openstack-dashboard/static>
Options All
AllowOverride All
Require all granted
重启服务
# 重启httpd服务
[tony@tony-controller ~]$ sudo systemctl restart httpd.service# 检查服务状态
[tony@tony-controller ~]$ sudo systemctl status httpd.service
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)Drop-In: /usr/lib/systemd/system/httpd.service.d└─openstack-dashboard.confActive: active (running) since Sat 2019-04-13 17:29:11 CST; 8s agoDocs: man:httpd(8)man:apachectl(8)Process: 5012 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)Process: 5046 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py compress --force -v0 (code=exited, status=0/SUCCESS)Process: 5025 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear -v0 (code=exited, status=0/SUCCESS)Main PID: 5083 (httpd)Status: "Processing requests..."Tasks: 56CGroup: /system.slice/httpd.service├─5083 /usr/sbin/httpd -DFOREGROUND├─5085 /usr/sbin/httpd -DFOREGROUND├─5086 /usr/sbin/httpd -DFOREGROUND├─5087 /usr/sbin/httpd -DFOREGROUND├─5088 /usr/sbin/httpd -DFOREGROUND├─5089 (wsgi:keystone- -DFOREGROUND├─5090 (wsgi:keystone- -DFOREGROUND├─5091 (wsgi:keystone- -DFOREGROUND├─5092 (wsgi:keystone- -DFOREGROUND├─5093 (wsgi:keystone- -DFOREGROUND├─5094 /usr/sbin/httpd -DFOREGROUND├─5095 /usr/sbin/httpd -DFOREGROUND├─5096 /usr/sbin/httpd -DFOREGROUND├─5097 /usr/sbin/httpd -DFOREGROUND└─5098 /usr/sbin/httpd -DFOREGROUNDApr 13 17:28:51 tony-controller systemd[1]: Stopped The Apache HTTP Server.
Apr 13 17:28:51 tony-controller systemd[1]: Starting The Apache HTTP Server...
Apr 13 17:29:11 tony-controller python[5046]: Compressing... done
Apr 13 17:29:11 tony-controller python[5046]: Compressed 7 block(s) from 4 template(s) for 2 context(s).
Apr 13 17:29:11 tony-controller systemd[1]: Started The Apache HTTP Server.# 重启memcached服务
[tony@tony-controller ~]$ sudo systemctl restart memcached.service# 检查服务状态
[tony@tony-controller ~]$ sudo systemctl status memcached.service
● memcached.service - memcached daemonLoaded: loaded (/usr/lib/systemd/system/memcached.service; disabled; vendor preset: disabled)Active: active (running) since Sat 2019-04-13 17:29:30 CST; 16s agoMain PID: 5179 (memcached)Tasks: 10CGroup: /system.slice/memcached.service└─5179 /usr/bin/memcached -p 11211 -u memcached -m 64 -c 1024 -l 127.0.0.1,::1,controllerApr 13 17:29:30 tony-controller systemd[1]: Stopped memcached daemon.
Apr 13 17:29:30 tony-controller systemd[1]: Started memcached daemon.# 检查controller上httpd服务侦听的端口
[tony@tony-controller ~]$ sudo netstat -anp | grep -w LISTEN | grep httpd
tcp6 0 0 :::5000 :::* LISTEN 5083/httpd
tcp6 0 0 :::8778 :::* LISTEN 5083/httpd
tcp6 0 0 :::80 :::* LISTEN 5083/httpd# 检查controller上所有的服务端口
[tony@tony-controller ~]$ sudo netstat -anp | grep -w LISTEN
tcp 0 0 0.0.0.0:8774 0.0.0.0:* LISTEN 22264/python2
tcp 0 0 0.0.0.0:8775 0.0.0.0:* LISTEN 22264/python2
tcp 0 0 0.0.0.0:9191 0.0.0.0:* LISTEN 3450/python2
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 3438/beam
tcp 0 0 127.0.0.1:6633 0.0.0.0:* LISTEN 30206/python2
tcp 0 0 172.18.22.231:3306 0.0.0.0:* LISTEN 3674/mysqld
tcp 0 0 172.18.22.231:11211 0.0.0.0:* LISTEN 5179/memcached
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 5179/memcached
tcp 0 0 172.18.22.231:2379 0.0.0.0:* LISTEN 3461/etcd
tcp 0 0 0.0.0.0:9292 0.0.0.0:* LISTEN 3437/python2
tcp 0 0 172.18.22.231:2380 0.0.0.0:* LISTEN 3461/etcd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 127.0.0.1:6640 0.0.0.0:* LISTEN 2961/ovsdb-server
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3434/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4126/master
tcp 0 0 0.0.0.0:9696 0.0.0.0:* LISTEN 22322/python2
tcp 0 0 0.0.0.0:6080 0.0.0.0:* LISTEN 3436/python2
tcp6 0 0 :::5000 :::* LISTEN 5083/httpd
tcp6 0 0 :::5672 :::* LISTEN 3438/beam
tcp6 0 0 :::8778 :::* LISTEN 5083/httpd
tcp6 0 0 ::1:11211 :::* LISTEN 5179/memcached
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::80 :::* LISTEN 5083/httpd
tcp6 0 0 :::22 :::* LISTEN 3434/sshd
tcp6 0 0 ::1:25 :::* LISTEN 4126/master
大功告成
看起来一切正常,尝试在浏览器中输入http://tony-controller/dashboard,进入openstack登录界面。
登录Openstack之后的主窗口界面。
结束语
自此,手动在双机上安装OpenStack Rocky的实录工作正式完成。
第一篇:手动部署Openstack Rocky 双节点(1)- 基础服务
上一篇:手动部署Openstack Rocky 双节点(5)- Neutron
下一篇:无
【Openstack】实录手动部署Openstack Rocky 双节点(6)- Horizon相关推荐
- 【Openstack】实录手动部署Openstack Rocky 双节点(4)- Nova
第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(3)- Glance 下一篇:实录手动部署Openstack ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(3)- Glance
第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(2)- Keystone 下一篇:手动部署Openstack ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(2)- Keystone
第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 下一篇:手动部署Openstack Rock ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(1)- 基础服务
第一篇:本文 上一篇:无 下一篇:实录手动部署Openstack Rocky 双节点(2)- Keystone 文章目录 参考文档 虚拟机准备 OS准备 controller虚拟机 compute虚拟 ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(5)- Neutron
第一篇:手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:手动部署Openstack Rocky 双节点(4)- Nova 下一篇:手动部署Openstack Rocky 双节 ...
- 手动部署OpenStack之环境部署
手动部署OpenStack之环境部署 一.虚拟机信息 二.基础环境配置 三.系统环境配置 一.虚拟机信息 1.控制节点ct CPU:双核双线程-CPU虚拟化开启 内存:8G 硬盘:300G+300G( ...
- 手动部署OpenStack环境(六:出现的问题与解决方案总结)
排错一:keystone服务安装中demo用户表单没信息. 排错思路: 组件安装是否有问题: 用户创建畲缶有问题: 用户认证信息是否合适: 原因:用户的认证信息配置错误. 解决方案: a)删除有关de ...
- 手动部署OpenStack环境(四:安装控制器必备软件)
任务四.安装控制器必备组件 4.1.安装MySQL服务(controller0) 4.2.安装Rabbitmq消息队列(controller0) 4.3.Keystone认证(controller0) ...
- 手动部署OpenStack环境(三:OpenStack环境预配置)
任务三.OpenStack环境预配置 3.1.本地OpenStack yum源制作 任务三:OpenStack环境预配置 3.1.本地OpenStack yum 源制作 3.1.1.拷贝镜像文件源到本 ...
最新文章
- java代码实现count排序_java计数排序
- CentOS 6.5安装python3.3.4
- hadoop过程中遇到的错误与解决方法
- ORACLE安装报错解决
- eeprom stm8l 擦除 读写_[STM8L]EEPROM操作读与写
- Spring Boot这只怪物到底是如何跑起来的?
- 空指针异常,源头没有值
- 【实践】基于CentOS7部署Ceph集群(版本10.2.2)
- 米聊之死 雷军的“猪”折了腿?
- VB、C#等高级语言与三菱PLC(Q系列、L系列、FX系列)串口、以太网通讯的DLL及源代码
- 全志系列芯片选型简介
- centos挂载u盘只读_解决CentOS自动挂载U盘/SD Card被识别为只读文件系统
- CENTOS 7 静默安装 ORACLE 19C
- matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵
- Linux科普扫盲系列(Linux启动安装U盘的制作)
- 在 KEIL 官网下载 Pcks
- Github Copilot 和 Github Copilot Nightly 的区别
- 【云原生微服务八】Ribbon负载均衡策略之WeightedResponseTimeRule源码剖析(响应时间加权)
- Mac水印去除软件:HitPaw Watermark Remover
- dubbo admin 无法启动提示:zookeeper not connected 解决方案
热门文章
- 从零开始学Pytorch(零)之安装Pytorch
- OpenCV+Python(官方中文版翻译)
- 有小数点是什么类型_「JAVA零基础入门系列」Day3 Java基本数据类型
- java设计模式 建造模式_理解java设计模式之建造者模式
- 如何判断map为空_Java到底如何更优雅地判空
- python开发环境有哪些_python编程需要什么环境
- if循环java语句_java-条件判断和循环语句
- 小程序文本框为空自动填写_微信免费转码机器人!小程序自动转码!
- [渲染层错误] multipolyline.styles: 样式id_【译】关于 SPA,你需要掌握的 4 层
- android微信条码支付接口,Android中调用微信支付接口