OpenStack Liberty极速体验



  • 鉴于,一般OpenStack的开发和体验,都是使用Devstack的方式自动化部署。因此,这里基于自己的实践过程,总结出一份本月15日Release的Liberty完整安装过程。

    pt-OpenStack-Liberty极速体验2015-10-28.jpg

    与其他资料所不同的是,本次安装较详细的给出了安装后的相关网络配置,且基于CentOS平台(相对于Ubuntu系,CentOS系的安装资料挺少;事实上,二者在安装上有些网络区别),相信能给CentOS初学者带来更好的体验。

    一、环境

    环境:

    1. VMware Workstations中的CentOS 7 Desktop VM;
    2. 一张NAT网卡;
    3. 内存>=4G;
    4. VM的ip地址为10.0.0.9。

    二、部署

    1. 关闭iptables防火墙和selinux;
    #  service iptables stop
    

    查看防火墙状态,显示防火墙已关闭:

    # service iptables status
    #/usr/sbin/setenforce 0  ###立刻关闭 SELINUX
    
    1. 安装git
    yum -y install git
    
    1. 准备Devstack
      下载代码:
    # cd /home
    # git clone https://git.openstack.org/openstack-dev/devstack --branch=stable/kilo #k版
    

    或者

    # git clone https://github.com/openstack-dev/devstack.git -b stable/liberty  #L版 (可以体验L版)
    
    1. 需要创建stack用户运行
    # cd /home/devstack/tools/
    # ./create-stack-user.sh
    
    1. 修改devstack目录权限,让stack用户可以运行
    $ sudo chown -R stack:stack /home/devstack
    $ sudo chmod 777 /opt/stack –R
    
    1. 切换到stack用户下
    # su stack
    # cd /home/devstack
    
    1. 进入devstack目录下,创建localrc文件,添加以下内容:
    # Misc
    ADMIN_PASSWORD=admin
    DATABASE_PASSWORD=$ADMIN_PASSWORD
    RABBIT_PASSWORD=$ADMIN_PASSWORD
    SERVICE_PASSWORD=$ADMIN_PASSWORD
    SERVICE_TOKEN=$ADMIN_PASSWORD
    
    # Target Path
    DEST=/opt/stack
    
    # Enable Logging
    LOGFILE=$DEST/logs/stack.sh.log
    VERBOSE=True
    LOG_COLOR=True
    SCREEN_LOGDIR=$DEST/logs
    
    KEYSTONE_TOKEN_FORMAT=UUID
    
    # Nova
    enable_service n-novnc n-cauth
    
    # Neutron
    disable_service n-net
    ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron
    ENABLED_SERVICES+=,q-lbaas,q-vpn,q-fwaas
    
    # Swift
    #enable_service s-proxy s-object s-container s-accounts
    #SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
    
    # Cinder
    VOLUME_GROUP="cinder-volumes"
    ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch,c-bak
    
    # Ceilometer
    #enable_service ceilometer-acompute ceilometer-acentral ceilometer-anotification ceilometer-collector ceilometer-api
    #enable_service ceilometer-alarm-notifier ceilometer-alarm-evaluator
    
    # Heat
    enable_service heat h-api h-api-cfn h-api-cw h-eng
    enable_service tempest
    
    # Trove
    enable_service trove tr-api tr-tmgr tr-cond
    
    # Sahara
    enable_service sahara
    
    HOST_IP=10.0.0.9
    FIXED_RANGE=10.10.0.0/24
    NETWORK_GATEWAY=10.10.0.1
    #FLOATING_RANGE=10.0.0.0/24
    #PUBLIC_NETWORK_GATEWAY=10.0.0.2
    #Q_FLOATING_ALLOCATION_POOL=start=10.0.0.100,end=10.0.0.150
    

    注意:若需要安装其他服务,请参考其他资料。

    1. 运行Devstack
    ./stack.sh
    

    注意:使用的是stack用户运行。

    1. 默认Devstack创建 admin和demo两个用户,通过设置环境变量可以进行操作。
      admin 用户
    source openrc admin admin
    

    demo 用户

    source openrc demo demo
    
    1. 其他
      安装失败时,可以再次执行安装命令。
    $  ./unstack.sh && ./stack.sh
    

    安装后,相信多半不能用ip地址直接登录Dashboard。别急,请看下面的设置br-ex部分。

    三、安装后的网络配置
    1、网络及br-ex桥设置

    1)OVS设置
    由于在Devstack安装过程中,将br-ex的地址设置成了其他ip,导致出现很多问题,所以需要将原来的br-ex桥清除掉。

    $ sudo ovs-vsctl del-br be-ex
    

    将物理网卡eno16777736,即eth0作为br-ex的port,之后创建的虚拟机就可以通过eth0访问网络,能够登陆Dashboard了,Host也可以通过floating ip访问虚拟机。

    这里,给出自己的网卡eno16777736和br-ex文件配置内容

    # cat ifcfg-eno16777736 
    
    TYPE=OVSPort
    DEVICE=eno16777736
    DEVICETYPE=ovs
    OVS_BRIDGE=br-ex
    ONBOOT=yes
    
    # cat ifcfg-br-ex  //该文件需要自己创建
    
    TYPE=OVSBridge
    DEVICE=br-ex
    DEVICETYPE=ovs
    BOOTPROTO=static
    IPADDR=10.0.0.9
    NETMASK=255.255.255.0
    GATEWAY=10.0.0.2
    
    $ sudo ovs-vsctl add-port br-ex eno16777736 ;systemctl restart network
    

    2)验证
    注:因为一般VM是通过br-ex网桥的ip出外网的,所以,必须保证能ping通其ip。

    • 关闭Selinux、iptables;
    • 使用ip -a命令,查看br-ex的ip地址,且验证是否能够ping通;
    • 使用ovs-vsctl show命令,查看网桥br-ex的设置情况。这里的eno16777736是我的实际物理网卡,即eth0,如下图所示:
      eth0实际物理网卡.jpg

    3)ip -a查看br-ex ip地址

    ip-a查看br-ex-ip地址.jpg

    最后,使用这个ip地址登陆Dashboard!

    ip地址登陆Dashboard.jpg

    2、一些建议

    devstack安装trove组件时,会默认下载mysql.qcow2镜像。为了提高安装进度,可以事先自己下载,保存到该目录下/home/devstack/files/,下载地址:http://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2。

    如果你安装和配置成功了,请立即对该虚拟机平台做个快照,方便以后做各种操作后出现问题时,利于恢复;并避免因宿主系统关机,导致的不必要问题。如果还是不幸发生了,请执行如下脚本:

    $ cd /devstack ;sh rejoin-stack.sh
    

    四、小结
    此次,Liberty版本的变化是较大的,基于Magnum的容器管理项目(对Kubernetes、Mesos和Docker Swarm提供支持);网络编排项目Astara;容器网络项目Kuryr;计费项目CloudKitty;以及汇集了许多流行的应用模板的社区服务目录(Community App Catalog)。这些新服务的加入证明,OpenStack已经在大数据分析、数据集群管理、资源编排等领域不断扩展与完善。

    在具体操作上,同样改变了许多,比如命令和网络面板的使用上。总之,更多新的功能,等你体验!

    作者简介:徐超:2015——至今,任职于九州云信息科技有限公司(上海),从事OpenStack相关工作。个人倾向于研究OpenStack、SDN和Docker。

    原文地址:http://www.sdnlab.com/14430.html


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待