OpenStack——自动安装部署

Posted 爱敲代码的三毛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack——自动安装部署相关的知识,希望对你有一定的参考价值。

文章目录


OpenStack是什么

OpenStack是由美国国家航空航天局(NASA)与Rackspace公司合作研
发并发起的,以Apache许可证授权的自由软件和开放源代码的云计
算技术解决方案,其是一个项目也是一个软件,主要用于实现云项
目,以云项目操作系统而存在。
作用: 用于部署公有云、私有云,并实现对云项目管理。
开发语言: Python

OpenStack官网

OpenStack核心组件
为基础组件具体提供可行性操作的项目

  • Compute 计算服务
  • Networking 网络服务
  • Object Storage 对象存储服务
  • Block Storage 块存储服务
  • Identity 身份认证服务
  • Image Service 镜像服务
  • Dashboard UI界面
  • Metering 测量
  • Orchestration 部署编排
  • Database Service 数据库服务

OpenStack组件功能

  • Compute 计算服务
    代号:Nova
    用于为用户管理虚拟机实例,根据用户需求提供虚拟服务。负
    责虚拟机创建、开机、关机、重启等操作,还可以为虚拟机配
    置CPU、内存等规格。
  • Networking 网络服务
    代号:Neutron
    为云平台提供网络虚拟化,为用户提供网络接口。
  • Object Storage 对象存储
    代号:Swift
    用于为云平台提供对象存储服务,允许使用其进行文件存储及
    检索。例如,可为Glance提供镜像存储等。
  • Block Storage 块存储服务
    代号:Cinder
    用于为云平台提供块存储服务,管理块设备等,例如:创建
    卷、删除卷等。
  • Identity 身份认证
    代号:Keystone
    为OpenStack中其它服务提供身份验证、服务注册、服务令牌等
    功能。
  • Image Service 镜像服务
    代号:Glance
    为云平台虚拟机提供镜像服务,例如:上传镜像、删除镜像
    等。
    Dashboard UI页面
    代号:Horizon
    用于为OpenStack提供Web管理门户,例如:启动云主机、创建
    网络、设置访问控制等。
  • Metering 测量服务
    代号:Ceilometer
    用于收集OpenStack内部发生的资源使用进行统计,然后为计费
    和监控提供数据支撑。
  • Orchestration 编排部署
    代号:Heat
    为云平台提供软件运行环境自动化部署。
  • Database Service 云数据库
    代号:Trove
    用于为用户提供在OpenStack环境中提供可扩展和可靠的关系型
    数据库或非关系型数据库引擎服务。

一、安装KVM环境

注意这里是虚拟机+CentOS7

1. 虚拟化主机部署

# yum grouplist
# yum -y groupinstall "虚拟化*"

2. 修改配置文件

vi /etc/ssh/sshd_config

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10

3. 安装Xming

Xming
设置SecureCRT转发

安装相关组件

yum install -y xorg-x11-font-utils.x86_64 xorg-x11-server-utils.x86_64 xorg-x11-utils.x86_64 xorg-x11-xauth.x86_64 xorg-x11-xinit.x86_64

4. 启动libvirtd服务

