openstack學習-理解heat編排管理和簡單操作

HEAT服務(wù)

編排服務(wù)通過運行調(diào)用生成運行中云應(yīng)用程序的OpenStack API為描述云應(yīng)用程序提供基于模板的編排。該軟件將其他OpenStack核心組件整合進一個單文件模板系統(tǒng)。模板允許你創(chuàng)建很多種類的OpenStack資源,如實例,浮點IP,云硬盤,安全組和用戶。它也提供高級功能,如實例高可用,實例自動縮放,和嵌套棧。這使得OpenStack的核心項目有著龐大的用戶群。

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括網(wǎng)站制作、成都網(wǎng)站設(shè)計、電商網(wǎng)站制作開發(fā)、成都小程序開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!

服務(wù)使部署人員能夠直接或者通過定制化插件來與編排服務(wù)集成,簡單來說就是用戶可以預定義一個格式的任務(wù)模板,其中定義了一系列的相關(guān)任務(wù),交給heat就會按一定的順序執(zhí)行heat模板中定義的任務(wù)。

架構(gòu)

openstack學習-理解heat編排管理和簡單操作

用戶在horizon中或者命令行中提交包含模板和參數(shù)輸入的請求,轉(zhuǎn)化為REST格式的api調(diào)用,Heat-api和heat-api-cfn會驗證模板的正確性,然后通過消息列隊傳遞給heat engine來處理。
heat中的模板是openstack資源的集合,通過定義模板,可以將需要創(chuàng)建的資源在模板中描述,用此模板可以多次創(chuàng)建需要的資源

組件

Heat-api:提供REST API服務(wù),是與其他組件交換的入口,接收api請求傳給heat-engine
Heat-api-cfn:提供兼容AWS CloudFormation的api,接收請求轉(zhuǎn)發(fā)給heat-engine
Heat-engine:核心組件,主要實現(xiàn)資源調(diào)度,資源生命周期管理等作用,自身并不提供資源創(chuàng)建功能,只負責編排資源后交給其他組件去處理

Heat Engine架構(gòu)

openstack學習-理解heat編排管理和簡單操作

模板

heat模板默認編寫語言是YAML,關(guān)于yaml語言的定義和使用https://yaml.org/start.html

openstack學習-理解heat編排管理和簡單操作

openstack學習-理解heat編排管理和簡單操作
resource ID:資源ID,在模板的resources部分中必須是唯一的
type:資源類型:例如OS::Nova::Server或OS::Neutron::Port,必選屬性
properties:特定資源的屬性列表,可選屬性
metadata:特定資源的元數(shù)據(jù),可選
depends_on:資源依賴模板中的一個或者多個資源上,可選屬性
update_policy:刪除資源的策略,可選
deletion_policy:刪除資源的策略。允許的刪除策略是delete,retain和snapshot,可選,默認策略是從stack中刪除資源時刪除物理資源
external_id:允許為現(xiàn)有外部(到堆棧)資源指定resource_id,可選屬性
condition:資源的條件,決定是否創(chuàng)建資源

Heat Stack

stack:資源的集合,管理一組資源的基本單位,用戶操作的最小單位,通過對stack的生命周期管理,進而完成應(yīng)用的部署和對資源的管理

常用命令
stack list
stack create
stack show
stack delete
stack output list
stack resource list
stack event show

編排場景

openstack學習-理解heat編排管理和簡單操作
基礎(chǔ)架構(gòu)資源編排:對計算、存儲和網(wǎng)絡(luò)等基礎(chǔ)資源進行編排,支持用戶自定義腳本配置虛擬機
應(yīng)用資源編排:實現(xiàn)對虛擬機的復雜配置,例如軟件安裝,配置軟件
高級編排:例如應(yīng)用的負載均衡和自動伸縮
第三方工具集成編排:復用現(xiàn)有的Ansible Playbook配置

基礎(chǔ)架構(gòu)編排

