三、OpenStack基础环境准备

本章目录

1、时间同步组件安装(所有节点上执行)
2、启用OpenStack库(控制节点上执行)
3 、NoSql (本章不需要安装)
4、消息队列(控制节点上执行)
5、Memcached(控制节点上执行)
6、Etcd安装(控制节点上执行)

一、时间同步组件安装

  • 在控制节点上配置时间同步服务器,让其他节点连接控制节点同步时间

一、简单介绍:
Chrony是NTP(Network Time Protocol,网络时间协议,服务器时间同步的一种协议)的另一种实现,与ntpd不同,它可以更快且更准确地同步系统时钟,最大程度的减少时间和频率误差。

Chrony包括两个核心组件:
1、chronyd:一个后台运行的守护进程,用于调整内核中运行的系统时钟与NTP服务器同步。它确定服务器增减时间的比率,并对此进行调整补偿;
2、chronyc:提供用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的服务器上工作,也可以在一台不同的远程服务器上工作。

一、控制节点:
1、安装软件包:
[root@controller ~]# yum -y install chrony

2、编辑 vim /etc/chrony.conf 文件,按照你环境的要求,对下面的键进行添加,修改或者删除:

#01、将原有的四个 ntp 时间同步服务器用 # 号注释或者删除,并添加国内的时间服务器,可添加多个
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp6.aliyun.com iburst  

#02、将此处修改为允许同步的网段,可添加多个网段
allow 192.168.17.0/24 

#03、将此处的#号去掉,即使 server 指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端
#local stratum 10   #可选项

3、启动 NTP 服务并将其配置为随系统启动:
[root@controller ~]# systemctl enable chronyd.service
[root@controller ~]# systemctl start chronyd.service

[root@controller ~]# netstat -tunlp |grep chronyd     #默认启动了两个端口,123和323
udp        0      0 0.0.0.0:123             0.0.0.0:*                           8764/chronyd        
udp        0      0 127.0.0.1:323           0.0.0.0:*                           8764/chronyd        
udp6       0      0 ::1:323                 :::*                                8764/chronyd    

注释:
chronyd默认监听两个端口: 123/udp   323/udp
123/udp  ,是供客户端通讯连接用的,安全起见,请绑定服务端socket的IP,而不是0.0.0.0
323/udp,供chronyc连接用,安全起见,默认绑定的本地socket的IP为 127.0.0.1

4、验证服务
#如下显示^* ,*表示同步成功
[root@controller ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 203.107.6.88                  2  10   377   290   +780us[+1291us] +/-   15ms


二、计算节点:
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 |grep chronyd
udp        0      0 127.0.0.1:323           0.0.0.0:*                           8079/chronyd        
udp6       0      0 ::1:323                 :::*                                8079/chronyd     

#可以看到客户端没有起ntp服务,所有没有起123端口
3)验证一下date两边时间是否一致,#如下显示^* ,*表示同步成功
[root@compute1 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* controller                    3   6   377    60   -924us[-3826us] +/-   22ms

二、OpenStack包

启用OpenStack库
# yum install centos-release-openstack-rocky

#如果yum源报错,可以替换为国内yum源
# vim /etc/yum.repos.d/CentOS-OpenStack-rocky.repo
baseurl=http://mirrors.163.com/centos/$releasever/cloud/$basearch/openstack-rocky/
或者:https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/cloud/$basearch/openstack-rocky/

相关网址:https://mirrors.tuna.tsinghua.edu.cn/centos/7/cloud/x86_64/openstack-rocky/

安装完成之后:
1)在主机上升级包:
# yum upgrade

2)安装 OpenStack 客户端:
# yum -y install python-openstackclient
 
3)RHEL 和 CentOS 默认启用了 SELinux . 安装 openstack-selinux 软件包以便自动管理 OpenStack 服务的安全策略:
# yum -y install openstack-selinux

三、SQL数据库(控制节点执行)

1、 安装软件包:在控制节点上安装

# yum -y 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 openstack
Creating user "openstack"

用合适的密码替换 RABBIT_DBPASS。本文改为用户名一致openstack

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

# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
...done.

#知识扩展,用户名增删改查
[root@controller ~]# rabbitmqctl list_users   #查看用户名
Listing users
openstack   []
guest   [administrator]
[root@controller ~]# rabbitmqctl delete_user openstack  #删除用户
Deleting user "openstack"
[root@controller ~]# rabbitmqctl add_user openstack RABBIT_PASS  #创建用户
Creating user "openstack"
修改用户密码:
rabbitmqctl change_password Username Newpassword
相关文章:[https://www.cnblogs.com/xinxiucan/p/7940953.html](https://www.cnblogs.com/xinxiucan/p/7940953.html)

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
rabbit.PNG

rabbit02.PNG

六、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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容