设为首页 收藏本站
查看: 1320|回复: 0

[经验分享] 开源云openstack安装文档(实验探讨版)

[复制链接]

尚未签到

发表于 2018-6-2 14:24:41 | 显示全部楼层 |阅读模式
  1.说明
Openstack 是一款开源的云计算系统,本文档将介绍一种企业开源云的应用方案,此方案是使用openstack 搭建私有云,利用iptables nat转发使用公网访问私有云。
结构如下:


图1


2

  2.安装openstack compute
2.1 安装前规划
安装openstack前需要对openstack进行规划:
服务器的规划:
服务器
用途
说明
121.194.3.225/232
Compute   controller
用于控制compute以及NAT转发控制,另外安装web管理API
121.194.3.215
Compute   node /storerage
Compute   节点,云存储共享
网络的规划:
网络
用途
说明
192.168.0.0/24
云项目cernet的私有IP
使用flatdhcp模式
192.168.1.0/24
云项目cernet2的私有IP
使用flatdhcp模式
注意:
  Openstack 支持3种网络模式,flat/flat dhcp/vlan 其中flat模式为默认模式,需要在网络端口配置网桥,使用网桥将私网和外网连接通讯,本文档为了方便使用的是flatdhcp模式,这种模式的私网IP地址是自动分配的。
  2.2 安装准备
  2台服务器都需要安装ubuntu10 server 版本,并保证网络畅通。需要提前安装数据库mysql
  2.3 安装软件
       安装可以有很多种方法,官方提供的有脚本安装和手工安装,为了了解整个过程,这里采用手工安装服务器系统。下面将介绍一步一步安装的过程:
  2.3.1 安装基本包
Nova PPA配置:
#apt-get install python-software-properties
#add-apt-repository ppa:nova-core/trunk
#apt-get update

  2.3.2 配置nova
#addgroup nova


  2.3.3 安装数据库
安装MYSQL前设置:
bash
MYSQL_PASS=nova
cat <<MYSQL_PRESEED | debconf-set-selections
mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS
mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS
mysql-server-5.1 mysql-server/start_on_boot boolean true
MYSQL_PRESEED


#apt-get install mysql-server

设置mysqlroot密码为nova
#sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
#service mysql restart
#mysql -uroot -pnova -e 'CREATE DATABASE nova;'
#mysql -uroot -pnova -e &quot;GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;&quot;
#mysql -uroot -pnova -e &quot;SET PASSWORD FOR 'root'@'%' = PASSWORD('nova');&quot;

  2.3.4 安装云控制端
#apt-get install -y rabbitmq-server
#apt-get install -y python-greenlet python-mysqldb
#apt-get install -y nova-common nova-doc python-nova nova-api
#apt-get install -y nova-network nova-objectstore nova-scheduler nova-compute
#apt-get install -y euca2ools unzip
# modprobe kvm
# modprobe nbd
#chgrp kvm /dev/kvm
#chmod g+rwx /dev/kvm


  2.3.5 安装compute node
node服务器上,安装所有的control端的包
#apt-get install python-greenlet python-mysqldb python-nova nova-common nova-doc nova-api nova-network nova-objectstore nova-scheduler nova-compute rabbitmq-server euca2ools unzip

重启服务:
#libvirtd restart; restart nova-network; restart nova-compute;
#restart nova-api; restart nova-objectstore; restart nova-scheduler

配置nova.conf
#addgroup nova

添加配置信息:
--daemonize=1
--s3_host=121.194.3.215
--rabbit_host=121.194.3.215
--cc_host=121.194.3.215
--ec2_url=http://121.194.3.215:8773/services/Cloud
--fixed_range=192.168.0.0/12
--network_size=8
--FAKE_subdomain=ec2
--routing_source_ip=121.194.3.215
--sql_connection=mysql://root:nova@121.194.3.215/nova
--network_manager=nova.network.manager.FlatDHCPManager
--flat_network_dhcp_start=192.168.1.2
--public_interface=eth0
--flat_interface=eth0
--routing_source_ip=121.194.3.215
--flat_injected=False


其中121.194.3.215
#chown -R root:nova /etc/nova
#chmod 644 /etc/nova/nova.conf

  2.4 配置compute  2.4.1环境配置
#nova-manage db sync

创建管理用户
#nova-manage user admin root

创建project
#nova-manage project create cernet root

创建network
#nova-manage network create 192.168.1.0/24 1 255

  2.4.2 认证配置
#mkdir -p /root/creds
#nova-manage project zipfile cernet root /root/creds/novacreds.zip
#unzip /root/creds/novacreds.zip -d /root/creds/
# . /root/creds/novarc

或者将novarc的环境变量加入到系统初始环境变量文件中
#cat /root/creds/novarc >> ~/.bashrc
#source ~/.bashrc

  2.4.3 权限配置
基本服务:
#euca-authorize -P icmp -t -1:-1 default
#euca-authorize -P tcp -p 22 default

对外扩展服务(可以根据需要定制):
#euca-authorize -P tcp –p 80 default
#euca-authorize -P tcp –p 21 default
#euca-authorize -P tcp –p 8080 default
#euca-authoriz -P tcp –p 3306 default

