目录:
第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南
第二节 多节点OpenStack Charms 部署指南0.0.1.dev223–2-安装MAAS
第三节 多节点OpenStack Charms 部署指南0.0.1.dev223–3-安装Juju
第四节 多节点OpenStack Charms 部署指南0.0.1.dev223–4-安装openstack
第五节 多节点OpenStack Charms 部署指南0.0.1.dev223–5--使bundle安装openstack
第六节 多节点OpenStack Charms 部署指南0.0.1.dev223–6--配置vault和设置数字证书生命周期
第七节 多节点OpenStack Charms 部署指南0.0.1.dev223–7--juju 离线部署bundle
第八节 多节点OpenStack Charms 部署指南0.0.1.dev223–8--配置 OpenStack
附录 t 多节点OpenStack Charms 部署指南0.0.1.dev223–附录T–OpenStack 高可用性
第九节 多节点OpenStack Charms 部署指南0.0.1.dev223–9--网络拓扑
第十节 多节点OpenStack Charms 部署指南0.0.1.dev223–10–OpenStack 高可用基础架构实际
第十一节 多节点OpenStack Charms 部署指南0.0.1.dev223–11–访问Juju仪表板
第十二节 多节点OpenStack Charms 部署指南0.0.1.dev223–12–OpenStack 配置openstack失败后处理
第十三节 多节点OpenStack Charms 部署指南0.0.1.dev223–13–OpenStack配置高可用后无法登陆openstack dashboard
第十四节 多节点OpenStack Charms 部署指南0.0.1.dev223–14–ssh端口转发解决IDC机房国际线路不良问题
第十五节 多节点OpenStack Charms 部署指南0.0.1.dev299–15–OpenStack 实例高可用
第十六节 多节点OpenStack Charms 部署指南0.0.1.dev299–16–OpenStack基础架构高可用The easyrsa resource is missing. .
第十七节 多节点OpenStack Charms 部署指南0.0.1.dev303–17–修改实例数量等quota上限
第十八节 多节点OpenStack Charms 部署指南0.0.1.dev303–18–backup备份
第十九节 多节点OpenStack Charms 部署指南0.0.1.dev303–19–juju log
第二十节 多节点OpenStack Charms 部署指南0.0.1.dev303–20–控制器高可用性
第二十一节 多节点OpenStack Charms 部署指南0.0.1.dev303–21–控制器备份和还原
第二十二节 多节点OpenStack Charms 部署指南0.0.1.dev223–22-- Resource: res_masakari_haproxy not running
第二十三节 多节点OpenStack Charms 部署指南0.0.1.dev223–23-登录openstack-dashboad,SSLError(SSLCertVerificationError
第二十四节 多节点OpenStack Charms 部署指南0.0.1.dev223–24-Resource: res_masakari_f8b6bde_vip not running
第二十五节 多节点OpenStack Charms 部署指南0.0.1.dev223–25–rsyslog 日志服务器构建实际
第二十六节 多节点OpenStack Charms 部署指南0.0.1.dev223–26–跨model 建立关系构建rsyslog 日志服务器构建实际
第二十七节 多节点OpenStack Charms 部署指南0.0.1.dev223–27–Charm Hook
第二十八节 多节点OpenStack Charms 部署指南0.0.1.dev223–28–Command run
第三十节 多节点OpenStack Charms 部署指南0.0.1.–30–参考体系结构—Dell EMC硬件上的Canonical Charmed OpenStack(Ussuri)
第三十一节 多节点OpenStack Charms 部署指南0.0.1.–31–vm hosting-1
第三十二节 多节点OpenStack Charms 部署指南0.0.1.–32–vm hosting-2-VM host networking (snap/2.9/UI)
第三十三节 多节点OpenStack Charms 部署指南0.0.1.–33–vm hosting-3-Adding a VM host (snap/2.9/UI)
第三十四节 多节点OpenStack Charms 部署指南0.0.1.–34–vm hosting-4-VM host存储池和创建和删除vm (snap/2.9/UI)
第三十五节 多节点OpenStack Charms 部署指南0.0.1.–35–Command export-bundle备份opensack并重新部署openstack
第三十六节 多节点openstack charms 部署指南0.0.1-36-graylog实际-1
第三十七节 多节点openstack charms 部署指南0.0.1-37-graylog实际-2
第三十八节 多节点openstack charms 部署指南0.0.1-38-graylog实际-3
第三十九节 多节点openstack charms 部署指南0.0.1-39-graylog-4-filebeat
第四十节 多节点openstack charms 部署指南0.0.1-40-prometheus2
参考文档:
Web interface timed out accessed from public network behind NAT
IE、Chrome、Firefox修改http header信息
为了nat ufw方便,故需要将IP地址在maas中固定如下:
10.0.0.157 tags=apache2 端口80
10.0.9.3 tags=elasticsearch 端口9200
10.0.9.13 tags=graylog 端口9000
端口9001
部署elasticsearch,要在裸机部署。
部署mongodb
部署graylog
juju deploy cs:elasticsearch --constraints tags=elasticsearch --series focal --debug
juju deploy cs:mongodb --to lxd:0 --series focal --debug
juju deploy cs:graylog-47 --constraints tags=graylog --series focal --debug
juju relate graylog:mongodb mongodb:database
juju relate graylog:elasticsearch elasticsearch:client
juju run-action --wait graylog/0 show-admin-password
#以下apache2反向代理部署,现先要看只使用nat穿透,而不使用代理的情况,故先注释掉
#juju deploy cs:apache2 --constraints tags=apache2 --series focal --debug
#juju config apache2 "enable_modules='headers proxy_html proxy_http'"
#juju config apache2 "vhost_http_template=$(base64 ./graylog-vhost.tmpl)"
#juju expose apache2
#juju relate apache2:reverseproxy graylog:website
我的大概的网络架构是这样的:
[client]—[Internet]—[Firewall]—[Switch]—[Graylog]
按照Graylog #47配置完毕后,使用浏览器登陆graylog,出现下图:
根据提示查了下资料,大概说可以使用以下方法解决:
1 使用reverse proxy ,apache,haproxy或者ngix都可以。
2 使用浏览器插件,修改http header,使用NAT穿透。
仅使用NAT穿透:
虽然推荐的方法是在网关处搭建apache2反向代理,但是由于现在用的是ubuntu 20.04 ufw防火墙,所以不太想使用个结构上略微重复的反向代理,没想到相关配置的资料比较少,也许是因为如果节点多,以后扩展会配置负载均衡吧。
开始如36节所示,配置了apache2做反向代理,后来发现可以不配置,直接nat到garylog服务器的私网地址。
可以在需要在访问graylog的client的浏览器上,使用浏览器插件,修改http header,如下所示:
然后,使用浏览器登陆:http://公网ip:59000
以为成功了,没想到坑在后面,使用juju run-action --wait graylog/0 show-admin-password获得密码,使用admin,并用获得的密码登陆,然后出现:
还得继续查原因啊,看来还是graylog 的uri参数配置问题,具体原因待查。。。。
##在私网下搭建apache2
看来不能偷懒,还是需要配置apache2反向代理吧。
编写graylog-vhost.tmpl
vim graylog-vhost.tmpl
<Location "/">
RequestHeader set X-Graylog-Server-URL "http://{{servername}}/api/"
ProxyPass http://{{graylog_web}}/
ProxyPassReverse http://{{graylog_web}}/
</Location>
<Location "/api/">
ProxyPass http://{{graylog_api}}/api/
ProxyPassReverse http://{{graylog_api}}/api/
</Location>
juju deploy cs:apache2 --constraints tags=apache2 --series focal --debug
juju config apache2 "enable_modules='headers proxy_html proxy_http'"
juju config apache2 "vhost_http_template=$(base64 ./graylog-vhost.tmpl)"
juju expose apache2
juju relate apache2:reverseproxy graylog:website
调试apache2,需要进入apache2/0单元执行
juju ssh apache2/0
启用代理模块
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
重启apache2
sudo service apache2 restart
查看apache2 状态
systemctl status apache2.service
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2021-06-03 05:09:57 UTC; 11s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 20902 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
Jun 03 05:09:57 node6 systemd[1]: Starting The Apache HTTP Server...
Jun 03 05:09:57 node6 apachectl[20918]: AH00526: Syntax error on line 2 of /etc/apache2/sites-enabled/10.0.0.157_http.conf:
Jun 03 05:09:57 node6 apachectl[20918]: Invalid command 'RequestHeader', perhaps misspelled or defined by a module not included in the server co>
Jun 03 05:09:57 node6 apachectl[20902]: Action 'start' failed.
Jun 03 05:09:57 node6 apachectl[20902]: The Apache error log may have more information.
Jun 03 05:09:57 node6 systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Jun 03 05:09:57 node6 systemd[1]: apache2.service: Failed with result 'exit-code'.
Jun 03 05:09:57 node6 systemd[1]: Failed to start The Apache HTTP Server.
开启header功能
sudo a2enmod headers
再次重启apache2,并查看状态
sudo service apache2 restart
systemctl status apache2.service
然后将
juju config graylog web_endpoint_uri=http://NAT网关公网ip:50080/api/
再取消浏览器插件,不再用插件来变更request header为X-Graylog-Server-URL,因为在apache2反向代理中已经添加了。
然后:http://nat网关公网ip:9000/api/
期待了许久的graylog页面出现了: