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

[经验分享] OpenStack(企业私有云)万里长征第三步

[复制链接]
发表于 2017-12-4 18:23:41 | 显示全部楼层 |阅读模式
一、前言
  折腾了一两个月(中间有事耽搁了半个月),至今日基本调试成功OpenStack,现将中间的部分心得记录下来。

二、环境
  使用的是devstack newton版。具体部署过程可以参考cloudman的视频http://cloudman.cc/。

三、部分细节

3.1 操作系统


  •   ubuntu16.04版,在安装软件环节选择虚拟host项。

  •   启用root账户。

  •   修改阿里的apt源。

  •   修改豆瓣的pip源(root用户和stack用户均需修改)。

3.2 下载及配置openstack


  • 下载
  git clone https://git.openstack.org/openstack-dev/devstack -b stable/newton


  • 主节点配置
  

control  
[[local|localrc]]
  

  
MULTI_HOST=true
  

  
# management & api network
  
HOST_IP=192.168.166.101
  
LOGFILE=/opt/stack/logs/stack.sh.log
  

  
# Credentials
  
ADMIN_PASSWORD=admin
  
MYSQL_PASSWORD=admin
  
RABBIT_PASSWORD=admin
  
SERVICE_PASSWORD=admin
  
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
  

  
# enable neutron-ml2-vlan
  
disable_service n-net
  
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas
  
Q_AGENT=linuxbridge
  
ENABLE_TENANT_VLANS=True
  
TENANT_VLAN_RANGE=10:100
  
PHYSICAL_NETWORK=default
  

  
LOG_COLOR=True
  
LOGDIR=$DEST/logs
  
SCREEN_LOGDIR=$LOGDIR/screen
  

  
# use TryStack git mirror
  
GIT_BASE=http://git.trystack.cn
  
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
  
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
  


  • 计算节点配置
  

Compute  
[[local|localrc]]
  

  
MULTI_HOST=true
  
# management & api network
  
HOST_IP=192.168.166.102
  

  
# Credentials
  
ADMIN_PASSWORD=admin
  
MYSQL_PASSWORD=admin
  
RABBIT_PASSWORD=admin
  
SERVICE_PASSWORD=admin
  
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
  

  
# Service information
  
SERVICE_HOST=192.168.166.101
  
MYSQL_HOST=$SERVICE_HOST
  
RABBIT_HOST=$SERVICE_HOST
  
GLANCE_HOSTPORT=$SERVICE_HOST:9292
  
Q_HOST=$SERVICE_HOST
  
KEYSTONE_AUTH_HOST=$SERVICE_HOST
  
KEYSTONE_SERVICE_HOST=$SERVICE_HOST
  

  
ENABLED_SERVICES=n-cpu,q-agt,neutron
  
Q_AGENT=linuxbridge
  
ENABLE_TENANT_VLANS=True
  
TENANT_VLAN_RANGE=10:100
  
PHYSICAL_NETWORK=default
  

  
# vnc config
  
NOVA_VNC_ENABLED=True
  
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
  
VNCSERVER_LISTEN=$HOST_IP
  
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
  

  
LOG_COLOR=True
  
LOGDIR=$DEST/logs
  
SCREEN_LOGDIR=$LOGDIR/screen
  

  
# use TryStack git mirror
  
GIT_BASE=http://git.trystack.cn
  
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
  
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
  

  主从节点分别按上述配置即可安装成功。


  • 各种service含义
  

q-agt  
core agent,包括 linux bridge agent 和 open vswich agent
  

  
q-dhcp
  
dhcp agent
  

  
q-l3
  
l3 agent,提供 routing 服务
  

  
q-meta
  
neutron metadata agent
  

  
q-lbaas
  
load balance agent
  

  
q-fwass
  
firewall 服务
  
q-vpn
  
vpn agent,提供 VPN as a Service
  

3.3 实现VLAN网络
  修改/etc/neutron/plugins/ml2/ml2_conf.ini,指明vlan network与物理网卡的对应关系。
  

physical_interface_mappings = default:eth1  

  每个节点均需进行上述修改。并需要将交换机的端口设置成trunk,这样既可以实现通过VLAN的方式将各个节点之间的虚拟机连接起来。

3.4 VLAN间通信(l3 agent)
  修改/etc/neutron/l3_agent.ini(主节点计算节点均需修改)。
  interface_driver 是最重要的选项,如果 mechanism driver 选用 linux bridge,则:
  

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver  

  如果选用 open vswitch,则:
  

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver  

  之后创建router,在router中创建两个interface即可实现两个vlan之间的通信。

3.5 虚拟机访问外部网络
  修改/etc/neutron/plugins/ml2/ml2_conf.ini。
  

flat_networks=external  

  
physical_interface_mappings = default:eth1,external:eth2
  

  这里我们将外部网络的 label 命名为 “external”。重启祝节点和计算节点的neutron服务。
  web中创建一个网络,type选为flat,physical network设置为external,勾选external network项。
  创建子网,ip地址即为外部的IP地址,网关设置为外部网关。
  将此网络添加到上面创建的router的接口中。这样即可实现虚拟机访问外部网络。

3.6 外部访问虚拟机
  通过floating ip实现此功能。
  如果ping不通,可以在security group加上ingress 和egress的all tcp rule。如果ssh不通,可以在security group加上ingress 和egress的all tcp rule。

3.7 虚拟机中安装ubuntu系统
  下载ubuntu cloud镜像。地址:http://cloud-images.ubuntu.com/xenial/current/。
  添加镜像并部署instance,区别在于部署instance的时候需要设置key pair(私钥),通过此私钥进行登陆。
  执行下述语句使得可以远程ssh连接ubuntu(假定已经设置了floating ip)。
  

passwd ubuntu<<EOF  
ubuntu
  
ubuntu
  
EOF
  
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
  
systemctl restart sshd
  

四、总结
  以上为我在部署OpenStack过程中的部分心得,此过程牵涉的知识实在太多,静下心来,一个问题一个问题解决,最终你会收获不一样的自己,有问题欢迎留言探讨。

运维网声明 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-420555-1-1.html 上篇帖子: openstack项目【day24】:OpenStack mitaka部署 下篇帖子: openstack nova 源码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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