基於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