OpenStack基础搭建脚本搭建过程
控制节点 controller 计算节点 compute
修改主机名
${name}是一个可变量,可以是controller 或者 compute
hostnamectl set-hostname ${name}
配置主机映射
可以配置
192.168.100.10 controller
192.168.100.20 compute
vi /etc/hosts
配置免密登录
生成秘钥,使用和root一样的密码即可,controller 生成秘钥,推送到compute主机上
# 生成密钥
ssh-keygen
# 拷贝公钥到目标节点
ssh-copy-id $IP
配置YUM源
配置之前,请先挂在源,上传CentOS-7 和 OpenStack 安装源文件到 /opt 目录下
#新建文件夹
mkdir /opt/centos
mkdir /opt/iaas
挂载光盘
mount -o loop /opt/CentOS-7-x86_64-DVD-2207-02.iso /opt/centos
mount -o loop /opt/OpenStack-Install.iso /opt/iaas
配置本地安装源,注意本地目录需要带上根目录/
# 删除需要联网的YUM源
rm -rf /etc/yum.repos.d/*
# 配置我们本地的YUM源
[root@controller ~]# cat /etc/yum.repos.d/local.repo
[centos7.9]
name=centos7.9
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///iaas/iaas-repo/
gpgcheck=0
enabled=1
# 检查YUM源
yum repolist
安装搭建脚本配置环境变量
# 安装搭建脚本
yum install -y openstack-iaas
# 配置环境变量
vi /etc/openstack/openrc.sh
# 删除第一行#注释
1. (键盘)control + v
2. (键盘)shift + g
3. (键盘) x
# 配置密码
# :%s/PASS=/PASS=000000/
##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10
##Controller Server hostname. example:controller
HOST_NAME=controller
##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20
##Compute Node hostname. example:compute
HOST_NAME_NODE=compute
##--------------------Rabbit Config ------------------##
##user for rabbit. example:openstack
RABBIT_USER=openstack
##Password for rabbit user .example:000000
RABBIT_PASS=000000
##--------------------MySQL Config---------------------##
##Password for MySQL root user . exmaple:000000
DB_PASS=000000
##--------------------Keystone Config------------------##
##Password for Keystore admin user. exmaple:000000
ADMIN_PASS=000000
DEMO_PASS=000000
##Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
##--------------------Glance Config--------------------##
##Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
##Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
##--------------------Placement Config----------------------##
##Password for Mysql placement user. exmaple:000000
PLACEMENT_DBPASS=000000
##Password for Keystore placement user. exmaple:000000
PLACEMENT_PASS=000000
##--------------------Nova Config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
##--------------------Neturon Config-------------------##
##Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
##Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
##metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
##External Network Interface. example:ens34
INTERFACE_NAME=ens34
##--------------------Cinder Config--------------------##
##Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
##Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
##Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb
# 计算节点硬盘分区
1. 卸载/mnt的临时挂载
2. 删除/etc/fstab上的永久挂载配置
3. fdisk /dev/vdb 对vdb进行分区
运行初始化脚本
# 注释uprade行
vi /usr/local/bin/iaas-pre-host.sh +41
# 运行初始化脚本
iaas-pre-host.sh
搭建数据库服务
# 在控制节点搭建
iaas-install-mysql.sh
# mariadb
# 登陆数据库
mysql -uroot -p000000
# 查询数据库中所有的库
show databases;
# 查询某个库中的所有表
use $databasename;
show tables;
# 查询某个表中的所有内容 (查)
select * from user;
# 创建一个数据库
create database abc123;
# 为数据库创建一个表
create table test123 (id int, name varchar(256));
# 插入数据到表中 (增)
insert into test123 values(1, 'cloud');
# 删除数据表中内容 (删)
delete from test123 where id=1 ;
# 修改数据表中内容 (改)
update test123 set name='cloud2' where id=1 ;
# 查询指定字段
select id,name from test123;
# 查询数据库的一些参数配置 (比赛时需要求改一些参数时可用)
mysql -uroot -p000000 -e " show variables;"
# rabbitmq
# 创建用户
rabbitmqctl add_user user1 000000
# 赋予权限
rabbitmqctl set_permissions user1 ".*" ".*" ".*"
# 标记tag
rabbitmqctl set_user_tags user1 administrator
# 查询用户
rabbitmqctl list_users
# memcached
# 修改配置文件
vim /etc/sysconfig/memcached
# 注释uprade行
vi /usr/local/bin/iaas-pre-host.sh +41
# 运行初始化脚本
iaas-pre-host.sh
# 在控制节点搭建
iaas-install-mysql.sh
# mariadb
# 登陆数据库
mysql -uroot -p000000
# 查询数据库中所有的库
show databases;
# 查询某个库中的所有表
use $databasename;
show tables;
# 查询某个表中的所有内容 (查)
select * from user;
# 创建一个数据库
create database abc123;
# 为数据库创建一个表
create table test123 (id int, name varchar(256));
# 插入数据到表中 (增)
insert into test123 values(1, 'cloud');
# 删除数据表中内容 (删)
delete from test123 where id=1 ;
# 修改数据表中内容 (改)
update test123 set name='cloud2' where id=1 ;
# 查询指定字段
select id,name from test123;
# 查询数据库的一些参数配置 (比赛时需要求改一些参数时可用)
mysql -uroot -p000000 -e " show variables;"
# rabbitmq
# 创建用户
rabbitmqctl add_user user1 000000
# 赋予权限
rabbitmqctl set_permissions user1 ".*" ".*" ".*"
# 标记tag
rabbitmqctl set_user_tags user1 administrator
# 查询用户
rabbitmqctl list_users
# memcached
# 修改配置文件
vim /etc/sysconfig/memcached