Openstack
一.什么是云计算?
- 基于互联网的相关服务的添加,使用的交付模式.
- 这种模式提供的可用的,便捷的,按需网络访问,进入可配置的计算机资源共享磁.
- 这些资源能够被快速提供,只需投入很少的管理工作,或与服务提供商进行很少的交互.
- 通常涉及通过互联网提供动态易扩容且经常是虚拟化的资源.
二.云计算的三大服务模式?
SaaS: 软件应用,租用web软件
PaaS: 平台运行环境,提供服务,针对平台进行应用系统开发,优化等服务.
IaaS: 基础设施,CPU,内存,存储,网络
三.Openstack简介
- 由NASA(美国国家航空航天局)和RackStack合作研发并发起的项目
- Openstack是一套IaaS解决方案
- Openstack是一个开源的云计算管理平台
- Apache许可授权
四.Openstack结构图
五.Openstack主要组件
- Horizon: 管理Openstack各种服务,创建用户,管理网络,启动实例等.
- Nova: 虚拟化,指示Linux机器,水平扩展,分布式服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理.
- Glance: 后端存盘,发布网络,管理拷贝镜像模板,扮演虚拟机镜像注册角色.
- Swift: 存储(不经常用).
- Quantum: 主管网络,创建网络,子网,路由器,管理浮动ip,虚假交换机,虚拟路由器,项目中的VLAN
- Cinder: 逻辑卷,永久块存储,快照进行数据备份,实例存储环境
- Keystone: 认证,如密码认证,令牌认证,AWS(亚马逊web)登录
六.虚拟机配置
(一).准备1台管理主机,2台虚拟机(节点)
openstack 管理主机 2CPU 8内存 50G硬盘 192.168.1.10
nova01 虚拟主机 2CPU 4内存 100G硬盘 192.168.1.11(节点)
nova02 虚拟主机 2CPU 4内存 100G硬盘 192.168.1.12(节点)
(1). 管理机
$cd /var/lib/libvirt/images/
$qemu-img create -b .node_base.qcow2 -f openstack.img 50G
$cp .node_base.xml /etc/libvrit/qemu/openstack.xml
$vim /etc/libvrit/qemu/openstack.xml
(2). 管理机
$qemu-img create -b .node_base.qcow2 -f nova01.img 100G
$cp .node_base.xml /etc/libvrit/qemu/nova01.xml
$vim /etc/libvrit/qemu/nova01.xml
(3). 管理机
$qemu-img create -b .node_base.qcow2 -f nova02.img 100G
$cp .node_base.xml /etc/libvrit/qemu/nova02.xml
$vim /etc/libvrit/qemu/nova02.xml
管理机
$virsh define /etc/libvrit/qemu/openstack.xml
$virsh define /etc/libvrit/qemu/nova01.xml
$virsh define /etc/libvrit/qemu/nova02.xml
$virsh start openstack
$virsh start nova01
$virsh start nova02
(二).系统环境准备(openstack,nova01,nova02)
(1). DNS(192.168.1.10,11,12)
#vim /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
nameserver 192.168.1.254
一定要注释search开头的
#vim /etc/hosts
192.168.1.10 openstack
192.168.1.11 nova01
192.168.1.12 nova02
检查能否ping通主机名
#ping Openstack,nova01,nova02
(2) .时间服务(192.168.1.10,11,12)
#yum -y install chronyd
#systemctl start chronyd
#vim /etc/chrony.conf
server 192.168.1.254 iburst
#systemctl restart chronyd
测试: #chronyc sources -v
^*gateway(正确)
(3). 配置YUM源(192.168.1.10,11,12)
$mkdir /var/ftp/RHEL7-extras
$mkdir /var/ftp/RHELOSP-10
$mount RHEL7-extras.iso /var/ftp/RHEL7-extras/
$ mount RHEL7OSP-10.iso /var/ftp/RHEL7OSP-10/
openstack#vim /etc/yum.repo.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/centos-1804"
enabled=1
gpgcheck=1
[RHEL7-extras]
name=RHEL7-extras
baseurl="ftp://192.168.1.254/RHEL7-extras"
enabled=1
gpgcheck=0
[RHEL7OSP-package]
name=RHEL7OSP-package
baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0
[RHEL7OSP-devtools]
name=RHEL7OSP-devtools
baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
(三)安装额外软件包(192.168.1.10)
#yum -y install python-setuptools(不存储数据,只是管理,所以无需安装libvirt程序)
安装软件包(192.168.1.11,12)
#yum -y install libvirt-client libvirt-daemon libvirt-daemon-driver-qemu qemu-kvm python-setuptools
(四)检查基础环境
- 安装额外的软件包
- 是否卸载firewalld 和 NetworkManager
- 检查配置主机网络参数(静态IP)
- 主机名必须能够相互 ping 通
- 检查配置主机yum源(4个,10670)
- 依赖软件包是否安装
- 检查NTP服务器是否可用
- 检查 /etc/resolv.conf 不能有 search 开头的行
(1). 软件包
#systemctl start libvirt
#systemctl enable libvirt
(2). 防火墙
#rpm -qa | grep NetworkManager*
#rpm -qa | grep firewalld*
(3). 主机网络参数
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
(4). 验证主机名是否互通
#ping openstack
#ping nova01
#pong nova02
(5). 检查配置主机yum源
#yum repolist
(6). 检查时间是否同步
#chronyc sources -v
(7). 检查/etc/resolv.conf
#cat /etc/resolv.conf
(五). 部署Openstack
#yum -y install openstack-packstack
#packstack --gen-answer-file=answer.ini
#vim answer.ini
42 CONFIG_SWIFT_INSTALL=n
45 CONFIG_CEILOMETER_INSTALL=n **//计费相关模块**
49 CONFIG_AODH_INSTALL=n **//计费相关模块**
53 CONFIG_GNOCCHI_INSTALL=n **//计费相关模块**
75 CONFIG_NTP_SERVERS=192.168.1.254 **//时间服务器的地址**
98 CONFIG_COMPUTE_HOSTS=192.168.1.11 **//节点ip**
102 CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11 **//自己的节点的网络ip**
333 CONFIG_KEYSTONE_ADMIN_PW=a **//修改管理员的密码**
840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan **//驱动类型**
876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5 **//设置组播地址,最后一个随意不能为0和255,其他固定**
910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex **//物理网桥的名称**
921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 **//br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接**
1179 CONFIG_PROVISION_DEMO=n //DEMO是否测试
> **** Installation completed successfully ****** //出现这个为成功
(六).查看ovs网桥
#cat /etc/sysconfig/network-scripts/ifcfg-br-ex
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
#ovs-vsctl show
七.登录Openstack
图形
#vim /etc/httpd/con.d/15-horizon_vhost.conf
最后一行添加 WSGIApplicationGROUP %{GLOBAL}
#systemctl restart httpd
#firefox 192.168.1.10 //任意浏览器
命令行
#source keystonerc_admin
#user list