【云计算】实验2:构建OpenStack基本环境构建


一、实验目的

  1. 熟悉Linux基本服务配置;
  2. 理解OpenStack基本环境中各组件用途。

二、实验环境

  1. 实验资源 云主机Vultr、DigitalOCean等
  2. 软件环境 CentOS 7

三、实验内容

  主机名设置好后不可修改,较多组件使用主机名作为参数,若修改主机名则相应组件会出错;控制节点、计算节点配置相同,且均需要设置。

1.1设置主机名

hostnamectl set-hostname controller

添加主机映射
cat << EOF >> /etc/hosts
127.0.0.1 controller
EOF

添加主机映射(另一方法)
vi /etc/hosts
127.0.0.1 controller

配置主机名和集群内部角色名称,方便后续配置
在这里插入图片描述

1.2.关闭防火墙和selinux

1)关闭iptables
在CentOS7上面是firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

2)关闭 selinux
setenforce 0
getenforce
在这里插入图片描述

1.3.配置时间同步

1)在控制端配置时间同步服务
yum install chrony -y

在这里插入图片描述

2)编辑配置文件确认有以下配置
vi /etc/chrony.conf

server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
allow 192.168.0.0/16
在这里插入图片描述
3)重启ntp服务,并配置开机自启动
systemctl restart chronyd.service
systemctl status chronyd.service
systemctl enable chronyd.service
systemctl list-unit-files |grep chronyd.service
在这里插入图片描述
4)设置时区,同步时间
timedatectl set-timezone Asia/Shanghai
chronyc sources
timedatectl status
在这里插入图片描述

1.4.配置相关yum源

1)配置阿里云的base和epel源
mv -f /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
在这里插入图片描述
2)安装openstack-rocky的仓库
yum install centos-release-openstack-rocky -y
yum clean all
yum makecache
在这里插入图片描述
在这里插入图片描述
手动OpenStack的阿里云yum源地址
vi /etc/yum.repos.d/CentOS-OpenStack-Rocky.repo
3)更新软件包
yum update -y
在这里插入图片描述
4)安装openstack客户端相关软件
yum install python-openstackclient openstack-selinux -y
在这里插入图片描述
1.5.在控制节点安装数据库
可以修改系统内核更改最大连接数和文件句柄数
修改文件句柄数量
ulimit -SHn 65536
vi /etc/security/limits.conf

添加如下内容
hard nofile 65536
soft nofile 65536

增加交换空间
mkdir /data
dd if=/dev/zero of=/data/swap bs=1024 count=4096000
mkswap /data/swap
swapon /data/swap
在这里插入图片描述
1)安装mariadb相关软件包
CentOS7.5默认数据库为maraidb
yum install mariadb mariadb-server MySQL-python python2-PyMySQL -y
在这里插入图片描述
2)创建openstack的数据库配置文件
vi /etc/my.cnf.d/mariadb_openstack.cnf
在这里插入图片描述
在[mysqld]添加以下配置
[mysqld]
bind-address = 0.0.0.0
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
init-connect = ‘SET NAMES utf8’

3)启动数据库设置开机启动
systemctl start mariadb.service
systemctl status mariadb.service
systemctl enable mariadb.service
在这里插入图片描述
4)初始化数据库并重新启动
设置密码,默认密码为空; 然后输入密码123456
/usr/bin/mysql_secure_installation
systemctl restart mariadb.service
在这里插入图片描述
5)创建openstack相关数据库
测试下数据库,相关的数据库在需要时单独创建
在这里插入图片描述
1.6.在控制节点安装消息队列RABBITMQ
消息队列( MQ)全称为 Message Queue, 是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息来通信。
消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。
RabbitMQ 是一个在 AMQP 基础上开发的,可复用的企业消息系统。
1)安装rabbitmq-server
yum install rabbitmq-server -y
在这里插入图片描述
2)启动rabbitmq,并配置自启动
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
systemctl enable rabbitmq-server.service
systemctl list-unit-files |grep rabbitmq-server.service
在这里插入图片描述
3)创建消息队列中openstack账号及密码 (设置不成功,通常是hostname配置问题,请重启系统)
添加openstack用户和密码,配置用户权限,配置读,写权限
rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack “." ".” “.*”
rabbitmq配置完毕
在这里插入图片描述
1.7.在控制节点上安装Memcached
认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。
在生产部署中,推荐启用防火墙、认证和加密保证它的安全。
1)安装Memcached用于缓存令牌
yum install memcached python-memcached -y
在这里插入图片描述
2)修改memcached配置文件
vi /etc/sysconfig/memcached
在这里插入图片描述
OPTIONS="-l 127.0.0.1,controller"
如果没有启用IPv6地址需要删掉::1的地址绑定

3)启动memcached并设置开机自启动
systemctl start memcached.service
systemctl status memcached.service
netstat -anptl | grep memcached
systemctl enable memcached.service
systemctl list-unit-files | grep memcached.service
在这里插入图片描述
至此,memcached配置完毕

1.8.在控制节点上安装Etcd服务
这个Etcd服务是新加入的,用于自动化配置。
Etcd是一个分布式一致性键值存储系统,用于共享配置和服务发现。
1)安装etcd服务
yum install etcd -y
在这里插入图片描述
2)修改etcd配置文件
vi /etc/etcd/etcd.conf
增加如下内容:
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS=“http://192.168.56.126:2380”
ETCD_LISTEN_CLIENT_URLS=“http://192.168.56.126:2379”
ETCD_NAME=“controller”
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS=“http://192.168.56.126:2380”
ETCD_ADVERTISE_CLIENT_URLS=“http://192.168.56.126:2379”
ETCD_INITIAL_CLUSTER=“controller=http://192.168.56.126:2380”
ETCD_INITIAL_CLUSTER_TOKEN=“etcd-cluster-01”
ETCD_INITIAL_CLUSTER_STATE=“new”
在这里插入图片描述
3)启动etcd并设置开机自启动
systemctl start etcd.service
systemctl status etcd.service
netstat -anptl|grep etcd
systemctl enable etcd.service
systemctl list-unit-files | grep etcd.service
在这里插入图片描述
节点controller完成基础环境配置
基本环境配置完毕


