OpenStack Train版-1.安装基础环境&服务
1. 服务组件的密码
| 密码名称 | 描述 |
| ADMIN_PASS | admin用户密码 |
| CINDER_DBPASS | 块设备存储服务的数据库密码 |
| CINDER_PASS | 块设备存储服务的 cinder 密码 |
| DASH_DBPASS | 仪表板的数据库密码 |
| DEMO_PASS | demo用户的密码 |
| MYUSER_PASSWORD | myuser用户的密码 |
| GLANCE_DBPASS | 镜像服务的数据库密码 |
| GLANCE_PASS | 镜像服务的 glance 用户密码 |
| KEYSTONE_DBPASS | 认证服务的数据库密码 |
| METADATA_SECRET | 元数据代理的密码 |
| NEUTRON_DBPASS | 网络服务的数据库密码 |
| NEUTRON_PASS | 网络服务的 neutron 用户密码 |
| NOVA_DBPASS | 计算服务的数据库密码 |
| NOVA_PASS | 计算服务的 nova 用户的密码 |
| PLACEMENT_PASS | 展示位置服务placement用户的密码 |
| RABBIT_PASS | RabbitMQ服务的openstack用户的密码 |
2. Openstack环境准备
每台服务器关闭防火墙和selinux
systemctl stop firewalld vim /etc/selinux/config
SELINUX=disabled setenforce 0
服务器环境准备
准备两台优化好的服务器用来部署环境,一台控制节点 一台计算节点
生成环境中建议按下面的推荐,将服务分布式部署到单独的服务器上
| CPU | 支持 intel64 或 AMD64 CPU扩展,并启用AMD-H或intel VT硬件虚拟化支持的64位x86处理器 |
| 系统版本 | CentOS7.6 版本 |
| 内存最低要求 | 根据实际测试环境选择 >=4G |
| 硬盘 | 根据实际测试环境选择 >=50G |
| 防火墙 | 关闭 |
| SELINUX | 关闭 |
| YUM源 | 阿里云的Yum源 |
虚拟机IP分配情况
| 主机 | IP地址 | 主机名 | 注意事项 |
| 控制节点 | eth0:192.168.0.10/24 ;eth1: 10.0.1.10/24 | controller | 至少4G,要开虚拟化 |
| 计算节点 | eth0:192.168.0.20/24 ;eth1: 10.0.1.20/24 | computel01 | 至少4G,要开虚拟化 |
| 网络节点 | eth0:192.168.0.30/24 ;eth1: 10.0.1.30/24 | neutron01 | 至少4G,要开虚拟化 |
| 存储节点 | eth0:192.168.0.40/24 ;eth1: 10.0.1.40/24 | cinder01 | 至少4G,要开虚拟化 |
eth0网卡为NAT模式,eth1网卡为仅主机模式

将仅虚拟机的VMnet1仅主机网络设置为可以共享当前主机的外网网卡

设置仅主机模式的网段为10.0.1.0/24

修改VMware的虚拟网络编辑器,这里的仅主机网络IP为手动设置,也可以打开DHCP,在eth1网卡配置文件中则不需要配置IP

