亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenStack heat HA的示例分析

發布時間:2021-12-29 15:38:42 來源:億速云 閱讀:173 作者:小新 欄目:云計算

小編給大家分享一下 OpenStack heat HA的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

記得還在去年的時候,大家討論OpenStack總離不了這樣的一個問題:“OpenStack為什么不支持虛擬機的HA?

當時也很奇怪,對于HA這樣一個很基本的可靠性特性有缺失,又怎么在實際場景中使用OpenStack呢?

當時社區討論的結果是:“由OpenStack上層組件實現HA,OpenStack核心模塊僅提供基本的操作。

那么這個所謂的上層組件指的是誰呢?就是Heat。如今Heat已經是OpenStack的核心模塊,也就是說OpenStack已經具備的HA的能力。

超出期望

以前我們總是說虛擬機HA,似乎所有的功能都是圍繞著虛擬機設計,已虛擬機為核心。但是從Heat的文檔里來看,Heat認為虛擬機之上的服務(Service)才是最終要的,對于Heat HA的設計,也擴展到了服務的層面,可以實現三個層次的HA:

  • service

  • instance

  • stack

例如:當虛擬機上的數據庫進程down了,首先通過重啟數據庫進程嘗試解決,如果解決不了,重啟或者重建虛擬機,如果還是解決不了,重建整個stack。從這一點上來看Heat HA的功能要比單純的虛擬機HA的功能強大很多。

實現

Heat的HA特性是OpenStack多模塊配合實現的,其中涉及到Nova,Ceilometer,Heat-cfn-api,Heat-cloudwatch,Heat-cfntools等。

?Heat-cfntools

Heat-cfntools包括了一些和Heat配合使用的小工具,它們運行在虛擬機內部,在制作虛擬機鏡像的時候,需要將cfntools打包到鏡像當中,Heat的開發者文檔中,介紹了將cfntools打包進鏡像中的方法。這里

Heat的HA功能就是用到了cfn-push-stats對虛擬機或者服務的狀態進行上報。

  • cfn-init -> 配置虛擬機,簡化user_data腳本

  • cfn-hub -> 定期檢測instance metadata是否有變化,根據變化觸發用戶定義的hooks

  • cfn-signal -> 發送執行命令成功或失敗的信號

  • cfn-push-stats -> 上報服務或虛擬機狀態

  • cfn-get-metadata -> 獲取instance metadata

有興趣的同學可以直接git clone一份cfn-tools的代碼看看。

https://github.com/openstack/heat-cfntools.git

?Heat-template

我們從Heat的HA模板入手,來分析一下怎么通過配置模板實現Heat的HA。

以github上的Heat模板WordPress_Single_Instance_With_IHA.template為例。

..."WebServerRestartPolicy" : {
  "Type" : "OS::Heat::HARestarter",
  "Properties" : {"InstanceId" : { "Ref" : "WikiDatabase" }
  }},"HeartbeatFailureAlarm": {
 "Type": "AWS::CloudWatch::Alarm",
 "DependsOn" : "WaitCondition",
 "Properties": {"AlarmDescription": "Restart the WikiDatabase if we miss a heartbeat","MetricName": "Heartbeat","Namespace": "system/linux","Statistic": "SampleCount","Period": "60","EvaluationPeriods": "1","Threshold": "1","AlarmActions": [ { "Ref": "WebServerRestartPolicy" } ],"ComparisonOperator": "LessThanThreshold"
  }},"WikiDatabase": {
  "Type": "AWS::EC2::Instance",
  "Metadata" : {..."/tmp/cfn-hup-crontab.txt" : {"content" : { "Fn::Join" : ["", ["MAIL=\"\"\n","\n","* * * * * /opt/aws/bin/cfn-hup -f\n","* * * * * /opt/aws/bin/cfn-push-stats "," --watch ", { "Ref" : "HeartbeatFailureAlarm" }," --heartbeat\n"]]},"mode"    : "000600","owner"   : "root","group"   : "root"},

我們先來看/tmp/cfn-hup-crontab.txt,其實就是一個crontab的配置文件,在boot instance WikiDatabase 的時候,因為配置了UserData,所以UserData腳本執行的時候會調用cfn-init命令,cfn-init的作用就是根據AWS::CloudFormation::Init段的配置,生成文件,安裝軟件,執行腳本等等,在UserData腳本的最后cfn-hup的crontab被啟用。

cfn-push-stats會每分鐘向heat-api-cloudwatch發送一個watch為HeartbeatFailureAlarm類型的心跳請求。HeartbeatFailureAlarm其實是一個Ceilometer的Alarm。

根據HeartbeatFailureAlarm的配置,如果60秒沒有收到instance WikiDatabase的心跳請求,就會觸發AlarmActionsOS::Heat::HARestarter,根據Heat對于資源OS::Heat::HARestarter的定義,Heat會刪除原先的虛擬機WikiDatabase,然后重新創建一個虛擬機。

對于服務的監控大家可以參考另一個Heat模板WordPress_Single_Instance_With_HA.template

看完了這篇文章,相信你對“ OpenStack heat HA的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉林市| 布尔津县| 鄂州市| 新绛县| 涟水县| 农安县| 军事| 大理市| 民权县| 曲阳县| 资阳市| 余姚市| 华坪县| 柳河县| 普宁市| 贵定县| 手机| 壶关县| 淳安县| 公安县| 叙永县| 米易县| 陆丰市| 黄石市| 驻马店市| 云安县| 海安县| 和龙市| 讷河市| 黄骅市| 科技| 株洲县| 桐庐县| 壤塘县| 全州县| 山阴县| 邻水| 平泉县| 宜黄县| 家居| 九台市|