openstack各个节点的服务分布
-
物理硬件配置
openstack集群环境最简单的集群需要包括2个节点:控制节点和计算节点。
-
节点服务
openstack各种网络作用及网卡对应
管理/存储/互联网网络为:192.168.128.0/24——NAT
数据网络:172.16.0/24 ##vxlan隧道网络
本地网络:br-exteral
openstack基础环境安装
1 . 准备3台虚拟机,并配置网络IP
controller
compute
block1
各网卡配置文件
ens38为隧道网络,只需 在控制节点和计算节点上配置即可
ens37使用桥接模式。
ens33是管理网-NAT模式
2 . 将3台虚拟机全部执行以下操作
关闭firewalld服务
# systemctl stop firewalld
# systemctl disable firewalld
关闭NetworkManager服务
systemctl stop NetworkManager
systemctl disable NetworkManager
vi /etc/sysconfig/selinux
将selinux=enforcing改为disable
vi /etc.hosts加入如下内容
192.168.142.xxx controller
192.168.142.xxx compute
192.168.142.xxx block
执行完成后重启3台服务器
安装NTP服务
(1)所有节点都执行安装chrony
yum install -y chrony
(2)修改控制节点NTP服务的配置文件
vim /etc/chrony.conf //使controller服务器作为时间同步服务器
添加标记那行,使这个网段中的所有服务器都以此为时间同步服务器
重启此服务并设置为开机启动
systemctl enable chronyd.service && systemctl start chronyd.service
(3)其他节点上面也修改此配置文件,修改内容如下
配置此行的目的在于指定controller为时间同步服务器
设置为开机启动,并启动该服务
systemctl enable chronyd.service && systemctl start chronyd.service
(4)控制节点验证
# chronyc sources //执行完成后得到如下输出
(5)其他节点执行显示如下则表明配置正确
配置openstack源
yum install -y epel-release centos-release-openstack-queens
yum -y upgrade
yum install -y openstack-selinux
yum install -y python-openstackclient
(1)将yum源文件备份并替换为清华源-所有机器
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
以下内容写入/etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
更新软件包缓存 : yum makecache
(2)所有机器上执行以下安装
yum install -y epel-release
yum install -y centos-release-openstack-queens
出现以下几个源
将CentOS-OpenStack-queens.repo换成清华源
将CentOS-Ceph-Luminous.repo也进行替换
将CentOS-QEMU-EV.repo 进行替换
将epel.repo进行替换
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
运行 yum update 测试一下
(3)所有机器安装以下2个包
yum install -y openstack-selinux
yum install -y python-openstackclient
安装SQL database
- 控制节点(controller)上进行安装
yum install –y mariadb mariadb-server python2-PyMySQL
- 创建/etc/my.cnf.d/openstack.cnf文件并写入以下内容(controller)
bind-address = 192.168.142.135 # 控制节点的管理IP
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
- 将mariadb服务加入开机启动项并启动股服务
systemctl enable mariadb.service && systemctl start mariadb.service
- 服务启动后使用ps 或是status 查看服务是否已启动,如果正常启动则进行“初始化mysql的设置”
mysql_secure_installation
执行后会有一些交互
Enter current password for root (enter for none): #点击回车
Set root password ?[Y/n] y #设置密码
Remove anonymous users? [Y/n] y #移除匿名用户
Disallow root login remotely? [Y/n] n # 不允许远程登录
Remove test database and access to it? [Y/n] y #删除测试数据并访问它
Reload privilege tables now? [Y/n] y #重新加载
- 设置完成登录进行验证openstack
安装消息队列
- 控制节点(controller )进行安装
yum install -y rabbitmq-server
- 安装完成后加入开机启动项并启动服务
systemctl enable rabbitmq-server.service && systemctl start rabbitmq-server.service
- 添加openstack用户进入消息队列中
rabbitmqctl add_user openstack openstack //用户 密码
- 为openstack用户添加读写权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
安装memcached
- 控制节点(controller)进入安装
yum install -y memcached python-memcached
- 编辑配置文件修改内容如下
vi /etc/sysconfig/memcached
3. 服务设置为开机启动项并开启服务
systemctl enable memcached.service && systemctl start memcached.service
安装etcd服务
etcd服务主要存储一些服务的基础信息
- 控制节点(controller)进行安装
yum -y install etcd
- 修改配置文件如下
vim /etc/etcd/etcd.conf
3. 设置开机启动项并启动服务
systemctl enable etcd && systemctl start etcd