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.

5.9 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开头的项目,批量进行删除

OpenStack用户管理

什么是用户:操作OpenStack,与OpenStack资源进行交互的人或者匿名者(虚拟的人)

用户与租户是什么关系:绑定关系,用户就是租户内部的打工人(牛马),是一对多出的绑定关系,在不同的租户下面会有不同的角色身份。

通过Dashboard进行管理

通过CLI(命令行)进行管理