搭建Openstack环境以及Openstack认证服务
Openstack之glance镜像服务、nova计算服务
Openstack之neutron网络服务、 启动一个实例
Openstack之dashboard服务、云主机管理、cinder块存储服务
一、简介
什么是openstack
OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。
OpenStack 中有哪些项目?
OpenStack 架构由大量开源项目组成。其中包含 6 个稳定可靠的核心服务,用于处理计算、网络、存储、身份和镜像,主要担纲系统的基础架构; 同时,还为用户提供了十多种开发成熟度各异的可选服务,负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。
整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。
openstack重要集成组件:
- keystone:Keystone 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
- glance:Glance 可存储和检索多个位置的虚拟机磁盘镜像。
- nova:是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
- neutron:Neutron 能够连接其他 OpenStack 服务并连接网络。
- dashboard:web管理界面
- Swift: 是一种高度容错的对象存储服务,使用 RESTful API 来存储和检索非结构数据对象。
- Cinder :通过自助服务 API 访问持久块存储。
- Ceilometer:计费
- Heat:编排
openstack基本架构
整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)其中:
- 控制节点:负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
- 计算节点:负责虚拟机运行
- 网络节点负责对外网络与内网络之间的通信
- 存储节点负责对虚拟机的额外存储管理
二、搭建openstack环境
1. 主机网络
开一台内存为4G的虚拟机
- 禁用selinux和firewalld
添加虚拟网卡
- 双网卡 eth0: 172.25.4.1 访问Horizon使用
eth1:激活但不分配ip,neutron使用,云主机访问外网用
点击左下方Add Hardware
选择virtio->Finish
首先要保证主机的网卡名称是eth0
添加一块名为eth1的虚拟网卡
[root@server1 ~]# cd /etc/sysconfig/network-scripts/
[root@server1 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@server1 network-scripts]# vim ifcfg-eth1
BOOTPROTO=none
DEVICE=eth1
ONBOOT=yes
[root@server1 network-scripts]# ifup eth1
[root@server1 network-scripts]# ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:6e:2d:b1 brd ff:ff:ff:ff:ff:ff
inet 172.25.4.1/24 brd 172.25.4.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe6e:2db1/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:e7:40:d6 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fee7:40d6/64 scope link
valid_lft forever preferred_lft forever
修改主机名并添加解析
(为了方便,之后配置文件中默认控制节点主机名为controller)
[root@server1 network-scripts]# hostnamectl set-hostname controller
[root@server1 network-scripts]# vim /etc/hosts
172.25.4.1 controller
[root@server1 network-scripts]# logout
Connection to server1 closed.
[root@foundation4 ~]# ssh 172.25.4.1
[root@controller ~]#
2. 网络时间协议
openstack云计算平台需要时间同步
[root@controller ~]# yum install chrony -y
[root@controller ~]# vim /etc/chrony.conf
server 172.25.4.250 iburst # 同步真机时间
[root@controller ~]# systemctl restart chronyd
3. OpenStack包
openstack仓库
[root@foundation4 ~]# mv mitaka/ /var/www/html/
[root@foundation4 ~]# cd /var/www/html/
[root@foundation4 html]# ls
3000 docker-ce index.html iso mitaka
配置yum源
[root@controller ~]# vim /etc/yum.repos.d/openstack.repo
[openstack]
name=mitaka
baseurl=http://172.25.4.250/mitaka
gpgcheck=0
[root@controller ~]# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
openstack | 2.9 kB 00:00
openstack/primary_db | 141 kB 00:00
repo id repo name status
dvd rhel7.6 5,152
openstack mitaka 279
repolist: 5,431
[root@controller ~]# yum upgrade ## 在主机上升级包
安装 OpenStack 客户端
[root@controller ~]# yum install python-openstackclient -y
4. SQL数据库
安装软件包:
[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL