openstack云计算平台<10>--kolla-ansible自动化部署

目录

  • 介绍
  • 一、环境
    • 配置epel源,安装docker
    • 配置加速器
    • 安装python编译依赖
    • 安装ansible
    • 安装kolla-ansible
  • 二、配置
    • 1.配置kolla-ansible和ansible
    • 2.导入镜像
    • 3.修改kolla-ansible配置文件
    • 4.禁用docker源:(本机已提前安装了docker)
    • 5.Kolla部署依赖项
  • 三、卸载kolla-ansible 8.0.1版本安装最新版kolla-ansible,重新部署
    • 1.安装最新版kolla-ansible
    • 2.更改Kolla-ansible和ansible all-in-one配置文件
    • 3.剩余部署

介绍

  • kolla-ansible项目将云主机的各个组件以容器的方式运行,先拉取相关镜像,然后使用docker启动容器,同时借助ansible自动化部署工具实现快速部署的目的
  • 注意:建议通篇看完再进行部署,后面有坑

一、环境

官方文档链接:https://docs.openstack.org/kolla-ansible/stein/user/quickstart.html.

  • redhat8.2系统虚拟机
  • 8G内存,并添加一块40G磁盘(在保证物理机内存的情况下可以尽量多分配)
  • cpu需要支持kvm虚拟化,选择host-passthrough模式创建
  • 禁用selinux和firewalld
  • 双网卡,并激活第二块网卡(不需要为其分配ip)
  • 安装docker和ansible
    openstack云计算平台<10>--kolla-ansible自动化部署_第1张图片
    openstack云计算平台<10>--kolla-ansible自动化部署_第2张图片
    openstack云计算平台<10>--kolla-ansible自动化部署_第3张图片
    openstack云计算平台<10>--kolla-ansible自动化部署_第4张图片
  • 创建名为cinder-volumes的卷组:(cinder使用lvm作为后端)
