Centos7 OpenStack的部署之基础环境的构建

云计算的概述

云计算的定义
何为云计算?我们可以理解为是一种想用就用、按量付费的一种模式,只要采用这一种的模式都可以叫做云计算

云计算的分类
按设计的架构分类:

  • 私有云(仅供内部使用,针对性设计,兼容性高,安全性高)
  • 公有云(容量大,成本低,弹性收缩,如:阿里云、腾讯云)
  • 混合云(私有云和公有云的结合)

按供给的方式分类:

  • IaaS 基础设施即服务
  • PaaS 平台即服务
  • SaaS 软件即服务

只要我们说到云计算,就可以联想到OpenStack,OpenStack是云计算中的一个云平台管理工具,比较热门

OpenStack的概述

OpenStack的定义
OpenStack 是一个美国国家航天局和RackSpace 合作研发的,以Apache 许可证授权,并且是一个自由软件。
Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。
OpenStack 通过一个通过web 界面提供资源管理,通过一个仪表盘管理整个数据中心的计算存储资源等

OpenStack既然是一个开源的云平台项目,它的主要任务是给用户提供IaaS服务。

OpenStack的构成

  • 控制节点(负责对其余节点的控制,包含虚拟机的删除、创建、迁移、存储分配等等)
  • 计算节点(负责虚拟机的运行)
  • 网络节点(负责内网与外网的之间的通信)
  • 存储节点(负责虚拟机的存储管理)

一般情况下,可以将这个四个节点安装在一台机器上,称做单机部署

OpenStack组件的分类
Nova
核心组件,主要用于计算,负责创建、销毁、调度云主机
Glance
镜像服务,为云主机提供镜像服务
Swift
对象存储
Cinder
块存储,为云主机附加云盘,增加存储空间
Neutron
提供网络服务
Horizon
提供web界面的形式操作平台,方便用户交互,可称为Dashboard
Keystone
认证服务,所有组件交互的中心
Heat
编排、自动化部署应用工具
Centimeter
监控、对物理资源以及虚拟资源的监控,并记录这一些记录,对数据进行分析,在一定条件下触发相应的动作
Trove
数据库服务
Sahara
数据处理

OpenStack四个节点分别对应的组件

节点组件名称
控制节点(controller)Keystone,Glance,Nova,Neutron,Horizon
计算节点(compute)Nova,Neutron
网络节点(neutron)Neutron
存储节点(block)Cinder,Swift

控制节点controller还包含了:
mysql:为各个服务提供数据存储
消息队列:包括Qpid、RabbitMq 保证组件之间的沟通不会出现数据损坏以及丢失
memcahce:高速缓存系统

OpenStack的网络类型

  • 管理网络(用于组件和组件之间的沟通)
  • 实例网络(用于虚拟机和虚拟机之间的沟通)
  • 外部网络(访问外部网络所需,外部网络都是通过neutron代理转发给虚拟机的)

基础环境的构建

测试环境

主机IP地址
controllerens33:192.168.1.10 ens37:192.168.2.10
computeens33:192.168.1.20 ens37:192.168.2.20

本次实验采用双机双网卡
ens33 为VMnet1仅主机模式
ens37 为VMnet8 Nat模式

初始化环境

以下操作两个节点都要执行

修改对应节点上的主机名称

[root@localhost ~]# hostnamectl set-hostname controller
[root@localhost ~]# hostnamectl set-hostname compute 

修改本地hosts文件

[root@controller ~]# vi /etc/hosts 
192.168.1.10    controller
192.168.1.20    compute

关闭Firewallsd防火墙、IPtable防火墙、selinux、网卡守护进程

[root@controller ~]# systemctl stop firewalld 
[root@controller ~]# systemctl disable firewalld 
[root@controller ~]# iptables -F
[root@controller ~]# iptables -X
[root@controller ~]# iptables -Z
[root@controller ~]# /usr/sbin/iptables-save 
[root@controller ~]# vi /etc/selinux/config 
SELINUX=disabled
[root@controller ~]# setenforce 0
[root@controller ~]# systemctl stop NetworkManager 
[root@controller ~]# systemctl disable NetworkManager 

