阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

初探OpenStack Mitaka

113次阅读
没有评论

共计 5738 个字符,预计需要花费 15 分钟才能阅读完成。

北京时间 4 月 8 日,OpenStack 社区如期发布了 OpenStack 的第 13 个版本——Mitaka,新版本更多聚焦于可管理性、可扩展性和终端用户体验方面。OpenStack 作为一个 IaaS 基础设施架构的集大成者,通过支持、集成众多插件的方式,向用户提供更多可选择的功能和需求,比如 SDN、NFV、Container 等。OpenStack 已经成为众多企业和服务器提供商的云平台选择之一。

由于,笔者更多从事的是 OpenStack 研发测试体系相关的 CI-CT-CD 工作。因此,在笔者看来,OpenStack 另一个非常成功的一方面是其面向所有人的参与、贡献和交流等平台。为了协调这些,OpenStack 社区构建和维护了一套非常完整的研发测试系统。这些基础设施,无疑是奠定 OpenStack 取得成功的重要基石之一。

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

与其他资料所不同的是,本次安装较详细的给出了安装后的相关网络配置,相信能给初学或体验者带来更好的体验。

一.环境

环境:

列表内容

一台 CentOS 7.2 VM;

一张 NAT 网卡;

内存 4G;

ip 地址 10.10.10.129;

二.部署

1、关闭 iptables 防火墙和 selinux

# vim /etc/selinux/config

#SELINUX=enforcing       // 注释掉

SELINUX=disabled         // 增加

# yum -y install iptables-services

# systemctl disable iptables

# reboot

2、安装 epel 源和 git

# yum -y install epel-release git

# yum -y install net-tools

3、准备 Devstack 

下载代码:

# cd /home

# git clone https://github.com/openstack-dev/devstack.git -b stable/mitaka  // 指定 clone mitaka 版本

4、需要创建 stack 用户运行

# cd /home/devstack/tools/

# bash ./create-stack-user.sh

5、修改 devstack 目录权限,让 stack 用户可以运行

# chown -R stack:stack /home/devstack

# chmod 777 /opt/stack -R

6、切换到 stack 用户下

# su stack

$ cd /home/devstack

7、编辑创建 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

# Murano

enable_plugin murano git://git.openstack.org/openstack/murano

enable_service murano-cfapi

enable_service g-glare

MURANO_APPS=io.murano.apps.apache.Tomcat,io.murano.apps.Guacamole

enable_service murano murano-api murano-engine

HOST_IP=10.10.10.129 // 本机 IP 地址 

FIXED_RANGE=10.0.0.0/24 // 私有 IP 网段 

NETWORK_GATEWAY=10.0.0.1 // 私有网段网关

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

8、运行 Devstack,执行安装

$ ./stack.sh

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

9、默认 Devstack 创建 admin 和 demo 两个用户,通过设置环境变量可以进行相关操作。进入到 /home/devstack 目录下。

admin 用户:

$ source openrc admin admin

demo 用户:

$ source openrc demo demo

10、其他 

安装失败时,可以再次执行安装命令。

$  ./unstack.sh && ./stack.sh

11、配置网络 

由于在 Devstac 安装过程中,将 br-ex 的地址设置成了其他 ip,因此需要将 br-ex 地址清除掉,重新配置。

$ sudo ip addr flush br-ex

或者

$ sudo ovs-vsctl del-br be-ex

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

这里,我给出自己的配置内容

# 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

# ovs-vsctl add-port br-ex eno16777736 ;systemctl restart network

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

关闭 Selinux、iptables;

如果部署的是 GRE、VXLAN 网络,使用 ip a 命令,查看 br-ex 的 ip 地址,是否能 ping 通;

使用 ovs-vsctl show 命令,查看网桥 br-ex 的设置情况。这里的 eno16777736 是我的实际网卡,即 eth0,如下图所示:

初探 OpenStack Mitaka

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

# ip a | grep br-ex

14:br-ex:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 

inet 10.10.10.129/24 brd 10.10.10.255 scope global br-ex

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

三.Horizon 有哪些变化

1. 登录 Dashboard 

http://10.10.10.129/dashboard 

用户名:admin 

密码:admin 

初探 OpenStack Mitaka

2. Horizon 有哪些变化

1)Keystone——身份管理变化 

