码迷,mamicode.com
首页 > 其他好文 > 详细

Openstack部署

时间:2018-08-16 19:52:46      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:1.5   分布   公司   mod   cte   时代   分布式   vsc   ace   

一、云计算
是一种服务模式,是获取网络上资源的服务,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源
--IaaS云(Infrastructure as a Service),即基础设施服务
提供给消费者所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序
IaaS通常分为三两种用法:公有云、私有云和混合云

--PaaS云(Platform as a Service),平台即服务
云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS,简单地说,PaaS平台就是指云环境中的应用基础设施服务,也可以说是中间件即服务

--SaaS云(Software as a Service),软件即服务,比如手机应用商城,用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活劢,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。

二、Openstack
是一套做IaaS云的解决方案,是一个开源的云计算管理平台
主要组件:
--Horizon:用于管理Openstack各种服务,是基于web的管理接口(图形界面)Horizon是一个用以管理、控制OpenStack服务的
Web控制面板,也称为Dashboard仪表盘,可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)戒VNC直接访问实例

--Keystone: 提供认证和授权的集中身份管理服务,支持多种身份认证模式,提供了集中的目录服务

--Neutron:一种软件定义网络服务,解决虚拟机之间网络的通信问题,用于创建网络、子网、路由器、管理浮动IP地址;可以实现虚拟交换机、虚拟路由器;可用于在项目中创建×××

--Cinder: 为虚拟机管理存储卷的服务,管理虚拟机磁盘,为运行在Nova中的实例提供永久的块存储

--Nova : 虚拟机管理软件在节点上用于管理虚拟机服务,是一个分布式的服务,能够与keystone实现交互认证,与Glance 交互实现镜像管理

--Glance: 管理镜像注册,保存处理镜像,允许用户直接存储拷贝虚拟机镜像,这些镜像可以用于新建虚拟机的模板

三、安装配置Openstack
1.环境检查
--selinux是否关闭
#sestatus
--防火墙和网络管理器是否被卸载
#rpm -qa | grep -P "firewalld|NetworkManager"
--检查时间服务器是可用
#chronyc sources -v
--检查DNS是否可用
#nslookup
--检查yum源(9591个包)
#yum repolist
--检查内存是否够8G
#free -m
--查看是否有20G 的vdb设备
#lsblk
查看是否两块网卡且都能ping通
#ifconfig

2配置openstack yum源(共12个yum源10731个包)
在真机挂载
#vim /etc/fstab
/iso/RHEL7-extras.iso /var/ftp/openstack-ext iso9660 defaults 0 0
/iso/RHEL7OSP-10.iso /var/ftp/openstack iso9660 defaults 0 0
:wq
#mount -a

在虚拟机里搭建yum
#vim /etc/yum.repo.d/centos.repo
[centos7]
name=centos7
baseurl=ftp://192.168.1.254/centos
enabled=1
gpgcheck=1

[openstack_extras]
name=openstack extras
baseurl="ftp://192.168.1.254/openstack-ext"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-devtools-rpms]
name=rhel-7-server-openstack-10-devtools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-optools-rpms]
name=rhel-7-server-openstack-10-optools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-optools-rpms
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-rpms]
name=rhel-7-server-openstack-10-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-tools-rpms]
name=rhel-7-server-openstack-10-tools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-tools-rpms
enabled=1
gpgcheck=0

[rhel-7-server-rhceph-2-mon-rpms]
name=rhel-7-server-rhceph-2-mon-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-mon-rpms
enabled=1
gpgcheck=0

[rhel-7-server-rhceph-2-osd-rpms]
name=rhel-7-server-rhceph-2-osd-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-osd-rpms
enabled=1
gpgcheck=0

[rhel-7-server-rhceph-2-tools-rpms]
name=rhel-7-server-rhceph-2-tools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-tools-rpms
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-agent-rpms]
name=rhel-7-server-rhscon-2-agent-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-agent-rpms
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-installer-rpms]
name=rhel-7-server-rhscon-2-installer-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-installer-rpms
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-main-rpms]
name=rhel-7-server-rhscon-2-main-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-main-rpms
enabled=1
gpgcheck=0
:wq
#yum repolist

四、部署Openstack
1.配置卷组,安装依赖软件包
Openstack为虚拟机提供的云硬盘,本质上是本地的逻辑卷,逻辑卷创建于名为cinder-volumes的卷组
#yum install -y lvm2
#pvcreate /dev/vdb //创建物理卷
#vgcreate cinder-volumes /dev/vdb //创建卷组,卷组名必须是cinder-volumes
#vgs //查看卷组

安装软件包:由于openstack是基于KVM虚拟化,因此需要安装KVM需要的包(四个),openstack是python语言开发的,因此需要安装python-setuptools
#yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu python-setuptools

2.安装packstack
写一个应答文件自动安装openstack
更改主机名为openstack
#vim /etc/hosts
192.168.4.100 openstack
:wq
//能ping通主机名

#yum -y install openstack-packstack //安装packstack
#packstack --gen-answer-file answer.txt //创建一个应答文件

编辑应答文件
#vim answer.ini
配置默认密码:
11行:CONFIG_DEFAULT_PASSWORD=Taren1
禁用swift 对象存储模块 (要使用cinder-volumes卷组):
42行:CONFIG_SWIFT_INSTALL=n
NTP服务器地址:
75行:CONFIG_NTP_SERVERS=192.168.1.254
计算节点:(本机IP)
98行:CONFIG_COMPUTE_HOSTS=192.168.1.100
需要配置vxlan网络的 IP 地址:(本机IP)
102行:CONFIG_NETWORK_HOSTS=192.168.1.100
禁用自动创建 cinder-volumns 卷组(之前已经手动创建好了):
554行: CONFIG_CINDER_VOLUMES_CREATE=n
设置网络支持协议:
840行: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
设置组播地址:
876行: CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5
设置虚拟交换机:
910行: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
设置虚拟交换机所连接的物理网卡:
921行: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
设置隧道网络使用的网卡:
936行: CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
禁用测试的DEMO
1179行:CONFIG_PROVISION_DEMO=n

3.安装openstack
#packstack --answer-file=answer.ini
通过虚拟交换机br-ex和物理网络进行连接
虚拟交换机的配置文件/etc/sysconfig/network-scripts/ifcfg-br-ex
驱动类型:DEVICETYPE=ovs
配置eth0为外部OVS网桥的端口(自动生成的配置文件)
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
ONBOOT=yes
BOOTPROTO=none

验证虚拟交换机端口的命令:
#ip -o addr show
#ovs-vsctl show
Bridge br-ex
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}
Port "eth0"
Interface "eth0"

4.Horizon配置
#vim /etc/httpd/conf.d/15-horizon_vhost.conf
在WSGIProcessGroup apache(倒数第二行)后添加一行:
WSGIApplicationGroup %{GLOBAL}

重启apache
#apache graceful
或#systemctl restart graceful

访问openstack控制面板:
http://192.168.4.100
用户名密码在/root/keystonerc_admin里查看

项目管理
--项目:一组隔离的资源和对象。由一组关联的用户进行管理,根据配置的需求,项目对应一个组织、一个公司或是一个使用客户等
项目中可以有多个用户,项目中的用户可以在该项目创建、管理虚拟资源
缺省情况下,packstack安装的openstack中有两个独立的项目:
admin:为admin账户创建的项目
services:不安装的各个服务相关联
创建项目:
身份管理—>创建项目—>创建用户

Openstack部署

标签:1.5   分布   公司   mod   cte   时代   分布式   vsc   ace   

原文地址:http://blog.51cto.com/13460306/2160860

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!