07.計算Nova→2.nova組件詳解→1.nova-api與nova-conductor

nova-apihtml

  1. 大部份內容和cinder-api相同 參考見08.存儲Cinder→4.Cinder組件詳解→1.cinder-api
  2. OpenStack 用術語 「Instance」 來表示虛擬機,後面咱們將統一使用這個術語。
    1. 只要是跟虛擬機生命週期相關的操做,nova-api 均可以響應。 大部分操做均可以在 Dashboard 上找到。打開Instance管理界面,點擊下拉箭頭,列表中就是 nova-api 可執行的操做
      1.     
nova-conductor
  1. nova-compute 須要獲取和更新數據庫中 instance 的信息。但 nova-compute 並不會直接訪問數據庫,而是經過 nova-conductor 實現數據的訪問。
  2. 這樣作有兩個顯著好處
    1. 更高的系統安全性
      1. 在 OpenStack 的早期版本中,nova-compute 能夠直接訪問數據庫,但這樣存在很是大的安全隱患。 由於 nova-compute 這個服務是部署在計算節點上的,爲了可以訪問控制節點上的數據庫,就必須在計算節點的 /etc/nova/nova.conf 中配置訪問數據庫的鏈接信息,好比
        1
        2
        [database]
        connection = mysql+pymysql://root:secret@controller/nova?charset=utf8
        secret表示密碼,controller是控制節點的主機名。rooth和controller能夠對比。如今配置nova時僅在控制節點的nova.conf中配置,不在計算節點的nova.conf中配置。
      2. 任意一個計算節點被黑客入侵,都會致使部署在控制節點上的數據庫面臨極大風險。爲了解決這個問題,從 G 版本開始,Nova 引入了一個新服務 nova-conductor,將 nova-compute 訪問數據庫的所有操做都放到 nova-conductor 中,並且 nova-conductor 是部署在控制節點上的。 這樣就避免了 nova-compute 直接訪問數據庫,增長了系統的安全性。
    2. 更好的系統伸縮性
      1. nova-conductor 將 nova-compute 與數據庫解耦以後還帶來另外一個好處:提升了 nova 的伸縮性。
      2. nova-compute 與 conductor 是經過消息中間件交互的。這種鬆散的架構容許配置多個 nova-conductor 實例。 在一個大規模的 OpenStack 部署環境裏,管理員能夠經過增長 nova-conductor 的數量來應對日益增加的計算節點對數據庫的訪問。
相關文章
相關標籤/搜索