[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl status libvirtd

5. 启动测试

# virt-manager

6. 设置网段




7.查看虚拟机列表

virsh list --all

二、OpenStack自动部署方法

1.配置要求

CPU内存磁盘网卡
2+8G+50G*22+

如果安装多次,记得清楚一起的缓存避免占用空间

# rm -rf /var/lib/libvirt/images/*

需要注意的是上传到机器上的CentOS镜像的文件权限要是root的

# chown root:root CentOS-7-x86_64-Minimal-1511.iso
# chmod 777 CentOS-7-x86_64-Minimal-1511.iso

2.系统安装

需求:
两个硬盘:1个系统盘,1个数据盘
两个网络,两张网卡: 1个管理网络,1个计算网络(走外网的网络)

1.创建kvm虚拟机






熟悉的安装环境不多说

3. 系统配置

安装完成后,登录后操作
eth0 管理网络(给运维管理人员连接使用),可不用连外网
eth1 openstack创建VM实例使用的网络,需要上外网(这里建议使用NAT网络来模拟)

1.配置ip

# cd /etc/sysconfig/network-scripts/
# vi ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=192.168.122.20
NETMASK=255.255.255.0
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"      

注意:
eth0不用配置网关与DNS,这个管理网络不用上外网
eth1不用配置,把里面的ONBOOT改为no就行(因为后面安装脚本里会指
定这个网络,在脚本安装时会自动帮助配置)

# systemctl restart network

注意:NetworkManager这次不要关闭,因为后面脚本安装Neutron时要
用到(会调用nmcli命令)
# systemctl status NetworkManager

2.设置主机名(不是必须)

# hostnamectl set-hostname --static
openstack.cluster.com
主机名不配置也没关系,安装脚本里会配置,然后在安装过程会帮我们配
置并绑到/etc/hosts

3.准备yum源

从宿主机上上传到openstack上
# scp CentOS7.2-Mini-Newton.tar.gz 192.168.122.20:/root/

[root@openstack ~]# tar xf CentOS7.2-Mini-Newton.tar.gz -C /opt/
[root@openstack ~]# mv /opt/CentOS7.2-Mini-Newton/ /opt/openstack-newton

把原来的yum源移走
[root@openstack ~]# cd /etc/yum.repos.d/
[root@openstack yum.repos.d]# mkdir bak
[root@openstack yum.repos.d]# mv *.repo bak/

这里注意,yum文件名要为repo.repo,因为脚本里规定好了
[root@openstack yum.repos.d]# vi /etc/yum.repos.d/repo.repo
[repo]
name=repo
baseurl=file:///opt/openstack-newton
enabled=1
gpgcheck=0

4. 修改脚本文件

1.拷贝共享的脚本目录到openstack的/root目录

[root@openstack ~]# ls /root/newton_install-V1.0.4/
etc lib main.sh

2.修改脚本里的hosts文件(执行脚本会帮我们覆盖/etc/hosts文件)

# vi /root/newton_install-V1.0.4/lib/hosts
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6
localhost6.localdomain6
192.168.122.20 openstack.cluster.com

3.修改


# vi /root/newton_install-V1.0.4/lib/installrc
#controller system information
HOST_NAME=openstack.cluster.com 修改主机
名,和hosts文件保持一致
#controller manager IP
MANAGER_IP=192.168.122.20 eth0的IP
ALL_PASSWORD=daniel.com openstack里有近
20个密码,这里统一为daniel.com
#controler secondary net device
NET_DEVICE_NAME=eth1 eth1网卡
名称
#install openstack-nova-compute on controller
CONTROLLER_COMPUTER=True

#For neutron information
#[FLOATING_METWORK_ADDR]
NEUTRON_PUBLIC_NET="192.168.100.0/24"
PUBLIC_NET_GW="192.168.100.1"
PUBLIC_NET_START="192.168.100.100"
PUBLIC_NET_END="192.168.100.200"
SECOND_NET="192.168.100.254/24" 这里都为第2张网卡eth1
的网段(配置eth1的IP为192.168.100.254/24)
NEUTRON_DNS="114.114.114.114"

#[DEMO_NET_ADDR]
NEUTRON_PRIVATE_NET="192.168.200.0/24"
PRIVATE_NET_GW="192.168.200.1"
PRIVATE_NET_DNS="114.114.114.114" demo用户创建虚拟的网络
(自助网络),可自定义(这里为192.168.200.0/24)
#For cinder
#please input disk or partition by blank to separate
#eg1:CINDER_DISK='/dev/vdb /dev/vdc'
#eg2:CINDER_DISK='/dev/vdb1 /dev/vdc1'
#controller disk for cinder
CINDER_DISK='/dev/vdb' 打开这句注释,并改
为/dev/vdb,用于做块存储
#block node disk for cinder
#BLOCK_CINDER_DISK='/dev/sdb'
#for manila
#please input disk or partition by blank to separate
#MANILA_DISK='/dev/sdb'

5. 脚本安装

cd /root/newton_install-V1.0.4


[root@openstack newton_install-V1.0.4]# sh main.sh
1) Install Controller Node Service.
2) Install Computer Node Service.
3) Install Block Node Service (Cinder).
0) Quit
please input one number for install :1
选择1安装控制节点
1) Configure System Environment.
2) Install Mariadb and Rabbitmq-server.
3) Install Keystone.
4) Install Glance.
5) Install Nova.
6) Install Cinder.
7) Install Neutron.
8) Install Dashboard.
0) Quit
please input one number for install :1
从1安装到8

第一步执行完后,会自动重启,再次连接执行第二部,1到8部都要执行安装!
记住是选择第一控制节点的1到8部安装

6.dashboard访问

关闭openstack虚拟机的防火墙和selinux
在宿主机上安装火狐浏览器,并打开

# yum install firefox -y
# yum -y groupinstall Fonts # 防止乱码
# firefox &

访问地址 http://192.168.122.20/dashboard/

三、OpenStack基本应用

1.admin与demo用户区别

demo是普通用户,普通用户openstack云平台的使用权

2. admin创建云主机

使用admin用户登录创建云主机



3. demo用户创建云主机


给root用户设置密码


创建完后可以在openstack主机上查看云主机列表

[root@openstack ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 2     instance-00000002              running
 -     instance-00000001              shut off

4.创建卷


再回到openstack机器上查看

[root@openstack ~]# lsblk
# 分别是admin的一个卷和demo用户的两个卷
vdb                                                                252:16   0     20G  0 disk 
├─cinder--volumes-volume--01b910eb--bf48--4e39--97b4--a90905728bc1 253:2    0      1G  0 lvm  
├─cinder--volumes-volume--a811dd94--1002--4527--911c--27541947fdc4 253:3    0      1G  0 lvm  
└─cinder--volumes-volume--b548bc95--7373--411e--90b3--3a147181e2bf 253:4    0      1G  0 lvm

  • provider网络,它于openstack平台上外网的网卡物理上同一网段
  • self-service networks网路,它是一个完全虚拟出来的一个私有网络

以上是关于OpenStack——自动安装部署的主要内容,如果未能解决你的问题,请参考以下文章

OpenStack架构知识梳理

packstack部署openstacky要多久

openstack:OpenStack架构详解,

OpenStack构架知识梳理

Openstack架构知识总结

全面认识openstack:OpenStack架构详解