zoukankan      html  css  js  c++  java
  • kolla-ansible-----快速部署openstack

    基本环境

    操作系统:CentOS Linux release 7.5.1804 (Core)

    内核版本:3.10.0-862.el7.x86_64

    docker版本:1.13.1

    1、禁用宿主机的 Libvirt 服务

    大多数操作系统会默认启动 Libvirt,但使用 Kolla 来部署 OpenStack 的话,Libvirt 应该在容器中运行并管理虚拟机。
    所以宿主机的 Libvirt 需要被关闭,以免造成冲突。

    systemctl stop libvirtd.service
    systemctl disable libvirtd.service
    

    部署kolla

    1、安装依赖

    yum install epel-release python-pip
    yum install -y python-devel libffi-devel openssl-devel gcc
    pip install -U pip
    

    2、配置国内pip源

    不然这个速度很慢

    mkdir ~/.pip
    
    cat << EOF > ~/.pip/pip.conf
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
    [install]
    trusted-host=pypi.tuna.tsinghua.edu.cn
    EOF
    

    3、安装stable版kolla

    下载源码
    git clone https://git.openstack.org/openstack/kolla -b stable/rocky
    
    安装依赖
    pip install -r kolla/requirements.txt -r kolla/test-requirements.txt
    
    源码安装
    pip install kolla/
    

    4、安装tox,生成配置文件

    pip install -U tox
    cd kolla/
    tox -e genconfig
    cp -rv etc/kolla /etc/
    

    编辑 kolla-build.conf:控制 Kolla Image Build 的细则。

    vim /etc/kolla/kolla-build.conf
    [DEFAULT]
    base = centos 
    install_type = source 
    namespace = kolla 
    push = false 
    # The Docker Images tag (string value) 
    tag = 6.0.0
    

     5、docker安装

    yum install docker -y
    
    配置docker mountflags
    在[Service]中添加MountFlags=shared
    # vim /usr/lib/systemd/system/docker.service
    [Service]
    MountFlags=shared
    
    systemctl daemon-reload
    systemctl restart docker
    

    MountFlags=shared为neutron的要求,必须配置为share,否则后面部署的时候neutron可能会有问题。

    编译镜像

    简单的来理解 Kolla 组件的话,它就是一个自动化构建部署 OpenStack 服务所需要的镜像的工具。其内含组织了大量的 Dockerfile,供构建镜像时使用。

    kolla-build
    

    也可以添加参数项 -p default 对应 kolla-build.conf 的 [profiles] Sections,default 类型表示仅构建核心项目的镜像。

    如果个别镜像编译失败可以重新执行以上操作,因为docker的容器缓存,重新编译会很快。

    NOTE:但有些情况下,可能会把错误的配置参数 Cache 住,此时建议执行 Cleanup 操作之后再重跑:

    # 从系统中移除部署的容器
    tools/cleanup-containers 
    # 移除由于残余网络变化引发 docker 启动的 neutron-agents 主机 
    tools/cleanup-host 
    # 从 Cache 中移除所有的 docker image 
    tools/cleanup-images
    

    也可以查看一下可编译的镜像

    kolla-build --list-images
    

    安装kolla-ansible

    1、安装ansible

    ansible的版本要大于2.0

    pip install ansible
    

    2、安装kolla-ansible

    git clone https://github.com/openstack/kolla-ansible -b stable/rocky
    cd kolla-ansible
    pip install -r requirements.txt -r test-requirements.txt -e .
    

    配置一下

    cp etc/kolla/globals.yml /etc/kolla/	
    cp etc/kolla/passwords.yml /etc/kolla/
    kolla-genpwd
    cp ansible/inventory/* /root/
    

    3、修改文件

    编辑 globals.yml文件

    kolla_install_type: "source"
    openstack_release:需要与镜像的 Tag 一致,否则部署时找不到镜像。
    network_interface:指定管理网接口
    neutron_external_interface:指定外部网接口
    kolla_internal_vip_address:指定 HAProxy 虚拟 IP,单点部署可以弃用 HAProxy enable_haproxy: "no"。
    enable_horizon: "yes"
    

    4、修改 Hypervisor Type

    因为操作环境是 VMware 的虚拟机,所以存在嵌套虚拟化不支持 KVM 的问题,如果你希望启动 OpenStack 实例,那就需要启用 QEMU(Default KVM)。

    mkdir -p /etc/kolla/config/nova
    cat << EOF > /etc/kolla/config/nova/nova-compute.conf
    [libvirt]
    virt_type=qemu
    cpu_mode = none
    EOF
    

    检查配置

    kolla-ansible prechecks

    开始部署

    kolla-ansible deploy

    报错

    在用Dockerfile制作镜像的时候总是出现如下错误

    HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
    

    原因分析:

    在下载python库的时候,由于国内网络原因,python包的下载速度非常慢,查看pip 文档,只要在 pip的时候控制超时即可, 具体参数为 --default-timeout=100, 后面的时间可以自己指定。

    可以在kolla-build中指定一下:

    [root@centos kolla]# pwd
    /root/kolla
    [root@centos kolla]# more tox.ini | grep pip
    install_command = pip --default-timeout=1000 install {opts} {packages}
    
  • 相关阅读:
    hdu1069
    hdu1068
    假脱机
    什么是数据的备份与恢复
    DNS(Domain Name System) 域名系统
    Deepnet
    deepweb
    异地备份
    冷备份和热备份
    备份
  • 原文地址:https://www.cnblogs.com/jinyuanliu/p/11056775.html
Copyright © 2011-2022 走看看