讀古今文學網 > OpenStack系統架構設計實戰 > 6.3 Heat API >

6.3 Heat API

Heat API包括Heat-api和Heat-api-cfn。

1.Heat-api

Heat-api為Heat-engine提供OpenStack風格的Rest查詢接口,通過消息隊列與Heat-engine交互,包含版本查詢、棧管理、棧動作、棧資源、棧事件、模板和軟件配置等接口。通過這些接口,能夠實現對基於模板的自動化部署流程(在OpenStack裡稱為棧)的全生命週期的管理。

2.Heat-api-cfn

為Heat-engine提供AWS風格的Rest查詢接口,此外還提供了WaitCondition和Signal資源的操作支持。

(1)WaitCondition

主要用於處理模板中的WaitCondition資源,該資源創建後會等待從虛擬機中發來信號,以便條件滿足後繼續進行棧的創建。虛擬機發信號其實就是調用Heat-api-cfn對外提供的接口。例如,要建立一個網絡服務器,這個網絡服務器需要在數據服務器執行完user-data之後才開始創建,這時就可以使用WaitCondition通信機制定義相互關係,並交由Heat-api-cfn來協調執行。

(2)Signal

這一操作供外部觸發對應資源的Signal方法(如果資源實現了Signal方法),典型的場景就是彈性伸縮組的觸發操作,通過Ceilometer告警事件觸發伸縮組資源的Signal方法的調用,從而實現了對虛擬機資源的伸縮自動生成和刪除操作。

3.統一授權管理

Heat API的調用授權管理遵循OpenStack中的標準,採用Keystone進行統一管理。