使用kolla-ansible 单节点部署OpenStack(q
kolla-ansible单节点部署OpenStack过程,遵循all-in-one模式部署,其部署过程中可以有效的进行配置文件和日志文件的集中规划。
部署经过了虚拟机测试和物理机测试皆可用,本文就以物理机作为个例进行部署分解。
物理机配置清单:
CPU4个逻辑核 勾选“虚拟化 Intel VT-x/EPT”
网卡ens33接NAT网络,IP 192.168.134.131,用于下载组件、管理网络、API网络
网卡ens34桥接物理机网卡,IP 10.25.21.177,用于外部网络(即内网环境)
操作系统CentOS 7.5
下面进入系统环境配置
在装系统的过程中,目录分区的过程中默认/root/ 50GB,后期测试会严重不足,所以在系统安装的时候需要对/root目录的容量进行规划。
完成之后,进入centos对系统进行初始化设定:
1.关闭selinux
vi /etc/selinux/config
更改SELINUX选项为不可用
SELINUX=disabled
2.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 以为是测试环境,所以关掉了防火墙
3.更改hosts
192.168.134.131 localhost
# centos 默认主机名localhost如果更改,统一即可
二、安装docker容器
1.查询一下防火墙是否关闭
systemctl status firewalld
# 显示disable即为关闭,同时查看selinux=disable修改完毕
2.下载安装基本工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.安装docker
# 安装docker官方yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 下载安装docker
sudo yum install -y docker-ce
# 启用docker服务
sudo systemctl start docker
# 设置开机自启docker服务
sudo systemctl enable docker
4.测试docker是够正常运行
sudo docker run hello-world
从官方源下载hello-world镜像并启动容器,输出
![](https://img.haomeiwen.com/i15292457/a8190d0b2dd35543.png)
三、配置docker容器
1.开启共享挂载
mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF
重启docker服务,使生效
systemctl daemon-reload
systemctl restart docker
四、安装kolla-ansible
1.下载安装基本工具
yum install -y epel-release
yum install -y python-pip
pip install -U pip
yum install -y python-devel libffi-devel gcc openssl-devel libselinux-python git
yum install -y ansible
2.下载kolla、kolla-ansible
git clone https://github.com/openstack/kolla
git clone https://github.com/openstack/kolla-ansible
3.切换到queens版本
cd kolla
git checkout -b queens remotes/origin/stable/queens
cd ../kolla-ansible
git checkout -b queens remotes/origin/stable/queens
4.安装kolla-ansible
# 先预装版本不匹配的包
pip install -U idna
pip install -I PyYAML
# 安装kolla-ansible
cd kolla-ansible
pip install .
5.配置kolla-ansible
vi /etc/ansible/ansible.cfg
修改一下选项
[defaults]
host_key_checking=False
pipelining=True
forks=100
五、配置OpenStack环境
1、复制kolla-ansible配置文件
cp -r kolla-ansible/etc/kolla /etc/kolla/
cp kolla-ansible/ansible/inventory/* .
正常部署来说,kolla-ansible的方式部署OpenStack所包含的配置文件存储路径是在/etc/kolla/文件目录下。OpenStack的服务容器启动时,会将此目录映射到容器里。
2.调整kolla-ansible全局配置
vi /etc/kolla/globals.yml
更改如下
kolla_install_type: "source" # 使用源码版本,更稳定openstack_release: "queens"
# 指定queens版本kolla_internal_vip_address: "192.168.134.131" # all-in-one部署,指定vip为管理网络网卡
docker_registry: "kolla:4000" # ----仅使用docker离线源时配置
docker_namespace: "kolla" # ----仅使用docker离线源时配置
network_interface: "ens33" # 管理网络、API网络的网卡
neutron_external_interface: "ens34" # 外部网络的网卡
enable_haproxy: "no" # all-in-one部署,不部署HA服务
nova_compute_virt_type: "kvm" # ---- 在物理机上部署时无需设置(默认kvm) ,仅在虚拟机中部署kolla-ansible-openstack时设置qemu
注意:在版本上,流传很多对下载镜像进行加速的,基本上都是阿里云,有时候有效有时候无效,看个人喜好。
[root@localhost ~]# mkdir -p /etc/docker
[root@localhost ~]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://7g5a4z30.mirror.aliyuncs.com"] }
# 国内镜像加速依据个人喜好
3、生成密码
kolla-genpwd
# 生成的文件在/etc/kolla/password.yml
vi /etc/kolla/password.yml
keystone_admin_password: 123 #OpenStack登录密码,原始密码哈希生成,记忆王者可以随意修改
六、部署OpenStack环境
1.检查
kolla-ansible -i /home/all-in-one prechecks #注意一下你的all-in-one 文件目录
2.部署安装
kolla-ansible -i /home/all-in-one -vvv deploy #开启详情检查方式,方便与部署过程中的排查
3.生成运行脚本
kolla-ansible post-deploy
运行脚本
source /etc/kolla/admin-openrc.sh
4.安装OpenStack命令行工具
# 先安装版本不匹配的组件
pip install -I ipaddress
# 安装命令行工具
pip install python-openstackclient python-glanceclient python-neutronclient
5.初始化OpenStack环境
vi /usr/share/kolla-ansible/init-runonce # 对于OpenStack的网络资源规划要进行修改
修改如下:
# This EXT_NET_CIDR is your public network,that you want to connect to the internet via.
EXT_NET_CIDR='192.168.1.0/24'
EXT_NET_RANGE='start=192.168.134.150,end=192.16.134.199'
EXT_NET_GATEWAY='192.168.1.1'
最终部署OK,界面生成
![](https://img.haomeiwen.com/i15292457/b8f07c3149907406.png)