1、准备环境:
- 物理机或者虚拟机一台(本文使用CentOS7系统)
- 2个网络接口
- 8GB主内存、40GB磁盘空间(视情况而定)
2、准备部署:
2.1 服务器配置IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network # 重启网络
2.2 安装依赖关系
yum install -y epel-release
yum install -y python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
2.3 安装ansible
yum install ansible
2.4 安装kolla-ansible,用来部署
pip install kolla-ansible
2.5 将globals.yml和passwords.yml复制到/etc/kolla目录
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/
2.6 将all-in-one和multinode库存文件复制到当前目录。
cp /usr/share/kolla-ansible/ansible/inventory/* .
3、下载kolla源码
若没有git命令,手动安装yum install -y git
3.1 获取Kolla和Kolla-Ansible存储库
git clone https://github.com/openstack/kolla
git clone https://github.com/openstack/kolla-ansible
3.2 Kolla-ansible在etc/kolla中保存配置文件(globals.yml和passwords.yml)将配置文件复制到/etc/kolla目录
cp -r kolla-ansible/etc/kolla /etc/kolla/
3.3 Kolla-ansible将库存文件(all-in-one和multinode)保存在ansible / inventory中。
现将清单文件复制到当前目录
cp kolla-ansible/ansible/inventory/* .
4 准备在主机上部署单节点OpenStack(如果是多节点需要配置multinode文件)
4.1 部署中使用的密码存储在/etc/kolla/passwords.yml文件中。
通过运行下面命令生成随机密码:
kolla-genpwd
初始化之后,可手动更改keystone_admin_password密码(OpenStack登录密码)
vim /etc/kolla/passwords.yml
keystone_admin_password:admin
4.2 编辑globals.yml配置文件
kolla_base_distro: "centos"
# binary使用像apt或yum这样的软件仓库,source使用原始源代码归档,git存储库或本地源代码目录
kolla_install_type: "source"
openstack_release: "queens" # 使用的版本
network_interface: "eth0" # OpenStack使用的网络接口
# 第二个接口专用于Neutron外部(或公共)网络,可以是vlan或flat,取决于网络的创建方式。
# 这个接口应该是活动的,没有IP地址。否则,实例将无法访问外部网络
neutron_external_interface: "eth1"
kolla_internal_vip_address: "10.1.1.10" # VIP
5、开始部署
''' 1、带有kolla的引导服务器部署依赖关系'''
kolla-ansible -i ./all-in-one bootstrap-servers
''' 2、对主机执行预部署检查'''
kolla-ansible -i ./all-in-one prechecks
''' 3、执行OpenStack部署'''
kolla-ansible -i ./all-in-one deploy
6、使用OpenStack
6.1 OpenStack需要一个openrc文件,其中设置了admin用户的凭证。
要生成这个文件运行以下命令:
kolla-ansible post-deploy
. /etc/kolla/admin-openrc.sh
6.2 安装基本的OpenStack CLI客户端:
pip install python-openstackclient python-glanceclient python-neutronclient
6.3 运行脚本创建示例网络,图像等
. /usr/share/kolla-ansible/init-runonce
网友评论