基于openstack-ansible 的openstack自动化部署


前言

openstack 的架构应当按照用户需求进行定制化,所以我按照openstack-ansible 的官方网站的架构。

集群部署中最为关键的是集群的网络架构,按照功能可以分为计算网络,存储网络以及管理网络。按照网络协议可以分为RDMA 网络 即 infiband ,ROCE 等,以太网网络及FC 光纤网络等。应当按照用户需求进行取舍。

部署之前

参考官方链接:https://docs.openstack.org/openstack-ansible/latest/

打算部署的是 https://docs.openstack.org/openstack-ansible/victoria/ victoria 版本

在部署之前 应该规划以下问题

  1. 关于网络

    • 集群虚拟机用户通过ssh 及私钥访问虚拟机
    • 事前准备好集群虚拟机对外访问的网段
    • 集群管理员需用访问horizon服务,那么对外网络应当如何提供
  2. 关于存储
    对于ceph存储 应当提前部署好,并建立对应的存储池,如下图所示
    image

    ​ 使用lvm 卷 lvm 没有副本、冗余机制,所在的节点可能还是个计算节点或管理节点,在维护时会很麻烦。

装机阶段

服务器上机柜,电源打开,做好raid ,并安装好操作系统。
对于usssuri版本的openstack 建议安装ubuntu18.04 hwe

准备阶段

从部署节点的root 账号免密登录到 集群其他节点 的root账户

具体步骤如下:

  1. 给每个节点的root账户设置密码
  2. 修改每个节点ssh配置:可通过密码登录,可通过root账户登录
  3. 在部署节点上生成密钥对,ssh-copy-id 到集群节点
  4. 查看后端存储系统 ceph的状态,准备好存储池及密钥对

开始部署

参考 https://docs.openstack.org/openstack-ansible/latest/

  1. 准备部署节点

    下载 openstack_ansible 注意选择版本

    git clone -b master https://github.com/openstack/openstack-ansible.git /opt/openstack-ansible
    

Change to the /opt/openstack-ansible directory, and run the Ansible bootstrap script:

# scripts/bootstrap-ansible.sh
  1. 准备 目标节点

    1. 安装系统

      推荐:ubuntu 18.04

    2. 配置免密登录

      1. 部署节点 的root 用户可以ssh 直接访问到集群的其他节点root用户
    3. 配置存储

      ​ 检查后端存储 是否可用

    4. 配置网络

      服务器上的网桥解读:(为什么要配这么多网桥,我想主要作用应该解决不同服务器上网卡名称不同的问题把。)

      br-mgmt :管理网络,所有节点的openstack组件RESTful API 都通过这个网桥进行通信,因此这个网络必不可少

      br-vxlan : vxlan网络,br-vxlan 接口上需要配置ip地址,vxlan网络才能使用,同时需要打开l2population 或者打开交换机的vxlan 多播模式

      br-vlan: vlan 网络 ,假如br-vlan所在交换机 有个vlan29 可以提供用户使用。因此可以在horizon界面上创建vlan29 及虚拟机,这个虚拟机所在物理机上就会出现br-vlan.29。

      br-storage: 存储网络,集群里的存储服务器和其他机器通信用的就是这个网络,具体来讲cinder-volume 服务器和 ceph的 mon节点 通过这个网络连接到了一起

      lxcbr0: lxc 连接这个接口 安装完成后管理节点上所有的lxc容器里的eth0 都会连接 eth0

  2. 开始部署

    一共是 两个配置文件 + 3行命令

    两个yaml文件:

    /etc/openstack_deploy/openstack_user_config.yml

    /etc/openstack_deploy/user_variables.yml

    三个命令:

    openstack-ansible setup-hosts.yml

    openstack-ansible setup-infrastructure.yml

    openstack-ansible setup-openstack.yml


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM