三、OpenStack基础环境准备
本章目录
1、时间同步服务器 (所有节点上执行)
2、启用OpenStack库(控制节点上执行)
3 、NoSql (本章不需要安装)
4、消息队列(控制节点上执行)
5、Memcached(控制节点上执行)
6、Etcd安装(控制节点上执行)
一、网络时间协议(NTP)
- 在控制节点上安装时间同步服务器,让其他节点会连接控制节点同步时间
##控制节点:
1)安装软件包:
[root@controller ~]# yum install chrony
2)编辑 /etc/chrony.conf 文件,按照你环境的要求,对下面的键进行添加,修改或者删除:
3 server ntp6.aliyun.com iburst #第三行可以配置也可以不配置
23 allow 192.168.0.0/24
3)启动 NTP 服务并将其配置为随系统启动:
[root@controller ~]# systemctl enable chronyd.service
[root@controller ~]# systemctl start chronyd.service
[root@controller ~]# netstat -tunlp
udp 0 0 0.0.0.0:123 0.0.0.0:* 60833/chronyd
udp 0 0 127.0.0.1:323 0.0.0.0:* 60833/chronyd
udp6 0 0 ::1:323 :::* 60833/chronyd
##计算节点
1)修改计算节点跟控制节点进行时间同步
[root@compute1 ~]# yum install chrony -y
[root@compute1 ~]# vim /etc/chrony.conf
server 192.168.223.170 iburst
2)重启服务
[root@compute1 ~]# systemctl restart chronyd
[root@compute1 ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 127.0.0.1:323 0.0.0.0:* 8299/chronyd
udp6 0 0 ::1:323 :::* 8299/chronyd
#可以看到客户端没有起ntp服务,所有没有起123端口
3)验证一下date两边时间是否一致
二、OpenStack包
启用OpenStack库
# yum install centos-release-openstack-rocky
安装完成之后:
1)在主机上升级包:
# yum upgrade
2)安装 OpenStack 客户端:
# yum install python-openstackclient
3)RHEL 和 CentOS 默认启用了 SELinux . 安装 openstack-selinux 软件包以便自动管理 OpenStack 服务的安全策略:
# yum install openstack-selinux
三、SQL数据库(控制节点执行)
1、 安装软件包:在控制节点上安装
# yum install mariadb mariadb-server python2-PyMySQL
2、 创建并编辑 /etc/my.cnf.d/openstack.cnf,然后完成如下动作:
-
在
[mysqld]部分,设置bind-address值为控制节点的管理网络IP地址,以使得其它节点可以通过管理网络访问数据库: -
在
[mysqld]部分,设置如下:
[mysqld]
bind-address = 192.168.223.170
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
注释
innodb_file_per_table = on #每一张表独立表空间文件
max_connections = 4096 #最大连接数
3、 启动数据库服务,并将其配置为开机自启:
# systemctl enable mariadb.service
# systemctl start mariadb.service
4、 为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码(安全初始化)
# mysql_secure_installation
回车
n 可以不设root密码
剩下都是y
[root@controller ~]# mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] n
... skipping.
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!
四、NoSql (本章需要安装)
nosql不需要安装,因为在监控计费公有云下才使用NoSQL 数据库,我们搭建私有云所以不需要安装
五、 消息队列(控制节点执行)
OpenStack 使用 message queue协调操作和各服务的状态信息。消息队列服务一般运行在控制节点上。OpenStack支持好几种消息队列服务包括 RabbitMQ, Qpid, 和 ZeroMQ。不过,大多数发行版本的OpenStack包支持特定的消息队列服务。本指南安装 RabbitMQ 消息队列服务,因为大部分发行版本都支持它。如果你想安装不同的消息队列服务,查询与之相关的文档。
安全并配置组件
1、安装包:
# yum install rabbitmq-server
2、启动消息队列服务并将其配置为随系统启动:
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service
3、添加 openstack 用户:
# rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" ...
...done.
[root@controller ~]# rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack"
用合适的密码替换 RABBIT_DBPASS。
4、给openstack用户配置写和读权限:
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
...done.
5、可以查看开启的端口
[root@controller ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 58789/beam
tcp 0 0 192.168.223.170:3306 0.0.0.0:* LISTEN 58585/mysqld
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 27186/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 9809/master
tcp6 0 0 :::5672 :::* LISTEN 58789/beam
tcp6 0 0 :::22 :::* LISTEN 27186/sshd
tcp6 0 0 ::1:25 :::* LISTEN 9809/master
udp 0 0 127.0.0.1:323 0.0.0.0:* 20753/chronyd
udp6 0 0 ::1:323 :::* 20753/chronyd
6、打开rabbitmq管理界面方法:
##打开rabbitmq管理界面:
[root@controller ~]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
amqp_client
cowlib
cowboy
rabbitmq_web_dispatch
rabbitmq_management_agent
rabbitmq_management
Applying plugin configuration to rabbit@controller... started 6 plugins.
[root@controller ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 58789/beam
可以看到启用了15672端口:
浏览器访问:http://192.168.223.170:15672
用户:guest
密码:guest
六、Memcached(安装在控制节点上)
认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。
1、安装软件包:
[root@controller ~]# yum install memcached python-memcached -y
2、Edit the /etc/sysconfig/memcached file and complete the following actions:
- 将服务配置为使用控制器节点的管理IP地址。这是为了允许其他节点通过管理网络访问:
OPTIONS="-l 127.0.0.1,::1,controller"
操作如下:
[root@controller ~]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,::1"
[root@controller ~]# sed -i 's#127.0.0.1#192.167.223.170#g' /etc/sysconfig/memcached
[root@controller ~]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 192.168.223.170,::1"
3、启动服务
[root@controller ~]# systemctl enable memcached.service
[root@controller ~]# systemctl start memcached.service
[root@controller ~]# netstat -tunlp
tcp6 0 0 ::1:11211 :::* LISTEN 60474/memcached
七、Etcd安装
1、安装软件包
[root@controller ~]# yum install etcd -y
2、修改配置文件/etc/etcd/etcd.conf
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.223.170:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.223.170:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.223.170:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.223.170:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.223.170:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
3、启动服务
[root@controller ~]# systemctl enable etcd
[root@controller ~]# systemctl start etcd
浙公网安备 33010602011771号