使用RDO搭建OpenStack POC环境
来源:互联网 发布:高德地图数据导出 编辑:程序博客网 时间:2024/06/07 12:00
先说句题外话,因为最近两年参与了公司的一个微服务项目,整个系统可以由一套基于SaltScript的CD工具搭建起来,但是整套环境需要多个node,而且配置参数繁多,非常容易部署失败。这种情况下,环境成本非常高,直接造成开发测试效率的降低。所以我认为产品的系统设计必须包含开发视图,考虑到开发各阶段的环境搭建,特性验证,桩数据来源等问题并输出测试方案。不管产品部署后是分布式的还是多实例的,总要有一个能够让开发人员快速搭建的轻量化版本,可以运行在开发环境上,无需过多的依赖,这样才能够让开发人员聚焦在特性开发,而不必纠结于环境问题。
RDO的packstack就为很多OpenStack学习和开发用户提供了一种高效快速搭建环境的方式。
POC意味Proof of Concept,就是概念验证的意思,可以通俗理解为简单的测试环境,所以这种方式搭建的OpenStack肯定不能用于生产环境,通常是在个人环境(比如PC)上跑相关服务,能够快速开发验证相关特性。
Readhat/CentOS和Ubuntu上都有OpenStack的POC项目,个人感觉RDO(RPM Distribution of OpenStack)的更好用些。官方指导文档在这里。
我是在Macbook Pro上装的VirtualBox,在VirtualBox上装的CentOS7,用了两块虚拟网卡,一块是NAT,一块是host-only,分别用于跟外网和Mac连接,当然你也可以用bridge的方式,CPU 4核,内存6G,硬盘20G,这里不再详述。
使用root用户登录进CentOS后,需要进行一些设置。
1.配置环境变量
LANG=en_US.utf-8LC_ALL=en_US.utf-8
2.关闭SeLinux、防火墙等
systemctl disable firewalldsystemctl stop firewalldsystemctl disable NetworkManagersystemctl stop NetworkManagersystemctl enable networksystemctl start network
SeLinux的配置文件在/etc/selinux/config,里面配置disable,然后reboot
完成之后,很简单的几个命令
1.CentOS的extra repository提供了支持OpenStack repository的RPM,所以可以直接安装OpenStack的repository。
yum install -y centos-release-openstack-pike
2.更新package
yum update -y3.安装packstack。packstack是红帽提供的用Puppet安装OpenStack的一套工具,虽然我只在一台虚拟机上安装OpenStack,但是packstack支持多个node。
yum install -y openstack-packstack
4.运行packstack,将OpenStack安装到一个node上。
packstack —allinone
安装成功后可以访问dashboard了,用户名密码在家目录的keystonerc_admin文件中。
在安装过程中遇到几个问题,所以实际上上面的过程反复重复了好几次,最后才安装成功。
首先,最容易出错的是在最后一步Applying 10.0.2.15_controller.pp时,有两次报了不同的错误,比如Timeout, 比如下面这个:
Error: Evaluation Error: Error while evaluating a Function Call, empty()
没有找到问题的具体原因,但是怀疑跟网络环境有关,最后一次使用了VPN连接到美国的服务器,没有再报错。
其次,安装成功后,浏览器打不开dashboard。我的环境可能因为配了两块网卡,从Mac访问时用的是host-only网络,检查了httpd的配置文件,在/etc/httpd/conf.d/15-horizon_vhost.conf中,将两个网卡的IP地址都配到了ServerAlias中,如下, 问题解决。
# ************************************# Vhost template in module puppetlabs-apache# Managed by Puppet# ************************************<VirtualHost *:80> ServerName centos7.jnpr.net ## Vhost docroot DocumentRoot "/var/www/" ## Alias declarations for resources outside the DocumentRoot Alias /dashboard/static "/usr/share/openstack-dashboard/static" ## Directories, there should at least be a declaration for /var/www/ <Directory "/var/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> ## Logging ErrorLog "/var/log/httpd/horizon_error.log" ServerSignature Off CustomLog "/var/log/httpd/horizon_access.log" combined ## RedirectMatch rules RedirectMatch permanent ^/$ /dashboard ## Server aliases ServerAlias 10.0.2.15 ServerAlias 192.168.56.103 ServerAlias localhost WSGIApplicationGroup %{GLOBAL} WSGIDaemonProcess apache group=apache processes=3 threads=10 user=apache WSGIProcessGroup apache WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi</VirtualHost>
如果需要在host上直接访问OpenStack各个service的RESTful API,有可能需要将各service的proxy bind ip改
一下,这个问题也只有在NAT网络的情况下存在。以swift service为例,默认只绑定了NAT网卡的IP,这样从host就无法访问swift的REST,方式是修改/etc/swift/proxy-server.conf,将bind_ip改为0.0.0.0,然后重启swift proxy服务
systemctl restart openstack-swift-proxy.service
阅读全文
0 0
- 使用RDO搭建OpenStack POC环境
- RDO部署openstack环境
- 使用rdo安装openstack
- Install And Configure Openstack Mitaka RDO On CentOS 7 [For POC]
- Install And Configure Openstack Mitaka RDO On CentOS 7 [For POC]
- 使用RDO方式安装 Openstack教程
- CENTOS 7.2 使用 RDO 安装 OPENSTACK
- J版的Openstack的DVR搭建流程(RDO)
- Centos+RDO 构建自己的openstack实验环境(笔记)
- 利用rdo,创建openstack多节点环境(controller+compute)
- 使用Docker搭建Struts2-048漏洞环境及Python PoC验证
- 使用RDO安装havana、icehouse版本的openstack(centos)
- centos7使用rdo安装openstack遇到的问题
- [openstack] RDO Quickstart
- RDO安装Openstack ICEHOUSE
- rdo安装openstack
- DSR on Openstack POC
- OpenStack开发环境搭建
- stm32在rt-thread上的SysTick(系统定时器)
- 解决linux下tomcat8上传图片无法通过Nginx查看的问题
- 高并发压力下nginx动静分离、nginx代理缓存两种模式的性能比较
- 大津法python
- Unity3D中物体的碰撞和移动所需函数与数据
- 使用RDO搭建OpenStack POC环境
- 单向链表的创建与遍历
- 第三周项目4
- mybatis入门--以新人的角度看问题
- hibernate4使用原生jdbc进行批处理
- 翻转数组(C语言实现)
- Cocoapods 错误
- qt多线程设计
- left join中on与where的区别