好文收藏

基于kolla-ansible部署openstack

2019-08-02  本文已影响0人  Dreams_13

一、系统环境

kolla-ansible单节点部署OpenStack过程,遵循all-in-one模式部署,其部署过程中可以有效的进行配置文件和日志文件的集中规划。

部署经过了虚拟机测试和物理机测试皆可用,本文就以物理机作为个例进行部署分解。

物理机配置清单:

物理机是联想T490 处理器i5-8265U 内存8GB

使用VM创建的CentOS7虚拟机,4GB内存,80GB磁盘

CentOS7版本为x86_64-Minimal-1810

1.关闭selinux

vi /etc/selinux/config

更改SELINUX选项为不可用

SELINUX=disabled

2.关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

3.更改hosts

192.168.43.132 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

三、配置docker容器 

1.开启共享挂载 

mkdir /etc/systemd/system/docker.service.d

tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'

[Service]

MountFlags=shared

EOF

2.设置docker下载源

修改daemon配置文件/etc/docker/daemon.json

{

"registry-mirrors": ["https://ahtqbhz9.mirror.aliyuncs.com"]

}

3.重启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 -b stable/stein

git clone https://github.com/openstack/kolla-ansible -b stable/stein

3.安装kolla-ansible

# 先预装版本不匹配的包

pip install -U idna

pip install -I PyYAML 

# 安装kolla-ansible

cd kolla-ansible

pip install -r requirements.txt -r test-requirements.txt -e .

4.配置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/* .

2.调整kolla-ansible全局配置

vi /etc/kolla/globals.yml

更改如下

kolla_install_type: "source" # 使用源码安装

openstack_release: "stein"  # 指定stein版本

kolla_internal_vip_address: "192.168.43.132" # all-in-one部署,指定vip为管理网络网卡

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

3、生成密码 

kolla-genpwd

vi /etc/kolla/password.yml

keystone_admin_password: hanson             #设定管理员的登陆密码

六、部署OpenStack环境

1.检查

kolla-ansible -i /root/all-in-one prechecks #注意一下你的all-in-one 文件目录

2.部署安装

kolla-ansible -i /root/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.运行脚本创建示例网络,图像等

. /usr/share/kolla-ansible/init-runonce

6.登录

在浏览器输入ens33的ip地址

输入用户名:admin

密码:hanson


小问题

Cannot uninstall'requests'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

解决方法:pip install-U--ignorerequests

nova任务时报错TASK [nova : Ensuring config directories exist]

解决方法:

mkdir/etc/kolla/nova

touch/etc/kolla/nova/nova.conf

systemctlstartdocker.service

Jobfordocker.service failed because the control process exited with error code. See"systemctl status docker.service"and"journalctl -xe"fordetails.

解决方法:修改 etc/docker/daemon.json 文件中错误配置信息

虚拟机安装的centOS配置成功后没有ip地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33

将ONBOOT的值改为yes

上一篇下一篇

猜你喜欢

热点阅读