pvcreate /dev/vdb
vgcreate cinder-volumes /dev/vdb
vim /etc/lvm/lvm.conf		
devices {
...
filter = [ "a|vda|", "a|vdb|", "r|.*|" ]

openstack云计算平台<10>--kolla-ansible自动化部署_第5张图片

配置epel源,安装docker

openstack云计算平台<10>--kolla-ansible自动化部署_第6张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第7张图片
在这里插入图片描述

配置加速器

openstack云计算平台<10>--kolla-ansible自动化部署_第8张图片
在这里插入图片描述

安装python编译依赖

dnf install python-devel libffi-devel gcc openssl-devel libselinux-python
dnf install -y python3-pip

配置pip国内源并升级pip:
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/      %可使用清华pip源,更稳定
[install]
trusted-host = mirrors.aliyun.com

pip install -U pip       %升级pip

openstack云计算平台<10>--kolla-ansible自动化部署_第9张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第10张图片
在这里插入图片描述

安装ansible

openstack云计算平台<10>--kolla-ansible自动化部署_第11张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第12张图片

优化ansible的配置选项(为了让ansible执行的更快):
vim /etc/ansible/ansible.cfg         %添加下述内容
[defaults]                    
host_key_checking=False            %不检测key
pipelining=True                   %管道方式
forks=100                        %指定并发数

openstack云计算平台<10>--kolla-ansible自动化部署_第13张图片

安装kolla-ansible

pip install kolla-ansible==8.0.1 (stein版本对应8.0.1%不同的openstack版本需要不一样的kolla-ansible版本

报错: ERROR: Cannot uninstall 'PyYAML'. 
pip install --ignore-installed PyYAML		%强制更新

在这里插入图片描述
openstack云计算平台<10>--kolla-ansible自动化部署_第14张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第15张图片

二、配置

1.配置kolla-ansible和ansible

mkdir -p /etc/kolla

拷贝globals.yml 和 passwords.yml 文件:
cp /usr/share/kolla-ansible/etc_examples/kolla/*  /etc/kolla
global.yml文件:  包含了所要创建的云主机的全部信息
passwords.yml文件:  部署中使用的全部密码

openstack云计算平台<10>--kolla-ansible自动化部署_第16张图片

拷贝all-in-one inventory文件(ansible的配置文件):
cp /usr/share/kolla-ansible/ansible/inventory/all-in-one ~
 
ansible -i all-in-one all -m ping           %测试
localhost | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

openstack云计算平台<10>--kolla-ansible自动化部署_第17张图片

部署中使用的密码存储在/etc/kolla/passwords.yml文件中,此文件中的所有密码都为空,必须手动或通过运行随机密码生成器来填充:
kolla-genpwd
vim /etc/kolla/passwords.yml
...
keystone_admin_password: westos		     %修改admin用户密码,便于登录使用

openstack云计算平台<10>--kolla-ansible自动化部署_第18张图片

2.导入镜像

openstack云计算平台<10>--kolla-ansible自动化部署_第19张图片

3.修改kolla-ansible配置文件

vim /etc/kolla/globals.yml
...
kolla_base_distro: "centos"		   %选择容器镜像的linux发行版
kolla_install_type: "binary"		  %binary使用像apt或yum这样的软件仓库,source使用原始源代码归档,git存储库或本地源代码目录,source比binary更加可靠,
openstack_release: "stein"		   %指定部署的openstack发行版
kolla_internal_vip_address: "172.25.0.11"	  %all-in-one单点部署时不需要部署haproxy和keepalived服务,所以vip直接指定eth0接口的ip地址。
network_interface: "eth0"		  %openstack管理网络接口
neutron_external_interface: "eth1"	   %第二网络接口,neutron创建网络使用,不要分配IP地址。
enable_haproxy: "no"			  %单点部署不需要haproxy
enable_heat: "no"			  %不部署openstack heat组件
enable_cinder: "yes"			   %部署cinder组件
enable_cinder_backend_iscsi: "yes"   %使用iscsi协议分发
enable_cinder_backend_lvm: "yes"	  %cinder使用lvm后端存储

openstack云计算平台<10>--kolla-ansible自动化部署_第20张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第21张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第22张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第23张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第24张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第25张图片

4.禁用docker源:(本机已提前安装了docker)

vim /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml
...
enable_docker_repo: false	
redhat_pkg_install:
 - epel-release
- "{{ docker_yum_package }}"		      %注释掉此行

openstack云计算平台<10>--kolla-ansible自动化部署_第26张图片

5.Kolla部署依赖项

kolla-ansible -i all-in-one  bootstrap-servers
  • 发现在执行上述命令的时候发生以下报错,原因是python版本的问题,提示让安装python2,目前官方最新的kolla-ansible版本支持python3版本,我们安装的是8.0.1版本的,对应openstack s版
    在这里插入图片描述
  • 通过下载python2、做软链接等方式,仍然无法解决报错问题,考虑要卸载kolla-ansible,安装最新版的kolla-ansible来重新配置(做到这里是比较崩溃的)
  • 这样我们之前下载的镜像也将全部无效,意味着要重新联网拉取镜像,这是一个非常漫长的过程

三、卸载kolla-ansible 8.0.1版本安装最新版kolla-ansible,重新部署

1.安装最新版kolla-ansible

 pip uninstall kolla-ansible         %卸载

openstack云计算平台<10>--kolla-ansible自动化部署_第27张图片

  • 安装最新版kolla-ansible
    在这里插入图片描述
    openstack云计算平台<10>--kolla-ansible自动化部署_第28张图片

2.更改Kolla-ansible和ansible all-in-one配置文件

openstack云计算平台<10>--kolla-ansible自动化部署_第29张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第30张图片
在这里插入图片描述
openstack云计算平台<10>--kolla-ansible自动化部署_第31张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第32张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第33张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第34张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第35张图片

3.剩余部署

openstack云计算平台<10>--kolla-ansible自动化部署_第36张图片
openstack云计算平台<10>--kolla-ansible自动化部署_第37张图片

预部署检测:
kolla-ansible -i all-in-one prechecks 

在这里插入图片描述
openstack云计算平台<10>--kolla-ansible自动化部署_第38张图片

  • 编辑这个文件,注释相关选项
    在这里插入图片描述
    openstack云计算平台<10>--kolla-ansible自动化部署_第39张图片
    openstack云计算平台<10>--kolla-ansible自动化部署_第40张图片
  • 拉取镜像(联网拉取需要很长一段时间)
    kolla-ansible -i all-in-one pull
  • 执行openstack部署
    kolla-ansible -i all-in-one deploy

你可能感兴趣的:(Linux企业实战篇,openstack,linux,云计算)