對于不同的openstack資源,heat提供了不同的資源類型。
例如虛擬機,heat提供了OS::Nova::Server,并提供參數(shù),(key,image,flavor),參數(shù)可以在模板中指定,也可以在創(chuàng)建stack時提供
openstack學習-理解heat編排管理和簡單操作

軟件配置和部署的編排

常用的是OS::Heat::SoftwareConfig和OS::Heat::SoftwareDeployment
openstack學習-理解heat編排管理和簡單操作

openstack學習-理解heat編排管理和簡單操作

自動伸縮的編排

openstack學習-理解heat編排管理和簡單操作

負載均衡的編排

openstack學習-理解heat編排管理和簡單操作

openstack學習-理解heat編排管理和簡單操作

配置管理工具集成

openstack學習-理解heat編排管理和簡單操作

編排管理

openstack學習-理解heat編排管理和簡單操作

編寫HOT模板創(chuàng)建簡單虛擬機實例

HOT模板可以通過在Openstack中創(chuàng)建yaml文件進行編寫,也可以從外部導入已經(jīng)完成的HOT模板
登陸controller節(jié)點,導入管理員環(huán)境變量

. admin-openrc.sh

安裝python-heatclient

sudo apt install python-heatclient

然后輸入以下命令,查看當前可用的鏡像,規(guī)格,密鑰對等信息

openstack image list
openstack flavor list
openstack keypair list

openstack學習-理解heat編排管理和簡單操作

openstack學習-理解heat編排管理和簡單操作

創(chuàng)建一個demo-template.yaml文件,作為HOT模板

touch demo-template.yaml
vi demo-tempalte.yaml

按照如下編寫,注意每個":"后都要有空格,即時沒有字符也要有空格
可以用notpad++將文件寫完后,上傳,避免寫錯

heat_template_version: 2015-10-15
parameters: 
 NetID: 
  type: string
  description: Network ID to use for the instance.

resources: 
 server: 
  type: OS::Nova::Server
  properties: 
   image: Img_cli
   flavor: Flavor_cli
   key_name: KeyPairCli
   networks: 
   - network: { get_param: NetID }

outputs: 
 instance_name: 
  description: Name of the instance.
  value: { get_attr: [server,name] }
 instance_ip: 
  description: IP address of the instance.
  value: { get_attr: [server,first_address] }

openstack學習-理解heat編排管理和簡單操作

其中resources.server中的image,flavor,key_name為環(huán)境中可用的鏡像、規(guī)格和密鑰對
查看當前網(wǎng)絡(luò)

openstack network list

openstack學習-理解heat編排管理和簡單操作
記錄provider的id
執(zhí)行以下命令設(shè)置環(huán)境變量的NET_ID

export NET_ID=<NETWORK_ID>

openstack學習-理解heat編排管理和簡單操作

使用HOT模板 demo-template.yaml,創(chuàng)建堆棧Stack_demo

 openstack stack create -t demo-template.yaml --parameter "NetID=$NET_ID" Stack_demo

openstack學習-理解heat編排管理和簡單操作
等待幾分鐘后,查看堆棧的創(chuàng)建過程

openstack stack event list Stack_demo

openstack學習-理解heat編排管理和簡單操作
查看堆棧列表,狀態(tài)變?yōu)镃REATE_COMPLETE表示創(chuàng)建成功

openstack stack list

openstack學習-理解heat編排管理和簡單操作
查看堆棧的詳細信息

openstack stack show Stack_demo

openstack學習-理解heat編排管理和簡單操作

查看堆棧創(chuàng)建完成后輸出的虛擬機實例名稱和IP

openstack stack output show --all Stack_demo

openstack學習-理解heat編排管理和簡單操作

查看虛擬機實例列表進行確認

openstack server list

openstack學習-理解heat編排管理和簡單操作

本文標題:openstack學習-理解heat編排管理和簡單操作
轉(zhuǎn)載源于:http://bm7419.com/article10/jdghgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、靜態(tài)網(wǎng)站網(wǎng)站導航、移動網(wǎng)站建設(shè)、網(wǎng)站策劃、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)