CentOS中使用kolla-ansible快速部署OpenStack All-In-One

准备


  • 系统:CentOS 7
  • 两块网卡:
    • eth0:172.16.140.15 管理网
    • eth1:192.168.1.16 业务网/存储网
  • CPU:8C
  • 内存:16G
  • 系统盘:50G
  • Ceph OSD盘:100G

安装


NOTE:整个安装过程,并没有使用python虚拟环境。

安装依赖

  1. 安装python构建依赖

    >> sudo yum install python-devel libffi-devel gcc openssl-devel libselinux-python -y
    
  2. 安装pip

    >> sudo easy_install pip
    >> pip install -U pip
    
  3. 安装ansible【>=2.8】

    >> sudo yum install epel-release -y
    >> sudo yum install ansible -y
    

安装kolla-ansible

  1. 使用pip安装kolla-ansible

    >> sudo pip install kolla-ansible
    

    如果出现以下情况
    CentOS中使用kolla-ansible快速部署OpenStack All-In-One_第1张图片
    则需要使用命令sudo pip install kolla-ansible -I

  2. 创建/etc/kolla目录

    >> sudo mkdir -p /etc/kolla
    >> sudo chown $USER:$USER /etc/kolla
    
  3. 拷贝globals.yml和passwords.yml到/etc/kolla目录下

    >> cp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
    
  4. 拷贝all-in-one和multinode文件到当前目录下

    >> cp /usr/share/kolla-ansible/ansible/inventory/* .
    

配置ansible

修改配置文件 /etc/ansible/ansible.cfg,在 defaults段中增加如下内容

[defaults]
host_key_checking=False
pipelining=True
forks=100

准备初始化配置

由于安装的All-In-One模式,所以直接使用文件all-in-one即可。

  1. 检查使用文件all-in-one时,执行ansible的连通性

    >> ansible -i all-in-one all -m ping
    
  2. 生成密码

    >> kolla-genpwd
    
  3. 修改/etc/kolla/globals.yml配置文件,修改内容如下

    kolla_base_distro: "centos"
    kolla_install_type: "binary"
    openstack_release: "train"
    network_interface: "eth0"
    neutron_external_interface: "eth1"
    kolla_internal_vip_address: "172.16.140.15"
    enable_haproxy: "no"
    enable_cinder: "yes"
    enable_ceph: "yes"
    
  4. 由于使用ceph作为后端存储,所以在准备阶段,需要额外准备一块磁盘作为OSD,以下命令是为了在执行ansible脚本时,能识别此分区作为OSD

    >> DISK=/dev/vdb
    >> parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS 1 -1
    

    因为只有一台服务器作为All-In-One部署,所以对于ceph的配置需要先做预处理,将pool的size置为1。新建目录/etc/kolla/config,然后在目录下创建配置文件ceph.conf,内容如下

    [global]
    osd pool default size = 1
    osd pool default min size = 1
    

开始部署

  1. 完成带有kolla部署依赖的引导服务准备
>> kolla-ansible -i ./all-in-one bootstrap-servers
  1. 部署前的预检测
>> kolla-ansible -i ./all-in-one prechecks
  1. 开始部署
>> kolla-ansible -i ./all-in-one deploy

验证


  1. 安装OpenStack CLI客户端

    >> pip install python-openstackclient
    
  2. 生成admin-openrc.sh文件

    >> kolla-ansible post-deploy
    

    启用环境变量

    >> . /etc/kolla/admin-openrc.sh
    
  3. 获取cirros镜像

    >> wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    

    如果没有wget工具,使用一下命令安装

    >> sudo yum install wget -y
    
  4. 上传cirros镜像

    >> openstack image create cirros-0.4.0-x86_64-disk.img --container-format bare --disk-format qcow2 --file cirros-0.4.0-x86_64-disk.img
    

    查看上传的镜像

    >> openstack image list
    

    CentOS中使用kolla-ansible快速部署OpenStack All-In-One_第2张图片

  5. 创建private网络

    >> openstack network create private
    >> openstack subnet create net --subnet-range 10.0.0.0/24 --gateway 10.0.0.1 --network 2c428b82-023e-4788-b37a-077e0effd2cc
    
  6. 创建flavor

    >> openstack flavor create 1C1G10G --id 1 --ram 1024 --disk 10 --vcpus 1
    
  7. 创建虚拟机
    准备工作完成
    CentOS中使用kolla-ansible快速部署OpenStack All-In-One_第3张图片

    >> openstack server create vm01 --image 46c1d789-f213-4fbd-bc8c-540a4194fab0 --flavor 1 --network 2c428b82-023e-4788-b37a-077e0effd2cc
    

    servers列表
    CentOS中使用kolla-ansible快速部署OpenStack All-In-One_第4张图片

你可能感兴趣的:(openstack)