这个案例网络规划如下:


这个案例网络规划如下:

管理网络使用10.0.0.0/24 网关:10.0.0.1

提供商网络在203.0.113.0/24  网关为203.0.113.1

此外,所有的节点名称要能解析,IP地址解析为管理网段的地址。例如:controller对应10.0.0.11地址

环境准备工作:

按照以下规划配置各主机IP地址及主机名称

# controller

10.0.0.11       controller

# compute1

10.0.0.31       compute1

# block1

10.0.0.41       block1

# object1

10.0.0.51       object1

# object2

10.0.0.52       object2

wKioL1m_26-jS-ICAAExEZNeSZ0108.png-wh_50

wKiom1m_2-DgIE41AABlnqDUy3E241.png-wh_50

wKioL1m_26_iuDt8AAD43H-QgWM115.png-wh_50

wKiom1m_2-DQTJJoAACPl7ZaGOg397.png-wh_50

安装成功即可

编辑/etc/hosts文件,将以上内容写入即可。

 

关闭所有节点防火墙和SElinux,实验环境中这样做

[root@localhost /]# vim /etc/selinux/config

wKioL1m_283h_DvWAAAboJ8wQOY917.png-wh_50

[root@localhost /]# yum -y install vim

wKiom1m_3BORItueAAAwk2RDhy0297.png-wh_50

controllercompute1上测试到互联网和内网之间的连通性。

wKioL1m_2_6jTbR_AAAXKOjRRoM579.png-wh_50

安装网络时间协议NTP

  需要配置网络时间协议chrony,建议先配置controller节点,然后其他节点同步controller节点时间。

controller节点配置:

1、安装包

[root@localhost ~]# yum -y install chrony

编辑配置文件

[root@controller /]# vim /etc/chrony.conf

wKioL1m_3EnQA5qqAAAeAm6fCZ4880.png-wh_50

1、启动服务并设置开机启动

[root@localhost ~]# systemctl enable chronyd.service
[root@localhost ~]# systemctl start chronyd.service

检查操作:

 controller节点:*号表示默认从这个服务器同步时间

检查操作:

[root@localhost ~]# chronyc sources

wKiom1m_3KmgwVD3AAAiLluUwH4995.png-wh_50

配置内网网卡

wKioL1m_3JXx1kW2AAAm7_qSocc414.png-wh_50

wKiom1m_3MaSIUusAAAd5VMMjs8803.png-wh_50

wKioL1m_3KLTegxZAABsD0fnGaA665.png-wh_50

修改主机名称

[root@localhost network-scripts]# cat /etc/hostname 
Controller

修改computer主机

[root@localhost network-scripts]# cat /etc/hostname

compute1

compute1主机修改网络地址

wKiom1m_3QeR3LZCAAANW1_xGDE437.png-wh_50

controllercompute1上测试到互联网和内网之间的连通性。

[root@controller ~]# ping -c 4 openstack.org

wKiom1m_3S6wqZl8AAAgrhfgrSs592.png-wh_50

compute节点安装

[root@compute1 /]# yum -y install chrony

1、编辑配置文件

   注释掉其它的server行,添加

[root@compute1 /]# vim /etc/chrony.conf

wKioL1m_3SqDfK_NAAASKaUNHQw826.png-wh_50

[root@compute1 /]# systemctl start chronyd
[root@compute1 /]# systemctl enable  chronyd

在其它节点操作:  可以看到已经同步controller时间了

wKiom1m_3XPzWHuLAABT53pEjEo625.png-wh_50

OpenStack packages

这里所描述的OpenStack包的设置需要在所有节点上完成:控制器、计算和块存储节点。

禁用或删除任何自动更新服务,因为它们可以影响您的OpenStack环境。

1、yum install centos-release-openstack-pike  安装pike

2、yum upgrade 更新,如果升级过程包含一个新内核,请重启主机以激活它。

3、yum install python-openstackclient 安装openstack客户端

4、yum install openstack-selinux  openstack服务自动管理Selinux中的安全策略

 

SQL database

大多数OpenStack服务使用SQL数据库存储信息。数据库通常在控制器节点上运行。本指南中使用MariaDBMySQLOpenStack服务还支持其他SQL数据库包括PostgreSQL

controller节点安装

1、安装包:

[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL -y
[root@controller ~]# cat /etc/my.cnf.d/openstack.cnf 
[mysqld]
bind-address = 10.0.0.11 
 
default-storage-engine = innodb  
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

1、启动数据库服务并设置开机启动

[root@controller ~]# systemctl start mariadb.service
[root@controller ~]# systemctl enable mariadb.service

Message queue 消息队列

OpenStack使用消息队列协调服务间的操作和状态信息。消息队列服务通常在控制器节点上运行。OpenStack支持多种消息队列服务包括RabbitMQQpid,和ZeroMQ

controller节点操作

1、安装

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

1、添加openstack用户,并设置密码为123456

[root@controller ~]# rabbitmqctl add_user openstack 123456

Creating user "openstack" ...

1、授予openstack用户配置、写和读访问权限

[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Setting permissions for user "openstack" in vhost "/" ...

1、查看rabbitmq的监听端口:5672

wKioL1m_3ZuBmYqCAAAUp5y8eqU160.png-wh_50

Memcached

身份认证服务认证机制使用memcached缓存令牌。memcached服务通常运行在控制器节点。

controller上操作

1、安装

[root@controller ~]# yum install memcached python-memcached -y

OPTIONS="-l 127.0.0.1,::1,10.0.0.11" 添加控制节点的管理IP地址或名字

[root@controller ~]# cat /etc/sysconfig/memcached 
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,::1,::1,10.0.0.11"
1、开启并设置开机启动
[root@controller ~]# systemctl enable memcached.service
[root@controller ~]# systemctl start memcached.service