配置本地yum源

安装epel源,扩展本地的yum仓库
[root@controller ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
安装OpenStack仓库
[root@controller ~]# yum install -y centos-release-openstack-queens.noarch 
[root@controller ~]# yum clean all && yum makecache 

注:如果这里提示OpenStack的yum源报错,添加如下yum源信息即可
[centos-ceph-luminous]
name=CentOS-$releaserver-Ceph Luminous
gpgcheck=0
pority=2
enabled=1
baseurl= http://mirrors.ustc.edu.cn/ceph/rpm-mimic/el7/x86_64/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-openstack-queens]
Name=CentOS-7-OpenStack-queens
gpgcheck=0
pority=1
baseurl= http://mirrors.ustc.edu.cn/centos/7/cloud/x86_64/openstack-queens/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud 
exclude=sip,PYQt4

安装OpenStack相关软件包

安装 yum-plugin-priorities 包,防止高优先级软件被低优先级软件覆盖 
[root@controller ~]# yum install -y yum-plugin-priorities

安装OpenStack客户端 
[root@controller ~]# yum install -y python-openstackclient

安装OpenStack selinux管理包
[root@controller ~]# yum install -y openstack-selinux 

时间同步的配置

controller为时间同步服务器,compute为客户端

controller的配置
[root@controller ~]# yum install -y chrony 
[root@controller ~]# vi /etc/chrony.conf 
注释掉以上server,然后添加一个新的
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server controller iburst
allow 192.168.1.0/24 
local stratum 10
[root@controller ~]# systemctl restart chronyd 
[root@controller ~]# systemctl enable chronyd 
[root@controller ~]# chronyc sources 

compute客户端的配置
[root@compute ~]# yum install -y chrony 
[root@compute ~]# vi /etc/chrony.conf 
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server controller iburst 
[root@compute ~]# systemctl restart chronyd 
[root@compute ~]# systemctl enable  chronyd 
[root@compute ~]# chronyc sources 
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* controller                   11   6    17    14   +102us[ +130us] +/- 5152us

controller节点的配置

安装mysql数据库

[root@controller ~]# yum -y install mariadb mariadb-server MySQL-python net-tools vim
[root@controller ~]# vi /etc/my.cnf.d/openstack.cnf 
[mysqld]
bind-address = 192.168.1.10   # 监听的IP地址(也可以写0.0.0.0)
default-storage-engine = innodb  # 默认存储引擎[innodb]
innodb_file_per_table       # 使用独享表空间
max_connections = 4096          # 最大连接数是4096 (默认是1024)
collation-server = utf8_general_ci  # 数据库默认校对规则
character-set-server = utf8  # 默认字符集
[root@controller ~]# systemctl start mariadb 
[root@controller ~]# systemctl enable  mariadb 
[root@controller ~]# mysql_secure_installation 

安装RabbitMQ消息服务

[root@controller ~]# yum install -y rabbitmq-server 
[root@controller ~]# systemctl start rabbitmq-server 
[root@controller ~]# systemctl enable rabbitmq-server 

添加openstack用户
[root@controller ~]# rabbitmqctl add_user openstack openstack 
Creating user "openstack"
给openstack用户读写权限
[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/"
开启rabbitmq WEB页面插件
[root@controller ~]# rabbitmq-plugins enable rabbitmq_management
这样我们就可以输入http://本地IP地址:15672访问了

浏览器访问测试
用户名和密码都是guest
在这里插入图片描述

安装memcahce服务

[root@controller ~]# yum install -y memcached python-memcached 
[root@controller ~]# vi /etc/sysconfig/memcached 
OPTIONS="-l 192.168.1.10,::1,controller"
[root@controller ~]# systemctl start memcached 
[root@controller ~]# systemctl enable memcached 

至此,以上就是OpenStack的基础环境的构建

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ball-4444

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值