(2)mitaka版本安装入口
ntp'协议' 123'端口' chronyd'服务' --->时间同步
二 控制节点安装
(1)时间同步--->部署不成功的因素!
'控制节点'和'其它节点'时间同步配置略微不一样--->查看'时间同步'的效果
时间同步:涉及一个keystone'密钥过期'的问题(时间不同步,超前或落后)
(2)安装openstack的基础包
由于不同的发布日程,发行版发布 OpenStack 的包作为发行版的一部分'官方源是支持的',或使用其他方式。请在所有节点上执行这些程序。
7.7的最新的openstack源-->cloud是'云计算'的含义
http://mirrors.aliyun.com/centos/7.7.1908/cloud/x86_64/
'官方不支持比较旧的源了,所以看不到M版的'
插曲:openstack版本的说明
'每半年发布一次',从A开始,按字母顺序递增,D之前没办法安装成功,从D版才能装成功,之前是'编译安装'
F和G版(2013)才开始'稳定'--->老一点的公司基于openstack进行'二次开发'选用的是'这两个版本'
问题:'官方bug稳定了',搞大半年才稳定,'稳定就好',不需要升级
openstack'最火'的时候是2016年,所以最火的是'M版'和'L'版本
后面的版本实在升不动了('迭代太快,跟不上节奏')
M版官方已经不提供源了,从'其它途径'获取
'M版本'支持到'2017-09-19'并且是在'7.3中,之后没有了'
注意:升级的问题 --->yum upadte -->本来'没问题','升级后出现问题了'!
'extras资源库'-->里面有opensatck的相关安装包-->
yum install epel-release -y
# 开启后,可以按照如下的方式开启openstack相关的版本'不推荐'
yum install centos-release-openstack-rocky
##################################
centos需要做的两步('所有节点都需要安装'):
(1)yum install python-openstackclient --->安装客户端
(2)yum install openstack-selinux --->selinux问题
'前提':讲openstack的'某个版本'制作成了'本地源'
yum源
[openstack-mitaka]
name=openstack-mitaka
baseurl=http://vault.centos.org/7.3.1611/cloud/x86_64/openstack-mitaka
enabled=1
gpgcheck=0
# 底层虚拟化
[qume-kvm]
name=qemu-kvm
baseurl=http://mirrors.aliyun.com/centos/7.7.1908/virt/x86_64/kvm-common
enabled=1
gpgcheck=0
接下来:以下所有的操作跟计算节点没有一毛钱关系(把计算节点关掉)
yum install mariadb mariadb-server python2-PyMySQL -y
# 说明-->'是否可以将mariadb改成mysql'
openstack'所有的组件'都是'用python开发',要与数据库连接,必须'安装python的mysl模块;python2-PyMySQL '
##############分割线
创建并编辑 '/etc/my.cnf.d/openstack.cnf',然后完成如下动作--->算是'mysql的子配置文件'
在 [mysqld] 部分,设置 "bind-address"控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库:
[mysqld]
# ...省略号表示'在之前'的上面追加(不删除之前的内容)
...
# 监听地址-->controller的ip或者hostname
bind-address = x.x.x.x
在'[mysqld]'部分,设置如下键值来启用一起有用的选项和 UTF-8 字符集:
[mysqld]
...
# 存储引擎
default-storage-engine = innodb
# 独立表空间文件
innodb_file_per_table
# 最大连接数
max_connections = 4096
# 字符集相关的
collation-server = utf8_general_ci
character-set-server = utf8
openstack参考官方文档'原因':'后续可以安装其他版本的'
##############分割线
'启动数据库服务',并将其'配置为开机自启'
systemctl enable mariadb.service
systemctl start mariadb.service
##############分割线
为了保证数据库服务的安全性,运行"mysql_secure_installation"脚本。
'特别需要说明'的是,为数据库的root用户设置一个适当的密码
# 没有安全初始化的坑-->y('设置root密码')yyyy
mysql_secure_installation
注意:openstack mysql没有安全初始化的坑
NOSQL不安装原因:是openstack'相关计费服务'安装,openstack定位为'私有云',就不需要安装了
openstack支持多种消息队列-->'常见rabbitmq'
yum install rabbitmq-server -y
###########分割线
# 启动消息队列服务并将其配置为随系统启动:
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
###########分割线
'rabbitmq的作用':创建一个用户,让openstack'所有的服务'都可以使用消息队列
# 添加 openstack 用户-->创建一个用户
rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" ...
...done.
# 用合适的密码替换 RABBIT_DBPASS
'注意':如果该步骤'失败',检查主机名'是不是controller'
###########分割线
给'openstack'用户配置写和读权限-->'授权'
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
...done.
# 这三个权限与rabitmq关系
'装memcached的原因'-->'令牌token缓存下来'
用户每次登陆,都会分派给他一块令牌,这个'令牌得缓存下来',要不'用户每次都要认证','效率比较低'
认证服务认证缓存'使用Memcached缓存令牌'
缓存服务memecached运行在'控制节点'
在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全
######### 分割线
# 安装软件包-->默认是监听在localhost上'回环地址,只能自己访问',需要修改为某些网段的ip
yum install memcached python-memcached -y
# 编辑配置文件 /etc/sysconfig/memcached
OPTIONS修改监听--> '-l 10.10.0.11'
# 启动Memcached服务,并且配置它随机启动。
systemctl enable memcached.service
systemctl start memcached.service
memcached启动前进行配置
# 默认监听的端口
PORT="11211"
# 启动用户
USER="memcached"
# 最大连接数
MAXCONN="1024"
# 内存
CACHESIZE="64"
# 监听请求的ip
OPTIONS="-l 172.25.2.1"
大检查:检查服务开启
netstat -lntup