第一篇:手动部署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相关推荐

  1. 【Openstack】实录手动部署Openstack Rocky 双节点(4)- Nova

    第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(3)- Glance 下一篇:实录手动部署Openstack ...

  2. 【Openstack】实录手动部署Openstack Rocky 双节点(3)- Glance

    第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(2)- Keystone 下一篇:手动部署Openstack ...

  3. 【Openstack】实录手动部署Openstack Rocky 双节点(2)- Keystone

    第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 下一篇:手动部署Openstack Rock ...

  4. 【Openstack】实录手动部署Openstack Rocky 双节点(1)- 基础服务

    第一篇:本文 上一篇:无 下一篇:实录手动部署Openstack Rocky 双节点(2)- Keystone 文章目录 参考文档 虚拟机准备 OS准备 controller虚拟机 compute虚拟 ...

  5. 【Openstack】实录手动部署Openstack Rocky 双节点(5)- Neutron

    第一篇:手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:手动部署Openstack Rocky 双节点(4)- Nova 下一篇:手动部署Openstack Rocky 双节 ...

  6. 手动部署OpenStack之环境部署

    手动部署OpenStack之环境部署 一.虚拟机信息 二.基础环境配置 三.系统环境配置 一.虚拟机信息 1.控制节点ct CPU:双核双线程-CPU虚拟化开启 内存:8G 硬盘:300G+300G( ...

  7. 手动部署OpenStack环境(六:出现的问题与解决方案总结)

    排错一:keystone服务安装中demo用户表单没信息. 排错思路: 组件安装是否有问题: 用户创建畲缶有问题: 用户认证信息是否合适: 原因:用户的认证信息配置错误. 解决方案: a)删除有关de ...

  8. 手动部署OpenStack环境(四:安装控制器必备软件)

    任务四.安装控制器必备组件 4.1.安装MySQL服务(controller0) 4.2.安装Rabbitmq消息队列(controller0) 4.3.Keystone认证(controller0) ...

  9. 手动部署OpenStack环境(三:OpenStack环境预配置)

    任务三.OpenStack环境预配置 3.1.本地OpenStack yum源制作 任务三:OpenStack环境预配置 3.1.本地OpenStack yum 源制作 3.1.1.拷贝镜像文件源到本 ...

最新文章

  1. java代码实现count排序_java计数排序
  2. CentOS 6.5安装python3.3.4
  3. hadoop过程中遇到的错误与解决方法
  4. ORACLE安装报错解决
  5. eeprom stm8l 擦除 读写_[STM8L]EEPROM操作读与写
  6. Spring Boot这只怪物到底是如何跑起来的?
  7. 空指针异常,源头没有值
  8. 【实践】基于CentOS7部署Ceph集群(版本10.2.2)
  9. 米聊之死 雷军的“猪”折了腿?
  10. VB、C#等高级语言与三菱PLC(Q系列、L系列、FX系列)串口、以太网通讯的DLL及源代码
  11. 全志系列芯片选型简介
  12. centos挂载u盘只读_解决CentOS自动挂载U盘/SD Card被识别为只读文件系统
  13. CENTOS 7 静默安装 ORACLE 19C
  14. matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵
  15. Linux科普扫盲系列(Linux启动安装U盘的制作)
  16. 在 KEIL 官网下载 Pcks
  17. Github Copilot 和 Github Copilot Nightly 的区别
  18. 【云原生微服务八】Ribbon负载均衡策略之WeightedResponseTimeRule源码剖析(响应时间加权)
  19. Mac水印去除软件:HitPaw Watermark Remover
  20. dubbo admin 无法启动提示:zookeeper not connected 解决方案

热门文章

  1. 从零开始学Pytorch(零)之安装Pytorch
  2. OpenCV+Python(官方中文版翻译)
  3. 有小数点是什么类型_「JAVA零基础入门系列」Day3 Java基本数据类型
  4. java设计模式 建造模式_理解java设计模式之建造者模式
  5. 如何判断map为空_Java到底如何更优雅地判空
  6. python开发环境有哪些_python编程需要什么环境
  7. if循环java语句_java-条件判断和循环语句
  8. 小程序文本框为空自动填写_微信免费转码机器人!小程序自动转码!
  9. [渲染层错误] multipolyline.styles: 样式id_【译】关于 SPA,你需要掌握的 4 层
  10. android微信条码支付接口,Android中调用微信支付接口