配置完毕后重启服务:
#killall dnsmasq
#service nova-network restart

  2.5 安装images
下载
#wget http://uec-images.ubuntu.com/releases/10.04/release/ubuntu-10.04-server-uec-amd64.tar.gz

安装:
# uec-publish-tarball ubuntu-10.04-server-uec-amd64.tar.gz dub-bucket x86_64

查看安装的images
# euca-describe-images

可以看到$emi
  2.6 instance操作
创建key:
#euca-add-keypair mykey > mykey.priv
#chmod 600 mykey.priv

启动:
# euca-run-instances $emi -k mykey -t m1.tiny

查看instance
#euca-describe-instances

登录instance
#ssh -i /root/creds/mykey.priv root@instanceip

删除instance
# euca-terminate-instances

  3.安装openstack compute node  4. web 管理界面安装配置  4.1 下载更新包
#apt-get install bzr

更新包:
#mkdir src
#cd src
# mkdir django-nova
#cd django-nova
#bzr init-repo .
# bzr branch lp:django-nova/trunk
#cd ..
# mkdir openstack-dashboard
# cd openstack-dashboard
# bzr init-repo .
# bzr branch lp:openstack-dashboard trunk

  4.2 安装virtualenv
# easy_install virtualenv

  4.3安装接口
# python tools/install_venv.py
#cd local
# cp local_settings.py.example local_settings.py
#vi local_settings.py

找到选项修改成:(其他的不变)
NOVA_DEFAULT_ENDPOINT = 'http://localhost:8773/services/Cloud'
NOVA_DEFAULT_REGION = 'nova'
NOVA_ACCESS_KEY = '3305597a-baec-499a-9ce8-9743037683ff:cernet'
NOVA_SECRET_KEY = '9013b44f-7f74-4c67-a743-49c364e8289e'
NOVA_ADMIN_USER = 'root'
NOVA_PROJECT = 'cernet'
# tools/with_venv.sh dashboard/manage.py syncdb

根据提示进行配置,需要设置界面管理的超级账号和密码,这里设置为root/welldone
安装完成界面如下:



最后一行提示为No fixtures found.
启动接口:
#tools/with_venv.sh dashboard/manage.py runserver 0.0.0.0:80

访问接口:
http://121.194.3.215/

打开界面如下:

  5. IPTABLES 映射
5.1 准备工作
网络准备:
需要在公网端口上绑定多个IP,使用NAT方式访问网络
系统配置:
#sysctl -w net.ipv4.ip_forward=1

重启系统
#init 6

  5.2 NAT内网访问外网
#iptables -t nat -A SNAT -s 192.168.0.8/32 -j SNAT --to-source 121.194.3.232

说明:
192.168.0.8instance 的私网IP地址
121.194.3.232为绑定到公网端口的IP地址

  5.3 NAT 外网访问内网
#iptables -t nat -A OUTPUT -p tcp -d 121.194.3.232 --dport 80 -j DNAT --to-destination 192.168.0.8:80
#iptables -t nat -A PREROUTING -p tcp -d 121.194.3.232 --dport 80 -j DNAT --to-destination 192.168.0.8:80
如果提示没有SNAT OUTPUTchain,使用下面命令
#nova-manage floating create ubuntu-server225 121.194.3.0/26
注意:ubuntu-server225为服务器的hostname
# euca-allocate-address 121.194.3.232
# euca-associate-address -i i-1 121.194.3.232
#iptables –t nat -A nova-network-OUTPUT -d 121.194.3.232/32 –p tcp –dport 80 -j DNAT --to-destination 192.168.1.2:80
#iptables –t nat -A nova-network-PREROUTING -d 121.194.3.232/32 –p tcp –dport 80 -j DNAT --to-destination 192.168.1.2:80


说明:
80端口映射到外部进行访问,也可以全部映射,一般不建议全部端口映射
全部映射:
-A nova-network-OUTPUT -d 121.194.3.232/32 -j DNAT --to-destination 192.168.1.2
-A nova-network-PREROUTING -d 121.194.3.232/32 -j DNAT --to-destination 192.168.1.2

#iptables -t nat -A OUTPUT -d 121.194.3.232/32 -j DNAT --to-destination 192.168.0.8
#iptables -t nat -A PREROUTING -d 121.194.3.232/32 -j DNAT --to-destination 192.168.0.8

  6.一些常见安装问题  6.1 检查CPU是否支持kvm
#kvm-ok

如果不支持:
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

如果支持:
INFO: Your CPU supports KVM extensions
INFO: /dev/kvm exists
KVM acceleration can be used

  6.2 如果进行了NAT转发后还是外部无法访问
可以执行下面命令进行尝试
#nova-manage floating create my-hostname 121.194.3.232/32
#euca-allocate-address 121.194.3.232
#euca-associate-address -i i-1 121.194.3.232





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-508166-1-1.html 上篇帖子: OpenStack部署手册 下篇帖子: openstack下service和endpoint
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表