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

上一篇
下一篇