美文网首页好文收藏
基于kolla-ansible部署openstack

基于kolla-ansible部署openstack

作者: Dreams_13 | 来源:发表于2019-08-02 17:30 被阅读0次

    一、系统环境

    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

    相关文章

      网友评论

        本文标题:基于kolla-ansible部署openstack

        本文链接:https://www.haomeiwen.com/subject/qdczbqtx.html