OpenStack——自动安装部署
Posted 爱敲代码的三毛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack——自动安装部署相关的知识,希望对你有一定的参考价值。
文章目录
OpenStack是什么
OpenStack是由美国国家航空航天局(NASA)与Rackspace公司合作研
发并发起的,以Apache许可证授权的自由软件和开放源代码的云计
算技术解决方案,其是一个项目也是一个软件,主要用于实现云项
目,以云项目操作系统而存在。
作用: 用于部署公有云、私有云,并实现对云项目管理。
开发语言: Python
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*2 | 2+ |
如果安装多次,记得清楚一起的缓存避免占用空间
# 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——自动安装部署的主要内容,如果未能解决你的问题,请参考以下文章