先安装一台Ubuntu的虚拟机,我这里安装的是18版本的。
进入虚拟机后进入root模式(sudo)
1、在所有节点配置静态IP地址,我的虚拟网段是192.168.10.0所以我将我的静态IP地址改成了192.168.10.131
vim /etc/network/interfaces
输入以下命令进入IP的文档,
配置完后是这样的.
重启网络接口
禁用网络接口
$ ifdown ens33
# 启用网络接口
$ ifup ens33
# 查看网络接口的信息
$ ifconfig ens33
连接上xshell
2、配置主机名
vim /etc/hostname
删除文件中原有的ubuntu改成controller
3、配置主机名解析,根据实际节点进行配置
vim /etc/hosts
将原有的Ubuntu注释掉,写上新的:自己的IP地址和主机名
注意将每个节点都要写入配置文件,一定要将第二排注释掉!!!
4、配置国内的软件源 , 配置国内的软件源
备份初始源
cp /etc/apt/sources.list /etc/apt/sources.list.bk
把原来的文件删除:
rm /etc/apt/sources.list
添加新的源
vim /etc/apt/sources.list
##把下面内容复制进去
#aliyun
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
更新源缓存:
apt clean && sudo apt-get update
更新软件包
apt-get update && apt-get dist-upgrade
输入y
配置更新
apt-get install software-properties-common
5、安装Open Stack
apt install python3-openstackclient
安装NTP服务all in all
ubuntu软件,chrony,
apt install chrony
更改配置文件
vim /etc/chrony/chrony.conf
更改配置文件
vim /etc/chrony/chrony.conf
server NTP_SERVER iburst
改成对应的服务器IP
示例:
server 192.168.10.131 iburst
#添加密钥
+要使其他节点能够连接到控制器节点上的chrony守护进程,请将此密钥添加到chrony.conf文件中(本实验是单节点可以不添加):
allow 192.168.10.0/24
重启NTP服务
service chrony restart
查看时间同步源
chronyc sources
重启主机,使配置生效
shutdown -r now
6、安装SQL服务
apt install mariadb-server python-pymysql
配置SQL服务
vim /etc/mysql/mariadb.conf.d/99-openstack.cnf
[mysqld]
bind-address = 192.168.10.131
#IP地址是自己的IP地址
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
重启SQL服务
service mysql restart
安全初始化SQL服务,输入MySQL密码(已设置),然后回答问题即可;密码建议设置为1234
进入数据库测试
#进入数据库测试
$ mysql -u root -p1234
#查看当前数据库信息
>show databases;
#退出
>exit
消息队列服务
apt-get install rabbitmq-server
添加用户<RABBIT_PASS>为自定义密码此处已替换成1234
rabbitmqctl add_user openstack 1234
设置权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
高速缓存服务
#### Ubuntu系统
+ 安装高速缓存服务
apt-get install memcached python-memcache
配置高速缓存服务
vim /etc/memcached.conf
这里改成自己的IP地址;
重启高速缓存服务
service memcached restart
7、搭建OpenStack(Q版)之Keystone组件
进入数据库
mysql -u root -p
创建keystone数据库
>>> CREATE DATABASE keystone;
# <KEYSTONE_DBPASS>为自定义密码 1234 务必修改
>>>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
>>> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
退出sql
>>>exit
### 安装Keystone组件
apt install keystone apache2 libapache2-mod-wsgi
配置keystone服务
vim /etc/keystone/keystone.conf
在[database]下
#注意一定要把之前的connectio注释掉 只能有一个
#connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
connection = mysql+pymysql://keystone:1234@controller/keystone
在[token]下
provider = fernet
同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化Fernet令牌
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
#启动认证服务配置endpoint(注意,执行的时候把ADMIN_PASS换成1234或者自己设定,后面会用到,请牢记)
keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:5000/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
配置Apache服务
vim /etc/apache2/apache2.conf
在文件中靠前的位置添加该项
ServerName controller
重启服务器
service apache2 restart
配置管理帐户 注意ADMIN_PASS换成和上面一样(1234)
$ export OS_USERNAME=admin
$ export OS_PASSWORD=ADMIN_PASS
$ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PROJECT_DOMAIN_NAME=Default
$ export OS_AUTH_URL=http://controller:5000/v3
$ export OS_IDENTITY_API_VERSION=3
创建服务实体和API访问端点
创建`identity`服务实体
通过 keystone-manage bootstrap 步骤已经存在了"default"域,但创建一个新域的正式方式是
openstack domain create --description "An Example Domain" example
创建服务项目:
openstack project create --domain default \
--description "Service Project" service
#创建myproject :
openstack project create --domain default \
--description "Demo Project" myproject
创建 tmyuser user:需要输入初始密码 建议1234
openstack user create --domain default \
--password-prompt myuser
创建 myrole role角色:
openstack role create myrole
添加 myrole role 到 myproject project 的 myuser user中
openstack role add --project myproject --user myuser myrole
移除临时令牌`token`与访问URL
unset OS_AUTH_URL OS_PASSWORD
使用`amdin`用户请求令牌`token`
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue
使用`myuser`用户请求令牌(token
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name myproject --os-username myuser token issue
9创建脚本
为`admin`用户创建脚本
mkdir /openstack
vim /openstack/admin-openrc
文件内容
## <ADMIN_PASS>为admin用户的密码 1234 ,不同的记得要修改
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=1234
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
```
+ 为`demo`用户创建脚本
vim /openstack/demo-openrc
文件内容
## <DEMO_PASS>为demo用户的密码 1234 不同的记得要修改
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=myproject
export OS_USERNAME=myuser
export OS_PASSWORD=1234
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
使用脚本
# 使用admin-openrc脚本
source /openstack/admin-openrc
使用demo-openrc脚本
source /openstack/demo-openrc
请求令牌`token`
source /openstack/demo-openrc
#此处有表格出现,表示token生成成功,keystone安装完成