OpenStack Heat 使用筆記
Heat 是 OpenStack 中,負責提供 Orchestration 服務的 component。
Heat 用 resource 來描述 OpenStack 的狀態。例如你設定一個 network resource,在這個 resource 中,設定名稱為 default
。接下來 Heat 將會在你的 project 中,檢查是否有一個名稱為 default
的 network;如果沒有,則 Heat 將會在 project 建立 network。除了 network 之外,image、volume、port、instance 等都可以是 Heat 的 resource。
Resource 之間可以建立關連性,例如你可以先建立一個 volume resource。接下來再設定一個 instance resource ,並且在 instance resource 的 block_device_mapping
的屬性中,設定與 volume resource 建立關連性。這樣 Heat 就會先檢查 volume 是否存在,然後檢查 instance 是否存在並且 volume 是否已掛載到 instance 中。
這個想法與許多 deployment 軟體相同,例如 Puppet 是讓使用者設定 resource,然後 Puppet 根據 resource 的描述去配置 Linux;而 Saltstack 則是根據 user 設定的 state 來配置 Linux。