目录
1. 准备工作
1.1环境准备
物理机一台、CentOS7、双网卡(第一张为管理网络,可以访问公网,第二张为实例使用网络,启动即可,无需配置IP。)
这里注意的是,docker安装目录在/var,分区的时候要注意,或者软链接到新目录
1.2 关闭selinux
vi /etc/selinux/config
更改SELINUX选项为不可用
SELINUX=disabled
1.3 关闭防火墙(可选)
systemctl stop firewalld
systemctl disable firewalld
# 因为是测试环境,所以关掉了防火墙
1.4 更改hosts
192.168.134.131 kolla
# centos 默认主机名localhost如果更改,统一即可
2.安装docker容器
使用官方脚本一键安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
手动安装请参考:
https://www.runoob.com/docker/centos-docker-install.html
测试docker是够正常运行:
sudo docker run hello-world
3.安装依赖
yum install epel-release
yum install python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
yum install ansible
配置ansible:
添加至 /etc/ansible/ansible.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100
4. 安装Kolla-ansible
pip install kolla-ansible
提示有安装包无法安装,使用pip install --ignore-installed
命令强制执行
复制kolla-ansible配置文件:
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/
cp /usr/share/kolla-ansible/ansible/inventory/* .
5. 安装Kolla
从git克隆Kolla和Kolla Ansible存储库。
git clone https://github.com/openstack/kolla
git clone https://github.com/openstack/kolla-ansible
将配置文件复制到/etc/kolla目录。
cp -r kolla-ansible/etc/kolla /etc/kolla/
cp kolla-ansible/ansible/inventory/* .
6. 配置OpenStack环境
6.1 调整kolla-ansible全局配置
kolla_install_type: "source" # 使用源码版本,更稳定
openstack_release: "train"
# 指定queens版本kolla_internal_vip_address: "192.168.134.131" # all-in-one部署,指定vip为管理网络网卡
network_interface: "ens33" # 管理网络、API网络的网卡
neutron_external_interface: "ens34" # 外部网络的网卡
enable_haproxy: "no" # all-in-one部署,不部署HA服务
6.2 调整 all-in-one 配置
[control]
kolla ansible_connection=local
[network]
kolla ansible_connection=local
[compute]
kolla ansible_connection=local
[storage]
kolla ansible_connection=local
[monitoring]
kolla ansible_connection=local
全部改为之前修改的主机名
7.生成密码
kolla-genpwd
# 生成的文件在/etc/kolla/password.yml
vi /etc/kolla/password.yml
keystone_admin_password: 123 #OpenStack登录密码,原始密码哈希生成,记忆王者可以随意修改
8. 部署OpenStack环境
kolla-ansible -i ./all-in-one bootstrap-servers
kolla-ansible -i ./all-in-one prechecks
kolla-ansible -i ./all-in-one deploy
9. 使用openstack
OpenStack需要一个openrc文件,其中设置了管理员用户等的凭据。生成此文件运行
kolla-ansible post-deploy
. /etc/kolla/admin-openrc.sh
安装基本OpenStack CLI客户端:
pip install python-openstackclient python-glanceclient python-neutronclient
根据安装Kolla Ansible的方式,有一个脚本可以创建示例网络、图像等。
. /usr/share/kolla-ansible/init-runonce
部署完成
注意:由于新版本使用python3,因此在运行openstack命令会提示没有queue模块
Python2.x 是import Queue 注意Q是大写。 而到了Python3.x 变成了queue。
进入文件改成大写即可解决