You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

231 lines
5.6 KiB

# 使用PackStack安装OpenStack 单节点
## 环境准备
- 关闭相关服务
所有节点填写网络映射
```
echo "192.168.105.10 controller" >> /etc/hosts
```
所有节点永久关闭 selinux,永久关闭 firewalld,永久关闭 NetworkManager
```
systemctl stop firewalld; systemctl disable firewalld
systemctl stop NetworkManager; systemctl disable NetworkManager
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
reboot
```
- 配置yum
清空yum源
```
mv /etc/yum.repos.d/* /tmp/
```
在controller节点挂载本地源
```
[root@controller ~]$ mkdir -p /opt/{centos,extras,openstack}
[root@controller ~]$ mount -o loop /root/CentOS-7-x86_64-Everything-1804.iso /mnt/
[root@controller ~]$ cp -rvf /mnt/* /opt/centos/
[root@controller ~]$ umount /mnt/
[root@controller ~]$ mount -o loop /root/RHEL7-extras.iso /mnt/
[root@controller ~]$ cp -rvf /mnt/* /opt/extras/
[root@controller ~]$ umount /mnt/
[root@controller ~]$ mount -o loop /root/RHEL7OSP-10.iso /mnt/
[root@controller ~]$ cp -rvf /mnt/* /opt/openstack/
[root@controller ~]$ umount /mnt/
```
在controller节点编写本地源
```
[root@controller ~]$ vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos/
gpgcheck=0
enabled=1
[extras]
name=extras
baseurl=file:///opt/extras/
gpgcheck=0
enabled=1
[openstack]
name=openstack-10
baseurl=file:///opt/openstack/rhel-7-server-openstack-10-rpms/
gpgcheck=0
enabled=1
[openstack-devtool]
name=openstack-10-devtools
baseurl=file:///opt/openstack/rhel-7-server-openstack-10-devtools-rpms/
gpgcheck=0
enabled=1
```
- 需要安装的依赖包
qemu-kvm -> 硬件仿真 -> compute节点
libvirt-daemon -> 后台管理进程,管理硬件仿真 -> compute节点
libvirt-daemon-driver-qemu -> 驱动程序 -> compute节点
libvirt-client -> 后台管理的接口 -> compute节点
python-setuptools -> Python -> controller节点
节点安装依赖
```
yum -y install qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptool
```
- 检查基础环境
是否禁用 firewalld 和 NetworkManager
是否为静态 IP
主机之间是否能 ping 通
依赖包是否是10670
依赖是否安装
```
systemctl start libvirtd
```
NTP是否可用,时间是否同步
检查 /etc/resolv.conf 不能有search开头的行
## 安装 PackStack
- 安装OpenStack需要使用的 PackStack
在 controller节点 安装
```
#安装PackStack
[root@controller ~]$ yum -y install openstack-packstack
#使用PackStack创建应答文件
[root@controller ~]$ packstack --gen-answer-file=answer.ini
```
- 修改应答文件
```
sed -i "s#^CONFIG_SWIFT_INSTALL=.*#CONFIG_SWIFT_INSTALL=n#g" answer.ini
sed -i "s#^CON:FIG_CEILOMETER_INSTALL=.*#CONFIG_CEILOMETER_INSTALL=n#g" answer.ini
sed -i "s#^CONFIG_AODH_INSTALL=.*#CONFIG_AODH_INSTALL=n#g" answer.ini
sed -i "s#^CONFIG_GNOCCHI_INSTALL=.*#CONFIG_GNOCCHI_INSTALL=n#g" answer.ini
sed -i "s#^CONFIG_NTP_SERVERS=.*#CONFIG_NTP_SERVERS=time1.aliyun.com#g" answer.ini
sed -i "s#^CONFIG_COMPUTE_HOSTS=.*#CONFIG_COMPUTE_HOSTS=192.168.105.10#g" answer.ini
sed -i "s#^CONFIG_NETWORK_HOSTS=.*#CONFIG_NETWORK_HOSTS=192.168.105.10#g" answer.ini
sed -i "s#^CONFIG_KEYSTONE_ADMIN_PW=.*#CONFIG_KEYSTONE_ADMIN_PW=123456#g" answer.ini
sed -i "s#^CONFIG_NEUTRON_ML2_TYPE_DRIVERS=.*#CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan#g" answer.ini
sed -i "s#^CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=.*#CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex#g" answer.ini
sed -i "s#^CONFIG_NEUTRON_OVS_BRIDGE_IFACES=.*#CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens33#g" answer.ini
sed -i "s#^CONFIG_PROVISION_DEMO=.*#CONFIG_PROVISION_DEMO=n#g" answer.ini
```
- 安装
```
[root@controller ~]$ packstack --answer-file=answer.ini
```
- 验证安装是否成功
配置Dashboard
```
[root@controller ~]$ vi /etc/httpd/conf.d/15-horizon_vhost.conf
#在 WSGIProcessGroup apache 下面 插入一行
WSGIApplicationGroup %{GLOBAL}
[root@controller ~]$ systemctl reload httpd
```
验证登录 OpenStack dashboard
http://192.168.105.10/dashboard
用户名:admin
密码:123456
# OpenStack租户管理
通过Dashboard、命令行进行管理
在进行任何操作前,需要先验证身份 -> keystone
学习路线:
对于Dashboard
- 创建
- 查询-筛选
- 显示详情
- 修改信息
- 删除
对于命令
- 学习openstack 帮助文档,了解命令格式与参数格式
```
openstack project 动作 --help
```
- 列出openstack project管理的基本命令体系
```
openstack --help | grep "^ project"
#输出结果
project create Create new project
project delete Delete project(s)
project list List projects
project set Set project properties
project show Display project details
project unset Unset project properties
```
- 命令格式解析
由命令和参数组成
命令由 前缀 资源 动作,例如 openstack projet show
参数由 可选参数 位置参数 组成
可选参数 -> 可写可不写 [--param -p ]
位置参数 -> 必须写的参数 <index_param> 一般是放在命令的末尾
命令的帮助文档会有三部分组成
第一部分:usage 用法,展现的是该命令的通用格式
第二部分:命令的说明,在usage的下面,描述该命令的功能
第三部分:参数解释,会分别解释可选参数[optional arguments]与位置参数[positional arguments]
练习任务:
使用dashboard创建项目test,给定描述为"Hello Test"
使用命令行给test租户设置额外的属性,usage=test,local=xian
使用命令行给test租户修改额外属性,将 local=xtzy
使用命令行创建创建项目test1,描述留空
使用命令行,列出名称以test开头的项目,批量进行删除