文章目录
安装VirtualBox
VirtualBox下载链接
这玩意是一个类似于VMWare的东西,是一款开源虚拟机软件。
(版本是随便选的)
- 下载以后一路确定
- 修改语言:File-Preferences-Language
安装Vagrant
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。
Vagrant的运行是需要依赖某个虚拟化平台的,如上面安装的virtualBox
直接用老师给的或者去官网下载都可以
我用的是老师的
双击安装
检查Vagrant是否安装成功
输入vagrant.exe
查看
找一个文件夹下打开powerShell软件(按住shift点右键) 执行vagrant.exe init 名字
,当前目录下会生成一个Vagrantfile 文件
- 如果上一步的报错信息是没有权限,就输入
Start-Process powershell -Verb runAs
打开管理员权限的命令窗口再初始化
在当前目录下继续执行vagrant.exe box add centos/7 D:\IDE\VM\virtualbox.box 命令 ,把box文件加载到VirtualBox中,此时当前目录会出现.vagrant 文件夹
在当前目录下继续执行vagrant.exe up 启动虚拟机
如果启动成功了就说明VirtualBox+Vagrant搭建成功了
下载OpenStack包
打开老师给的github链接
OpenStack包下载
这三行代码
git clone https://github.com/OpenStackCookbook/OpenStackCookbook.git
cd OpenStackCookbook
vagrant up
1、找一个裸盘,直接打开cmd运行第一行;然后文件夹里就会出现一个OpenStackCookBook的文件夹(我是在D盘)
2、然后运行到后两行代码的时候会报错找不到网址,点进OpenStackCookBook,打开Vagrantfile,编辑如下
取消这一行的注释
再次vagrant up
报错如下
修改配置文件
中间卡在这块儿的时候搭了个梯子才好的
Install MariaDB
这个没什么大问题,提示没有权限的时候使用sudo chmod 777 文件名
修改权限即可。最后再sudo chmod 644 文件名
设置回来
Install KeyStone
apt-get update
- 更新卡着不动的话改成
sudo apt-get update
新错误
记得关电脑之前先vagrant halt关一下虚拟机
诶,睡醒起来好了,直接更新成功了(记得用sudo那个命令)
apt-get install ntp keystone python-keyring
直接改成sudo apt-get install ntp keystone python-keyring
编辑配置文件/etc/keystone/keystone.conf
提示权限不够,切换成root用户修改,成功。
KeyStone用户设置
- 创建租户的时候报错了
solution:上图环境变量里的https改成http,再次运行,报错:
直接查询用户列表,发现两个用户都已经建好了
创建角色
先查一下角色列表
不出意料创建好了已经,跳过
在 cookbook 租户里,创建 admin 用户
获取cookbook租户id时报错
那个斜杠两边要加空格,给你复制一个正确的命令
TENANT_ID=$(keystone --insecure tenant-list | awk '/\ cookbook\ / {print $2}')
成功。
它说角色已经创建好了,查询一下,确实有了,直接跳过
这句话ROLE的L是错的,不要直接复制
Set Endpoint
定义服务端点
设置端点
如果报这个错了就重新输一遍上面的export环境变量。是因为重启以后原来存的环境变量就没了。
解决方法:
注意这一行没加双引号,记得自己加一下
-
设置url的时候又卡住了
-
解决方法:
把service_id参数改成list中查询到的nova的id,如下图:
对应service_id查询:
-
设置到Block Storage Service时,注意这行命令的"{“改成”("
配置合适的服务租户
这些之前都有了,可以提前查一下user-list看看有没有,有就不用建了
list查询结果
分配角色
分配角色也都分配好了,直接用这个命令查一下,发现都有
keystone --insecure user-role-list --user nova --tenant service
如图,全有
glance 安装
安装OpenStack镜像服务
这两句别直接复制,localhost和%前面都有多余空格,复制下面的
grant all privileges on glance.* to 'glance'@'%' identified by 'openstack';
grant all privileges on glance.* to 'glance'@'localhost' identified by 'openstack';
报错
解决方法:删除数据库中的glance库重新建一个
用OpenStack 镜像服务管理镜像
镜像信息记录:
±-------------------------------------±---------------------------±------------±-----------------±----------±-------+
| ID | Name | Disk Format | Container Format | Size | Status |
±-------------------------------------±---------------------------±------------±-----------------±----------±-------+
| 493f23f4-4a9f-4658-aa6f-35b0d652c628 | ubuntu 14.04 x86_64 Server | qcow2 | bare | 264897024 | active |
±-------------------------------------±---------------------------±------------±-----------------±----------±-------+
从这步往后就没管了,大家都报错而且好像不是必要的
Neutron
在专属网络节点安装 Neutron 和 Open vSwitch
注意下面这个命令是分开输的
输四次
sudo apt-get install neutron-dhcp-agent
sudo apt-get install neutron-l3-agent
sudo apt-get install neutron-plugin-openswitch-agent
sudo apt-get install neutron-plugin-ml2
安装并配置Neutron API 服务
复制以下命令
grant all privileges on neutron.* to 'neutron'@'localhost' identified by 'openstack';
grant all privileges on neutron.* to 'neutron'@'%' identified by 'openstack';
创建租户Neutron网络
1、创建私有Neutron网络
取TENANT_ID的时候复制下面这个命令、PPT上的有点问题、可能会报错
TENANT_ID=$(keystone --insecure tenant-list | awk '/\ cookbook\ / {print $2}')
3、然后,在该网络上创建一个路由器,用作实例的默认网关。
ppt的命令多了括号,删掉括号,创建成功
Nova
非常顺利
放个查询结果
创建实例
一开始报SSL错误,将https改为http
之后核对nova/nova.conf里的keystone配置
成功但是又有新的报错
发现是原来4.5的Neutron后面没配置好,回去继续配
openstack常用命令-neutron篇
自己换了个名字,记录一下
括号去掉
再次查询image-list,报错HTTP500,在经历了很长很长时间的寻找后,发现是在前面的步骤把/glance/glance-xxx.conf配置文件误改了,遂按照之前的重新来了一遍,再查image-list,成功。
创建实例
输入命令并修改对应的id,创建实例,创建之后发现实例的status是ERROR,查看镜像信息、报错如下
用su root 进入root用户
进入/var/log/nova
查询错误:cat nova-conductor.log | grep ERROR
如下
再次报错
在goggle查询,修改方式如下:
sudo vim /etc/nova/nova.conf
注释掉下面两行代码
创建实例,active
但是active后电脑蓝屏,重启以后重建实例,再次报错如下
nova show id查看
解决方法:
sudo vim /etc/nova/nova.conf
在default下添加两行代码
vif_plugging_is_fatal=FALSE
vif_plugging_timeout=0
成功
±-------------------------------------±-----------±-------±-----------±------------±------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
±-------------------------------------±-----------±-------±-----------±------------±------------------------------+
| c4ba083f-185c-480e-a862-6763cc711896 | myInstance | ACTIVE | - | Running | cookbook_network_2=10.200.0.6 |
±-------------------------------------±-----------±-------±-----------±------------±------------------------------+