总结

(1)主机名设置好后不可修改,较多组件使用主机名作为参数,若修改主机名则相应组件会出错;控制节点、计算节点配置相同,且均需要设置。

(2)消息队列( MQ)全称为 Message Queue, 是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息来通信。
  消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。
  RabbitMQ 是一个在 AMQP 基础上开发的,可复用的企业消息系统。

(3)认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。  memcached是一个分布式的基于内存的缓存服务器,我们一般用memcached来减轻数据库的负载,提高程序的响应速度。
  memcahched采用key-value存储数据,将对象序列化成二进制,以便在网络中进行传输。

(4)Etcd服务,etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd给予go语言实现。
  etcd作为服务发现系统,有以下的特点:
  简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单
  安全:支持SSL证书验证
  快捷:根据官方提供的benchmark数据,单实例支持每秒2k+读操作
  可靠:采用raft算法,实现分布式系统数据的可用性和一致性

(5)NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。时间按NTP服务器的等级传播。按照离外部UTC源的远近把所有服务器归入不同的Stratum(层)中。

在这里插入图片描述
openstack架构
(1)外部网络:为云主机提供上网业务和外界登陆openstack使用(在上图为蓝色模块)
(2)管理网络:三节点之间通信,比如keystone、认证、RabbitMQ消息队列等(在上图为红色模块)
(3)业务网络:网络节点和计算节点之间的虚拟机数据通信,比如DHCP、L2、L3(在上图为绿色模块)

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、Virtual Box的安装 1、安装Virtual Box 2、 Virtual Box网络设定 3、 安装操作系统 二、 环境预配置 1、 网路设置 2、 分别修改三个虚拟机的主机名 3、 主机地址映射配置 4、 禁用selinux 5、 CentOS6本地yum源配置 注:先加载镜像 6、 NTP安装服务 三、 本地源制作 1. Centos6.6本地base、extra源制作 2. 本地base、extra源制作 3. 本地epel、openstack源制作 4. ftp服务安装 5. 修改yum源仓库指向文件 四、 keystone安装(上) 1. 安装Mysql服务 2. 安装rabbitmq消息队列 3. 为nova,neutron,cinder.heat创建用户并授权 五、 keystone安装(下) 1. 创建库和授权 2. 创建库和授权 3. 生成PKI认证所需要的证书文件 4. 同步keystone数据库,生成keystone所需的表 5. 启动keystone服务和校验服务状态 6. 创cron任务,配置定期清理过期的token 7. keystone创建user,tenant,role和endpoint 六、 Glance安装 1. Glance的安装 2. 配置glance-api服务 3. 配置glance-registry服务 4. 启动并校验glance服务 57 七、 Nova安装 59 1. nova的安装与配置 59 2. 安装和配置nova 60 八、 Neutron安装 63 1. neutron的安装与配置 63 2.Neutron使用二层组件 66 3. 配置OVS二层插件 67 4. 配置nova支持neutron 67 5. 启动neutron-server服务 68 6. 重启nova服务和neutron联动 69 7. 重启neutron-server 69 8. controller0上校验neutron的配置 69 九、 Horizon安装 71 1. Horizon组件的安装与配置 71 十、 Compute0安装nova 74 1. nova的安装与配置(compute0-10.20.0.30) 74 2. nova的安装与配置 75 十一、 Compute0安装neutron 78 1. neutron的安装与配置(compute0) 78 十二、 Network0安装neutron 83 1. neutron的安装与配置 83 十三、 新建网络 91 1. 配置安全组规则 91 2. 新建网络 92 3 .创建云主机 99 4 .分配浮动ip 101 十四、 心得体会 107
基于OpenStack构建云计算基础架构平台的研究是一项重要的课题。OpenStack是一个开源的云计算平台,旨在提供可扩展的基础设施即服务(IaaS)和平台即服务(PaaS)功能。 首先,基于OpenStack构建云计算基础架构平台可以提供灵活性和可靠性。OpenStack采用模块化的架构,包括计算、存储、网络和身份认证等组件,可以根据需求灵活地配置和扩展。同时,OpenStack支持分布式存储和计算,可以保证数据的高可靠性和可用性。 其次,基于OpenStack构建云计算基础架构平台可以提供强大的管理和监控功能。OpenStack提供了Web界面和API接口,方便管理员进行资源的管理和监控。管理员可以对云计算平台进行实时监控,包括计算节点、存储节点和网络设备等。 再次,基于OpenStack构建云计算基础架构平台可以实现多租户的支持。OpenStack支持虚拟化技术,可以将物理资源划分为多个虚拟资源池,每个租户可以独立使用和管理自己的资源。这样可以实现资源的隔离和安全性。 最后,基于OpenStack构建云计算基础架构平台可以降低成本和提高效率。OpenStack是一个开源项目,不需要支付高昂的许可费用。同时,OpenStack提供自动化的资源调度和管理功能,可以提高资源利用率和工作效率。 综上所述,基于OpenStack构建云计算基础架构平台的研究具有重要意义,可以提供灵活性、可靠性、强大的管理和监控功能、多租户支持以及降低成本和提高效率的优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值