3. 控制节点基础配置
为其他节点批量下发秘钥
yum install sshpass -y #测试环境下每台服务器的root密码设置相同了,生产中可写多条sshpass下发秘钥命令
[root@controller ~]# cat >>/server/scripts/fenfa_pub.sh<< EOF
#!/bin/bash
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
for ip in 20 30 40
do
sshpass -p123456 ssh-copy-id -o StrictHostKeyChecking=no 172.16.0.$ip
done
EOF
---------
sh /server/scripts/fenfa_pub.sh
配置hosts
[root@controller ~]# cat >>/etc/hosts <<EOF
192.168.0.10 controller
192.168.0.20 computel01
192.168.0.30 neutron01
192.168.0.40 cinder01
EOF
批量分发hosts文件
for ip in 20 30 40 ;do scp -rp /etc/hosts root@172.16.0.$ip:/etc/hosts ;done
ntp时间同步
#controller节点
yum install chrony -y
vim /etc/chrony.conf
server ntp1.aliyun.com iburst
allow 192.168.0.10/24 systemctl restart chronyd.service
systemctl enable chronyd.service
chronyc sources #其他节点上配置
yum install chrony -y
vim /etc/chrony.conf
server controller iburst systemctl restart chronyd.service
systemctl enable chronyd.service
chronyc sources
安装train版yum源
yum install centos-release-openstack-train -y
安装客户端
yum install python-openstackclient -y
安装数据库
#也可以自定义配置其他版本的数据库,例如mysql
yum install mariadb mariadb-server python2-PyMySQL -y
openstack控制节点重启连接后可能会报一堆错误,下载此应用可以解决此问题
yum install libibverbs -y
cat > /etc/my.cnf.d/openstack.cnf << EOF
[mysqld]
bind-address = 192.168.0.10
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
EOF systemctl enable mariadb.service
systemctl start mariadb.service
#mysql初始化
mysql_secure_installation
安装消息队列服务
yum install rabbitmq-server -y
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
rabbitmq-plugins enable rabbitmq_management rabbitmqctl add_user openstack RABBIT_PASS
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
安装Memcached
yum install memcached python-memcached -y
sed -i '/OPTIONS/c\OPTIONS="-l 0.0.0.0,::1"' /etc/sysconfig/memcached
systemctl restart memcached.service
systemctl enable memcached.service
安装 etcd
#IP地址为控制节点192.168.0.10 yum install etcd -y
cp -a /etc/etcd/etcd.conf{,.bak}
cat > /etc/etcd/etcd.conf <<EOF
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.0.10:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.0.10:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.0.10:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.0.10:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.0.10:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF systemctl restart etcd.service
systemctl enable etcd.service
OpenStack Train版-1.安装基础环境&服务的更多相关文章
- OpenStack Train版-14.安装块存储服务cinder(存储节点)
安装cindoer块存储服务节点(存储节点192.168.0.40)使用默认的LVM卷方法,之后改为ceph存储 安装LVM软件包 [root@cinder01 ~]# yum install lvm ...
- OpenStack Train版-10.安装neutron网络服务(网络节点:可选)
可选:安装neutron网络服务节点(neutron01网络节点192.168.0.30)网络配置按照官网文档的租户自助网络 配置系统参数 echo 'net.ipv4.ip_forward = 1' ...
- OpenStack Train版-13.安装块存储服务cinder(控制节点)
Cinder的核心功能是对卷的管理,允许对卷.卷的类型.卷的快照.卷备份进行处理.它为后端不同的存储设备提供给了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动,可以被Openstack整合 ...
- OpenStack Train版-9.安装neutron网络服务(计算节点)
在计算节点安装neutron网络服务(computel01计算节点192.168.0.20)安装组件 yum install openstack-neutron-linuxbridge ebtable ...
- OpenStack Train版-8.安装neutron网络服务(控制节点)
安装neutron网络服务(controller控制节点192.168.0.10) 创建neutron数据库 mysql -uroot CREATE DATABASE neutron; GRANT A ...
- OpenStack Train版-6.安装nova计算服务(计算节点)
安装nova计算服务(computel01计算节点 192.168.0.20)安装软件包 yum install centos-release-openstack-train -y yum insta ...
- OpenStack Train版-5.安装nova计算服务(控制节点)
nova计算服务需要在 控制节点 和 计算节点 都安装 控制节点主要安装 nova-api(nova主服务) nova-scheduler(nova调度服务) nova-conductor(n ...
- OpenStack Train版-4.安装placement放置服务
安装placement放置服务 创建placement数据库 mysql -uroot CREATE DATABASE placement; GRANT ALL PRIVILEGES ON place ...
- OpenStack Train版-3.安装glance镜像服务
安装glance镜像服务 创建数据库并授权 mysql -u root create database glance; GRANT ALL PRIVILEGES ON glance.* TO 'gla ...
随机推荐
- os.walk() 遍历目录下的文件夹和文件
os.walk(top, topdown=True, onerror=None, followlinks=False) top:顶级目录 os.walk()返回一个三元tupple(dirpath, ...
- 解决 browser-sync start --server --files 文件不能同步的问题!
解决 browser-sync start --server --files 文件不能同步的问题! 请看我的源命令: browser-sync start --server --file 'test2 ...
- Cannot assign requested address问题总结
Cannot assign requested address问题总结 - 简书 https://www.jianshu.com/p/51a953b789a4 python3 server.pyE07 ...
- nginx proxy pass redirects ignore port
nginx proxy pass redirects ignore port $host in this order of precedence: host name from the request ...
- P5689 多叉堆
写在前面 OI 生涯中 AC 的首道组合数学应用题. 开题 5min 发现规律,写了半下午代码,调了两天,然而甚至没过样例,心态崩了.几天之后重新写了一份代码才 AC. 虽然思维难度不大,但毕竟是联赛 ...
- dij的优先队列边表优化
dij的复杂度为v*v,通过优先队列优化后为e*logv. (第一次写,没有过多的测试,不保证对.只当是测试blog了!) #include<cstdio> #include<ios ...
- Vue技术点整理-Vuex
什么是Vuex? 1,Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化 2,每一个 Vuex ...
- QT之——QTableWidget拖拽单元格并替换内容(进阶)
所需待重写函数: [virtual] bool QObject::eventFilter(QObject *watched, QEvent *event); /* * Filters events i ...
- Docker综述
Docker综述 1.Docker是干什么的? 2.Docker的核心:镜像.容器.仓库 2.1 容器与虚拟机的区别 2.2 仓库 Docker作用 3.Docker的使用 1.Docker是干什么的 ...
- Java关键字及作用解释
访问控制 1) private 私有的 private 关键字是访问控制修饰符,可以应用于类.方法或字段(在类中声明的变量). 只能在声明 private(内部)类.方法或字段的类中引用这些类.方法或 ...