基本环境配置

云计算平台的拓扑图如图1所示,IP地址规划如图1所示。

image.png
本次搭建采用双节点安装,即controller node控制节点和compute node计算节点。ens33为外部网络,ens34为内部管理网络。

1、安装NTP时间服务(添加新的计算节点时需要安装)(在所有节点安装)

官方文档:https://docs.openstack.org/install-guide/environment-ntp.html

1.1控制节点(提供时间服务,供其他机器同步)

安装软件
yum install chrony -y
配置控制节点,修改第22行
[root@controller ~]# vi /etc/chrony.conf
···
在第六行增减以下两条配置:
server time2.aliyun.com iburst
server controller iburst

修改28行左右参数为:
allow 192.168.0.0/16
设置chronyd.service服务自启动,并重启。
systemctl enable chronyd.service
systemctl restart chronyd.service

1.2计算节点(配置chrony客户端)

安装软件
yum install chrony -y
配置文件第三行开始,删除(注释#)无用的上游服务器。
配置文件说明:
[root@compute1 ~]# vim /etc/chrony.conf
在第六行增减以下一条配置:
server contronller iburst
修改26行左右参数为:
allow 192.168.0.0/16
启动,设置自启动
systemctl enable chronyd.service
systemctl restart chronyd.service
systemctl status chronyd.service

1.3查看时间同步源:(测试所有节点)

chronyc sourcestats -v
210 Number of sources = 1
.- Number of sample points in measurement set.
/ .- Number of residual runs with same sign.
| / .- Length of measurement set (time).
| | / .- Est. clock freq error (ppm).
| | | / .- Est. error in freq.
| | | | / .- Est. offset.
| | | | | | On the -.
| | | | | | samples. \
| | | | | | |
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
controller 6 3 324 +3.379 64.747 +14us 1911us
chrony 配置参考文明当:https://www.cnblogs.com/abclife/p/4736064.html

2、 OpenStack的包操作(添加新的计算节点时需要安装)(在所有节点安装)

2.1安装适当的OpenStack客户端。

对于CentOS 7和RHEL 7
# yum install python-openstackclient

2.2安装openstack-selinux

RHEL和CentOS 默认情况下启用SELinux。安装 openstack-selinux软件包以自动管理OpenStack服务的安全策略:
# yum install openstack-selinux

3、SQL数据库安装(在控制节点操作)

3.1安装mariadb软件包:

[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL

创建配置文件
cat > /etc/my.cnf.d/openstack.cnf <<-‘EOF’
[mysqld]
bind-address = 192.168.100.10
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
EOF


3.2启动数据库服务并将其配置为在系统引导时启动:(在控制节点安装)

设置mariadb随机启动,并重新启动mariadb数据库。
systemctl enable mariadb.service
systemctl restart mariadb.service
systemctl status mariadb.service
执行mariadb安全初始化
为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。
[root@controller ~]# mysql_secure_installation
···
Enter current password for root (enter fornone): 回车
OK, successfully used password, moving on…
Set root password? [Y/n] y
Remove anonymous users? [Y/n] Y
… Success!
Disallow root login remotely? [Y/n] Y
… Success!
Remove test database and access to it? [Y/n] Y
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reload privilege tables now? [Y/n] Y
… Success!

Thanks for using MariaDB!

3.3重置数据库密码(如果忘记密码可以按以下步骤操作)

解决MySQL登录ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using passwor)问题
1、首先停掉mysql 数据库 一般是安装在/etc/init,d/mysqld stop
2、修改mysql的配置文件/etc/my.cnf
最后一行添加 skip-grant-tables 表示可以跳过权限去登录
3、重启 mysql 数据库 systemctl restart mariadb.service
3、使用 mysql -u root -p
‘’回车“
表示没有密码 直接登录
4、修改 mysql 表里面的用户,为其设置密码。
update user set password=password(‘000000 ‘) where user=’root’;
5、删除 skip-grant-tables
6.完成

4、安装消息队列(在控制节点安装)

4.1安装软件包:

yum install rabbitmq-server

4.2启动消息队列服务,并将其配置为在系统引导时启动,查看服务状态:
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service

4.3添加openstack用户:

rabbitmqctl add_user openstack 000000 注释:000000是密码。替换的是RABBIT_PASS

4.4给予用户openstack配置、写和读权限:

rabbitmqctl set_permissions openstack “.“ “.“ “.*”

Setting permissions for user “openstack” in vhost “/“ …

5、安装Memcached(在控制节点安装)

5.1安装软件包:**

yum install memcached python-memcached

5.2编辑/etc/sysconfig/memcached文件并完成以下操作:

  • 配置服务以使用控制器节点的管理IP地址。这是为了允许其他节点通过管理网络进行访问:

vi /etc/sysconfig/memcached
OPTIONS=”-l 127.0.0.1,::1,controller”

5.3启动Memcached服务,并将其配置随机启动,并查看状态:

systemctl enable memcached.service
systemctl start memcached.service
systemctl status memcached.service

6、安装CentOS的Etcd服务(此服务为选装服务,在控制节点安装)

6.1安装软件包:

yum install etcd

6.2编辑/etc/etcd/etcd.conf文件,并设置ETCD_INITIAL_CLUSTERETCD_INITIAL_ADVERTISE_PEER_URLSETCD_ADVERTISE_CLIENT_URLSETCD_LISTEN_CLIENT_URLS控制器节点,以使经由管理网络通过其他节点的访问的管理IP地址:

#[Member]
ETCDDATA_DIR=”/var/lib/etcd/default.etcd”
ETCD_LISTEN_PEER_URLS=”http://10.0.0.11:2380
ETCD_LISTEN_CLIENT_URLS=”http://10.0.0.11:2379
ETCD_NAME=”controller”
#[Clustering]_
ETCD_INITIAL_ADVERTISE_PEER_URLS=”http://10.0.0.11:2380
ETCD_ADVERTISE_CLIENT_URLS=”http://10.0.0.11:2379
ETCD_INITIAL_CLUSTER=”controller=http://10.0.0.11:2380
ETCD_INITIAL_CLUSTER_TOKEN=”etcd-cluster-01”
ETCD_INITIAL_CLUSTER_STATE=”new”

6.3启用并启动etcd服务:

systemctl enable etcd
# systemctl start etcd

7、验证以上部署的服务是否正常

查看端口信息
[root@controller ~]# netstat -lntup

image.png
chronyd服务 123(提供给其他机器)、323(与上游同步端口)
Mariadb 数据库 3306数据接口
rabbitmq 消息队列 4369、25672(高可用架构使用)、5672(程序写端口)
memcached token保存 11211

至此OpenStack 基础配置完成。

备忘:yum install centos-release-openstack-pike -y OpenStack官方源