Mitaka 版本界面中,新增加了组、域和角色的操作功能。原来只能通过命令行操作的,现在也能通过界面来实现了。

组:就是把用户放在一个组里,一个用户可以属于多个组,这样可以方便进行权限管理。

角色:也就是给创建项目的用户,分配 member、admin 的 roles。

域:将用户和其他组使用的基础设施相隔离,具体管理的有组和组下的用户。

如下图所示

初探 OpenStack Mitaka

2)Cinder——云硬盘一致性组

初探 OpenStack Mitaka

3)Horizon——添加开发者(Bootstrap 主题)面板 

Mitaka 版本新增加的 Bootstrap 主题预览面板功能,可以让用户在 Default 和 Bootstrap 两种主题中自由切换,并且可以在 Bootstrap 主题中进行自由配置。

初探 OpenStack Mitaka

4)Nova——主机集合 

主机集合,就是把计算节点分组,一个计算节点只能属于一个组。这样我们在资源调度上可以更加灵活,根据需求把创建的虚拟机放到相应的主机集合里。主机集合,用户是看不到的,是管理员通过设置,调度生效。通常,适用于大规模的环境。

初探 OpenStack Mitaka

5)Nova——元数据定义 

可以让用户导入自定义的元数据和删除等。

初探 OpenStack Mitaka

6)其他 

此外,云主机类型中,也新增加了许多字段,比如 RX/TX 因子、Swap 磁盘等。

3.一些建议 

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

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

四.Screen 的使用

既然,我们一般使用 DevStack 部署 OpenStack 环境来进行开发,那么掌握 Screen 的使用就是必须的了。

Screen 是一个窗口命令,当你需要离开电脑一阵,然后回来再继续在这个窗口工作,可以启动一个 screen,离开时通过 screen -d xxx 退出这个窗口,窗口中的任务会在后台执行。回来后可以通过 screen -x xxx 再次打开窗口继续工作。

比如 scp 一个大文件的时候,如果你不是在 screen 环境,退出终端或者 ssh 连接的话,这个任务将终止。使用 screen 后,screen - d 这个任务就在后台运行,回来后再 ssh 连接到服务器,然后 screen -x xxx 再打开刚才的那个窗口,可以看到任务继续再执行。

Devstack 的所有进程都在 stack 用户的 screen 中运行,可以通过 screen -x stack 重新打开窗口,打开后最下边会有一行工具栏显示所有在这个窗口中运行的任务,可以通过:

ctrl+a+ n 切换下一个任务,

ctrl+a+ p 切换前一个任务,

crtl+ a 在最近两次任务之间切换;

Ctrl+a+ d 退出当前的 screen;

切换到某一个任务时,比如需要重启这个服务,可以 ctrl+ c 先停掉,通过向上箭头查阅命令历史记录,第一条应该是启动这个服务的命令,再次执行,这个任务开始运行。

调试 python 代码特别有用,import pdb;pdb.set_trace() 到某一个文件后,然后再次运行这个任务,执行到断点是,任务窗口中就可以调试这个任务了。至于 pdb 的用法这里就不介绍了。

1)列出 screens:

$ screen -list

There is a screen on:

51432.stack (Detached)

1 Socket in /var/run/screen/S-stack.

2)进入 screen:

$ screen -x 51432     // ID 号

初探 OpenStack Mitaka

3)中断 screen session:

$ screen -S 51432 -X quit

其他资料:

Devstack docs:http://docs.openstack.org/developer/devstack/

下面是小编为你精选的 Openstack 相关知识,看看是否有你喜欢的

在 Ubuntu 12.10 上安装部署 Openstack http://www.linuxidc.com/Linux/2013-08/88184.htm

Ubuntu 12.04 OpenStack Swift 单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htm

OpenStack 云计算快速入门教程 http://www.linuxidc.com/Linux/2013-08/88186.htm

企业部署 OpenStack:该做与不该做的事 http://www.linuxidc.com/Linux/2013-09/90428.htm

CentOS 6.5 x64bit 快速安装 OpenStack http://www.linuxidc.com/Linux/2014-06/103775.htm

作者简介

徐超,专注于工作和研究基于 OpenStack 产品研发测试过程的持续集成、持续测试和持续部署 / 交付领域,曾参与创建国内一 OpenStack 服务提供商从 0 到 1 + 的测试体系。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-05/130935.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5738字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中