乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      銀行數(shù)據(jù)中心自動(dòng)化運(yùn)維平臺(tái)設(shè)計(jì) | 周末送資料

       yi321yi 2020-05-05

      【作者】陳曉,某銀行自動(dòng)化運(yùn)維項(xiàng)目架構(gòu)師、項(xiàng)目經(jīng)理,主要負(fù)責(zé)自動(dòng)化運(yùn)維管理平臺(tái)、監(jiān)控平臺(tái)以及流程平臺(tái)的建設(shè)和維護(hù)。

      1.自動(dòng)化運(yùn)維建設(shè)背景

      隨著IT技術(shù)的快速發(fā)展,IT系統(tǒng)的運(yùn)維復(fù)雜度不斷增加,IT部門的體量不斷擴(kuò)大,傳統(tǒng)的人工操作和借助管理流程的方式已不能滿足日益增長(zhǎng)的運(yùn)維工作量。而智能時(shí)代的到來,無論是DevOps的思想還是AIOps思想,自動(dòng)化就像人的“手”一樣,決定著最終這些技術(shù)思想的是否能夠落地,決定著未來一個(gè)IT運(yùn)維的生產(chǎn)力。

      而從銀行IT架構(gòu)、運(yùn)維的特殊性考慮,也需要結(jié)合銀行自身的特點(diǎn),對(duì)于雙模的架構(gòu)、雙模的運(yùn)維方式也要兼?zhèn)湓诜€(wěn)態(tài)和敏態(tài)下的自動(dòng)化運(yùn)維方案。

      自動(dòng)化運(yùn)維可以帶來的益處:

      1. 降低成本 - 沒有一家公司是不想降低成本的,而自動(dòng)化運(yùn)維可以通過提高效率、減少人為錯(cuò)誤和人力需求,降低企業(yè)IT成本。

      2. 提高生產(chǎn)力 - 自動(dòng)化運(yùn)維幾乎不需要手動(dòng)工作,這也就意味著它不僅可以提高產(chǎn)出,還可以將運(yùn)維人員從復(fù)雜的傳統(tǒng)運(yùn)維工作中釋放出來,將其知識(shí)和技能應(yīng)用于更有價(jià)值的工作和任務(wù)上。此外,通過減少周轉(zhuǎn)時(shí)間,每天可處理工作量也提高了。

      3. 高可用 - 系統(tǒng)宕機(jī)可能會(huì)使企業(yè)損失慘重,無論是金錢上,還是聲譽(yù)上。運(yùn)維優(yōu)先要保障的便是高可用,這也是自動(dòng)化運(yùn)維的一大目標(biāo)。例如通過自動(dòng)化保存和恢復(fù)機(jī)制,全天候系統(tǒng)監(jiān)控和遠(yuǎn)程通信,以大幅降低網(wǎng)絡(luò)停機(jī)時(shí)間;或是快速恢復(fù),減少故障帶來的損失。

      4. 更可靠 - 運(yùn)維常常包括一些重復(fù)的但完全必要的工作,這也就是為什么它容易出錯(cuò)。當(dāng)人為因素從這個(gè)過程中消除時(shí),那些昂貴的人為錯(cuò)誤也自然消失了,這對(duì)于具有多個(gè)操作系統(tǒng)的大型網(wǎng)絡(luò)尤其有用。自動(dòng)化運(yùn)維可以明顯提高可靠性,減輕運(yùn)維人員繁瑣的手動(dòng)任務(wù)。

      5. 性能優(yōu)化 - 運(yùn)維專家面臨的另一個(gè)問題是,讓執(zhí)行任務(wù)和工作流程變得更快、更高效、具備更高工作負(fù)載。傳統(tǒng)運(yùn)維方式想要滿足這些需求是很困難的,而自動(dòng)化運(yùn)維工具則可以填補(bǔ)此類需求,在無需雇傭更多員工的情況下,最大限度的提高性能。

      基于以上業(yè)務(wù)發(fā)展的需要以及自動(dòng)化運(yùn)維的收益,結(jié)合自身IT發(fā)展的形勢(shì),某銀行在自動(dòng)化運(yùn)維方面進(jìn)行了探索和實(shí)踐。


      2.自動(dòng)化運(yùn)維平臺(tái)設(shè)計(jì)

      2.1需求分析

      1. 建立自動(dòng)化運(yùn)維管理作業(yè)平臺(tái),集成自動(dòng)化部署、批量變更、資源管理、資產(chǎn)信息自動(dòng)發(fā)現(xiàn)等功能。

      2. 實(shí)現(xiàn)物理機(jī)一站式批量部署,包括服務(wù)器部署以及操作系統(tǒng)HPUX、Linux以及Windows操作系統(tǒng)的部署。

      3. 實(shí)現(xiàn)基于虛擬化平臺(tái)OpenStack和VMWare的基礎(chǔ)環(huán)境的自動(dòng)化部署。

      4. 實(shí)現(xiàn)Windows安全補(bǔ)丁的批量安裝和管理。

      5. 實(shí)現(xiàn)基于操作系統(tǒng)的批量變更的功能,包括Windows安全補(bǔ)丁安裝、批量推送配置、批量安裝軟件等。

      6. 實(shí)現(xiàn)基于操作系統(tǒng)層面資產(chǎn)信息的自動(dòng)發(fā)現(xiàn)。

      7. 實(shí)現(xiàn)基于操作系統(tǒng)的自動(dòng)化巡檢功能。

      8. 與流程平臺(tái)、配置平臺(tái)的對(duì)接,實(shí)現(xiàn)流程數(shù)據(jù)和資源數(shù)據(jù)的整合實(shí)現(xiàn)資源管理功能。

      9. 與流程平臺(tái)對(duì)接,實(shí)現(xiàn)工單驅(qū)動(dòng)自動(dòng)化部署和變更的半自助服務(wù)。

      2.2系統(tǒng)架構(gòu)

      1.總體設(shè)計(jì)思路

      系統(tǒng)運(yùn)維自動(dòng)化的應(yīng)用架構(gòu)及關(guān)鍵業(yè)務(wù)流程的總體規(guī)劃及設(shè)計(jì)如下:

      建設(shè)自動(dòng)化作業(yè)管理平臺(tái)是本項(xiàng)目的主要工作目標(biāo),底層對(duì)接資源層,使用各類技術(shù)工具以實(shí)現(xiàn)自動(dòng)化操作,橫向?qū)优渲霉芾砥脚_(tái)、流程平臺(tái)、監(jiān)控平臺(tái)和數(shù)據(jù)管理平臺(tái),貫穿整體統(tǒng)一運(yùn)維管理框架,以實(shí)現(xiàn)自動(dòng)化部署、批量變更、配置發(fā)現(xiàn)、自動(dòng)巡檢、資源管理的功能。

      2.總體應(yīng)用邏輯架構(gòu)設(shè)計(jì)

      下圖是系統(tǒng)運(yùn)維自動(dòng)化的總體邏輯架構(gòu)圖

      解釋說明:

      整體架構(gòu)分為資源層、工具層、平臺(tái)層和應(yīng)用層。底層根據(jù)企業(yè)特點(diǎn),目前主要是基于私有云環(huán)境以及物理裸機(jī),私有云主要使用VmWare和OpenStack等虛擬化平臺(tái),而容器平臺(tái)也逐漸將作為一種資源類型納入到資源層的管控中。而基于金融行業(yè)的特殊性,物理裸機(jī)的部署依舊占用比重很大。在設(shè)計(jì)上依舊需要考慮物理裸機(jī)的自動(dòng)化部署。

      在工具層根據(jù)底層資源的類型以及特性選擇相應(yīng)的技術(shù)工具,如X86服務(wù)器的部署選擇Cobbler,HPUnix服務(wù)器選擇Ux-ignite,而虛擬化平臺(tái)選擇Ansible、虛擬化平臺(tái)API或是命令對(duì)接的方式實(shí)現(xiàn)資源的自動(dòng)化部署和資源管控。對(duì)接流程管理平臺(tái)主要實(shí)現(xiàn)環(huán)境交付和變更的半自助服務(wù),以及實(shí)現(xiàn)資源管控的流程信息的分類和管理。對(duì)接監(jiān)控信息實(shí)現(xiàn)故障自愈以及資源回收。對(duì)接配置平臺(tái),是通過信息的自動(dòng)發(fā)現(xiàn)保證配置信息的準(zhǔn)確性。

      在平臺(tái)層建立自動(dòng)化作業(yè)管理平臺(tái),也是本期實(shí)施的主要部分。在金融企業(yè)內(nèi)部基本已建立了流程平臺(tái)、配置平臺(tái)、監(jiān)控平臺(tái)。作業(yè)管理平臺(tái),主要面向運(yùn)維人員,可提供自動(dòng)化操作和配置界面。

      而在應(yīng)用場(chǎng)景方面,主要需要解決的問題,一是環(huán)境的自動(dòng)化部署交付、二是批量變更、三是主機(jī)信息的自動(dòng)化發(fā)現(xiàn)、四是自動(dòng)化巡檢、五是資源管控。

      3.關(guān)鍵應(yīng)用實(shí)施方案

      物理服務(wù)器部署

      根據(jù)實(shí)際需求情況,由于物理服務(wù)器的操作系統(tǒng)版本沒有高度統(tǒng)一,如RedHat、CentOS、Exsi等各類版本,故物理服務(wù)器一站式部署的實(shí)質(zhì)是要形成X86物理資源池,再按需下發(fā)部署操作系統(tǒng)。

      要實(shí)現(xiàn)Cobbler的自動(dòng)化下推操作系統(tǒng),必須提供DHCP網(wǎng)絡(luò)環(huán)境,根據(jù)現(xiàn)有的網(wǎng)絡(luò)環(huán)境,按如下方案實(shí)施:

      1. Cobbler服務(wù)器根據(jù)其業(yè)務(wù)功能將其部署在數(shù)據(jù)中心的業(yè)務(wù)管理區(qū)(或某一個(gè)業(yè)務(wù)區(qū)中),Cobbler提供X86服務(wù)器基于PXE的自動(dòng)引導(dǎo)安裝功能,同時(shí)提供DHCP服務(wù),并定義跨區(qū)域的多網(wǎng)段IP地址段。

      2. 由于Cobbler的網(wǎng)絡(luò)引導(dǎo)需要在DHCP網(wǎng)絡(luò)內(nèi)進(jìn)行,而在目前業(yè)務(wù)網(wǎng)中采用的是固定IP分配方式,故采取在每個(gè)業(yè)務(wù)區(qū)建立一個(gè)Vlan作為物理服務(wù)器的預(yù)安裝區(qū),在這些區(qū)域內(nèi)單獨(dú)開啟DHCP服務(wù)。Cobbler服務(wù)器本身作為DHCP服務(wù)器,每個(gè)區(qū)域預(yù)安裝區(qū)Vlan的服務(wù)器通過本區(qū)域的接入交換機(jī)的中繼服務(wù)向DHCP服務(wù)器申請(qǐng)IP地址。

      3. 裸機(jī)上電上架時(shí)業(yè)務(wù)口先接入預(yù)安裝區(qū)Vlan,該Vlan網(wǎng)絡(luò)與同區(qū)業(yè)務(wù)網(wǎng)絡(luò)通過接入交換機(jī)隔離。已接入各業(yè)務(wù)區(qū)Vlan的待安裝裸機(jī),在啟動(dòng)時(shí)會(huì)廣播請(qǐng)求DHCP服務(wù)以獲取IP地址,通過每個(gè)區(qū)匯聚層的DHCP中繼服務(wù),將其指向業(yè)務(wù)管理區(qū)(Cobbler服務(wù)器所在業(yè)務(wù)區(qū))的DHCP服務(wù)器(部署在Cobbler服務(wù)器上)以獲取IP地址,獲取IP地址后會(huì)繼續(xù)請(qǐng)求引導(dǎo)文件,獲取鏡像文件等后續(xù)操作系統(tǒng)部署動(dòng)作。在完成操作系統(tǒng)的自動(dòng)安裝后,將該裸機(jī)服務(wù)器的業(yè)務(wù)IP由預(yù)安裝Vlan切換至正式業(yè)務(wù)環(huán)境。

      4. Cobbler在kickstart的基礎(chǔ)上集成了電源管理功能,故每臺(tái)X86服務(wù)器在批量上電上架后配置帶外口配置,可以實(shí)現(xiàn)批量部署物理服務(wù)器形成物理資源池,再按需實(shí)現(xiàn)操作系統(tǒng)部署。無需在上電上架時(shí)人為開機(jī)進(jìn)行引導(dǎo)操作系統(tǒng),將批量部署和按需下發(fā)的動(dòng)作分離,形成物理資源池。

      具體網(wǎng)絡(luò)結(jié)構(gòu)如下圖:

      4.主要工具簡(jiǎn)介

      Cobbler

      Cobbler 是一個(gè)系統(tǒng)啟動(dòng)服務(wù)(boot server),可以通過網(wǎng)絡(luò)啟動(dòng)(PXE)的方式用來快速安裝、重裝物理服務(wù)器和虛擬機(jī),支持安裝不同的 Linux 發(fā)行版和 Windows。該工具使用python開發(fā),小巧輕便(才15k行代碼),使用簡(jiǎn)單的命令即可完成PXE網(wǎng)絡(luò)安裝環(huán)境的配置,同時(shí)還可以管理DHCP,DNS,以及yum包鏡像。

      Cobbler 使用命令行方式管理,也提供了基于 Web 的界面管理工具(cobbler-web),還提供了API接口,可以方便二次開發(fā)使用。

      Ignite-UX

      Ignite-UX是HP-UX的系統(tǒng)管理工具,可以利用該工具通過鏡像備份恢復(fù)的方式從網(wǎng)絡(luò)引導(dǎo)并安裝HP-UX操作系統(tǒng)。

      WSUS

      WSUS是個(gè)微軟推出的網(wǎng)絡(luò)化的補(bǔ)丁分發(fā)方案,是個(gè)免費(fèi)的工具。WSUS支持微軟公司全部產(chǎn)品的更新。通過WSUS這個(gè)內(nèi)部網(wǎng)絡(luò)中的Windows升級(jí)服務(wù),所有Windows更新都集中下載到內(nèi)部網(wǎng)的WSUS服務(wù)器中,而網(wǎng)絡(luò)中的客戶機(jī)通過WSUS服務(wù)器來得到更新。這在很大程度上節(jié)省了網(wǎng)絡(luò)資源,避免了外部網(wǎng)絡(luò)流量的浪費(fèi)并且提高了內(nèi)部網(wǎng)絡(luò)中計(jì)算機(jī)更新的效率。WSUS采用C/S模式,客戶端已被包含在各個(gè)WINDOWS操作系統(tǒng)上。從微軟網(wǎng)站上下載的是WSUS服務(wù)器端。通過配置,將客戶端和服務(wù)器端關(guān)聯(lián)起來,就可以自動(dòng)下載補(bǔ)丁了。這個(gè)配置幾乎就是使用WSUS的全部工作了。

      Ansible

      ansible是自動(dòng)化運(yùn)維工具,基于Python開發(fā),集合了眾多運(yùn)維工具(puppet、cfengine、chef、func、fabric)的優(yōu)點(diǎn),實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運(yùn)行命令等功能。


      3.Ansible的應(yīng)用

      在整個(gè)自動(dòng)化運(yùn)維管理平臺(tái)中,除了集成部分由專業(yè)開發(fā)團(tuán)隊(duì)外包集成外,Ansible是由我們目前研究的方向和目標(biāo)。而基于Ansible基本實(shí)現(xiàn)了自動(dòng)化運(yùn)維平臺(tái)的后端核心部分,下面的章節(jié)主要就Ansible研究和探索的內(nèi)容進(jìn)行分享和探討。

      3.1Ansible的特點(diǎn)

      Ansible在官網(wǎng)中被定義為Ansible is a radically simple IT automation engine。說明Ansible是一款極其簡(jiǎn)單的IT自動(dòng)化工具,在0.X的版本中甚至使用Stupid Simple來形容Ansible是令人發(fā)指的簡(jiǎn)單??梢夾nsible這塊自動(dòng)化工具非常注重Simple的理念。

      雖然Ansible注重使用的簡(jiǎn)單,但它自身并不簡(jiǎn)單,它擁有豐富穩(wěn)定的內(nèi)置模塊和開放的API接口。目前在Ansible2.3的版本中已經(jīng)擁有了1014個(gè)內(nèi)置模塊(數(shù)據(jù)更新至2017年9月6日)。而由于其開源生態(tài)非常好使得其內(nèi)置模塊支持的覆蓋面非常廣:

      系統(tǒng)層:Linux、Windows、AIX等,對(duì)應(yīng)的模塊有acl、cron、pip、yum、shell、command、file、copy、user、lvol等等。

      虛擬化:OpenStack、VMware、Docker、CloudStack、LXC等,對(duì)應(yīng)的模塊glance_image、os_server、vmware_vmkernel、docker等等。

      商業(yè)化軟件:F5、ASA、Citrix、Eos等

      系統(tǒng)應(yīng)用層:Apache、Jboss、Zabbix、Rabbitmq、SVN、GIT、Mysql、Mariadb等,對(duì)應(yīng)的模塊apache2_module、jboss、zabbix_group、rabbitmq_binding、subversion、git等

      Ansible與Puppet和Saltstack的對(duì)比

      目前主流的自動(dòng)化配置管理工具主要有Ansible、Puppet和SaltStack,這三款自動(dòng)化開源工具的主要優(yōu)劣勢(shì)如表一所示,而近年來Ansible也成為了自動(dòng)化配置管理工具的“網(wǎng)紅”,其在GitHub中的社區(qū)關(guān)注度見表二。

      GitHub社區(qū)活躍度:

      3.2Ansible的技術(shù)能力

      Ansible在Linux下的技術(shù)能力

      作為開源系統(tǒng)和軟件,Linux系統(tǒng)是Ansible支持最佳的操作系統(tǒng)。我們使用Ansible在Linux下對(duì)部分模塊進(jìn)行了測(cè)試和實(shí)際的運(yùn)用。結(jié)果表明,模塊的豐富程度很高可以覆蓋絕大多數(shù)自動(dòng)化運(yùn)維場(chǎng)景。無代理的特性Ansible的管控覆蓋快速、輕便。穩(wěn)定性和容錯(cuò)能力不錯(cuò)。在大量覆蓋千量級(jí)服務(wù)器發(fā)現(xiàn)了幾個(gè)不足是需要尋求一些更好的解決方案的,一是Ansible會(huì)對(duì)中文字符集的操作系統(tǒng)支持上存在一些小問題,比如service模塊;二是Ansible執(zhí)行命令時(shí)會(huì)在某些被控節(jié)點(diǎn)特定異常時(shí)掛住,無法繼續(xù),即使采用異步模式;三是性能并不是特別好,需要調(diào)優(yōu)或?qū)で笃渌鉀Q方案。未調(diào)優(yōu)情況下,管控千量級(jí)服務(wù)器可以,萬量級(jí)服務(wù)器難以勝任。在8C8G的服務(wù)器上對(duì)2000臺(tái)服務(wù)器執(zhí)行20并發(fā)的ping模塊(即單作業(yè)執(zhí)行)消耗時(shí)間大約3分鐘。實(shí)際在進(jìn)行ZabbixAgent批量安裝時(shí),我們的Playbook有20多個(gè)作業(yè),在安裝500臺(tái)服務(wù)器時(shí)使用的時(shí)間大約是20-30分鐘。

      常用Linux模塊(基本覆蓋90%的自動(dòng)化場(chǎng)景):

      user: 用戶管理

      group:用戶組管理

      shell:調(diào)用shell

      file:文件、目錄管理(包括權(quán)限、屬主)

      copy:文件復(fù)制(包括權(quán)限、屬主)

      service:Linux服務(wù)管理

      lineinfile:對(duì)于文本文件的處理,可通過正則表達(dá)式進(jìn)行替換、新增、刪除等,是配置文件調(diào)整的利器

      template:下發(fā)模版文件,可以隨變量變化在下發(fā)后自動(dòng)生成適用于受控主機(jī)的配置文件,是配置文件管理的利器,特別適用于系統(tǒng)應(yīng)用軟件,比如mysql、jboss、apache等

      authorized_key:密鑰管理,可以批量下發(fā)或管理ssh密鑰

      unarchive:對(duì)zip、tar、gzip等格式的包可以解壓

      yum:使用yum管理器對(duì)包進(jìn)行管理

      lvg:lvm的pv和vg管理,可以創(chuàng)建、調(diào)整、刪除vg

      lvol:lvm的lv管理,可以創(chuàng)建、調(diào)整、刪除lv

      fssystem:文件系統(tǒng)管理

      mount:文件系統(tǒng)掛載管理

      Ansible在HPUX下的技術(shù)能力

      根據(jù)公司的實(shí)際情況,Unix服務(wù)器主要是HPUX,AIX使用的比較少。故對(duì)Ansible在HPUX的使用進(jìn)行了測(cè)試。

      首先HPUX11.31下并未默認(rèn)安裝python,故需要手動(dòng)安裝python后才能接管。而測(cè)試結(jié)果發(fā)現(xiàn)支持情況不佳,HPUX下可以使用少部分的Linux的模塊,而使用到一些系統(tǒng)級(jí)的模塊時(shí)HPUX下無法支持,比如service、mount、lvg、lvol等等。所以不推薦Ansible在HPUX下直接使用。如果需要Ansible統(tǒng)一管控,可以通過Ansible連接后調(diào)用腳本實(shí)現(xiàn)管控。

      Ansible在Windows下的技術(shù)能力

      Ansible連接Windows主機(jī)從技術(shù)實(shí)現(xiàn)上是利用了Windows的Powershell及.net庫,通過Python的pywinrm庫實(shí)現(xiàn)基于Windows的winrm協(xié)議遠(yuǎn)程控制Windows主機(jī),而調(diào)用的Ansible的內(nèi)置模塊實(shí)質(zhì)均為Powershell腳本,僅由python程序調(diào)用。

      故Ansible連接Windows主機(jī)需要Powershell3.0及.net3.5,所以WindowsServer2008需要進(jìn)行升級(jí),而Windows2012及以上版本可以直接使用。

      通過測(cè)試及實(shí)際運(yùn)用發(fā)現(xiàn),常規(guī)運(yùn)維操作覆蓋能力不錯(cuò)。甚至使用Ansible進(jìn)行WindowsHotFix補(bǔ)丁的安裝均可以實(shí)現(xiàn)。當(dāng)然我們?cè)谶x擇補(bǔ)丁安裝時(shí)最終還是選擇了微軟原生的WSUS進(jìn)行集成。

      根據(jù)實(shí)際情況,目前依舊有不少應(yīng)用運(yùn)行在WindowsServer2008上,升級(jí).net需要應(yīng)用的測(cè)試,工作量較大需要逐步推進(jìn)。而在WindowsServer2012及以上版本上,使用Ansible是沒有什么問題的。

      常用Windows模塊(基本覆蓋90%的自動(dòng)化場(chǎng)景):

      win_user: windows用戶管理

      win_group: windows用戶組管理

      win_shell:調(diào)用windows內(nèi)部命令或腳本

      win_file:管理windows文件,包括復(fù)制、刪除、創(chuàng)建等,包括管理文件屬主、權(quán)限等

      win_copy:復(fù)制windows文件,包括復(fù)制、刪除、創(chuàng)建等,包括管理文件屬主、權(quán)限等

      win_service:管理windows的服務(wù),可以啟動(dòng)、停止、設(shè)置自啟、禁止自啟

      win_lineinfile:對(duì)文本文件通過正則表達(dá)式進(jìn)行調(diào)整,包括插入、替換、刪除

      win_unzip:可對(duì)zip壓縮包進(jìn)行解壓,win_zip可以進(jìn)行打包

      win_msi:對(duì)windows的msi包進(jìn)行管理

      Ansible在OpenStack下的技術(shù)能力

      Ansible可以作為OpenStack的自動(dòng)化編排工具,通過Ansible控制OpenStack的Controller節(jié)點(diǎn),通過Ansible的內(nèi)置模塊os_server、os_volume等模塊實(shí)現(xiàn)在OpenStack平臺(tái)上管理instance和存儲(chǔ)。

      從需求出發(fā)公司目前的需求僅為環(huán)境交付。所以在實(shí)際使用中,我們根據(jù)用戶對(duì)環(huán)境的需求,使用已經(jīng)編制好的AnsiblePlaybook調(diào)用不同的參數(shù)在OpenStack上創(chuàng)建實(shí)例、掛載磁盤、進(jìn)行安全加固、安裝基礎(chǔ)軟件最終交付至用戶,與流程對(duì)接后可以實(shí)現(xiàn)半自助服務(wù)。

      而在社區(qū)中也可以看到大量關(guān)于Ansible安裝OpenStack以及擴(kuò)展的資料和實(shí)際使用情況。本文在這里不做深入介紹。另外,Git上也有不少Ansible在OpenStack上的實(shí)際案例,比如使用Ansible的Playbook來實(shí)現(xiàn)整個(gè)OpenStack環(huán)境的自動(dòng)化應(yīng)急演練,檢測(cè)網(wǎng)絡(luò)、實(shí)例、存儲(chǔ)、以及實(shí)例上的資源異常時(shí)的系統(tǒng)健壯程度。

      所以,我們認(rèn)為Ansible可以作為OpenStack的編排工具在公司進(jìn)行推廣使用。

      Ansible技術(shù)能力總結(jié)

      Ansible的優(yōu)點(diǎn)主要是:

      一、學(xué)習(xí)曲線平滑,使用簡(jiǎn)易。具備一定腳本使用基礎(chǔ)的運(yùn)維人員兩個(gè)月可以較為熟練的使用。

      二、無代理,部署簡(jiǎn)單。

      三、模塊豐富,覆蓋面較廣,使用場(chǎng)景較多。

      四、社區(qū)熱度高,資料豐富。

      Ansible的缺點(diǎn)是:

      一、性能相對(duì)較弱,需要優(yōu)化或更改連接模式提升性能。

      二、HPUX、WindowsServer08支持較弱。

      三、對(duì)于中文環(huán)境依舊存在一些弊端。

      四、日志記錄功能不夠強(qiáng)大。

      五、基于冪等設(shè)計(jì),回退機(jī)制弱。

      3.3Ansible的應(yīng)用場(chǎng)景

      目前公司Ansible已經(jīng)廣泛開始使用,目前應(yīng)用的場(chǎng)景主要是批量變更、軟件安裝、環(huán)境交付以及主機(jī)信息的自動(dòng)發(fā)現(xiàn)。

      批量變更

      主要應(yīng)用在Linux操作系統(tǒng)上,根據(jù)實(shí)際運(yùn)維需要我們應(yīng)用在Agent批量安裝、用戶批量開設(shè)、配置批量更新等方面。

      使用最多的是Zabbix和Flume的Agent批量安裝,特別是Zabbix使用Ansible工具特別方便,除了安裝Agent之外,批量更改配置非常方便,如使用Zabbix服務(wù)器或代理服務(wù)器地址更換、自定義Key的新增調(diào)整等等。

      在用戶開立方面也使用Ansible進(jìn)行批量推送。

      同時(shí),在配置方便除了Zabbix配置之外,還在ELK的Syslog的配置上也已經(jīng)進(jìn)行了應(yīng)用。

      在使用Ansible進(jìn)行批量變更的時(shí)候,需要保證代碼進(jìn)行充分測(cè)試,雖然Ansible在使用上非常簡(jiǎn)單,但回退機(jī)制較弱。比如文件的批量更新,雖然可以進(jìn)行備份,但無法將備份批量進(jìn)行回退。

      基礎(chǔ)設(shè)施即代碼的概念中最困難的一點(diǎn)是碎片服務(wù)器,由于存在大量的存量服務(wù)器,所以這個(gè)問題無法避免。這就需要企業(yè)內(nèi)部使用Ansible的時(shí)候一定要將Ansible作為一種軟件代碼進(jìn)行管理,建立開發(fā)測(cè)試發(fā)布機(jī)制,保證代碼充分測(cè)試。在批量變更的時(shí)候?qū)ふ也煌愋偷脑O(shè)備進(jìn)行試點(diǎn)后再逐步推送。如果使用Ansible進(jìn)行過一次推送后,碎片的問題基本就不是問題了,今后可以較為放心的反復(fù)更新。

      關(guān)于開發(fā)測(cè)試發(fā)布機(jī)制,我們目前以GitLab為工具建立了版本控制系統(tǒng),并定義了代碼遷入遷出規(guī)則,嚴(yán)格根據(jù)流程開發(fā)、測(cè)試最后才能最終發(fā)布。

      軟件安裝

      除了批量變更之外,Ansible主要是實(shí)現(xiàn)基礎(chǔ)軟件的安裝,比如mysql、oracle、jboss等等。在使用Ansible安裝此類軟件時(shí)將配置獨(dú)立出來,這樣可以根據(jù)用戶需求獲取不同參數(shù),以實(shí)現(xiàn)不同配置的軟件。

      環(huán)境交付

      除了批量變更之外,Ansible主要是實(shí)現(xiàn)基礎(chǔ)軟件的安裝,比如mysql、oracle、jboss等等。

      在環(huán)境交付層面,由于Ansible是基于操作系統(tǒng)或是虛擬化云平臺(tái)的,所以在裸機(jī)部署上并不適用。在虛擬化云平臺(tái)上,通過Ansible基于OpenStack和VMWare的模塊開設(shè)實(shí)例和虛機(jī)以及掛盤,完成虛機(jī)的下放后,再進(jìn)行軟件的安裝。從Ansible的Playbook的設(shè)計(jì)上只需要將下放虛機(jī)掛盤操作作為一部分再集成前述的軟件安裝部分即可。下放虛機(jī)掛盤的操作也可以由自動(dòng)化運(yùn)維平臺(tái)中集成各個(gè)虛擬化平臺(tái)的命令完成。

      最后呈現(xiàn)的形式由用戶遞交環(huán)境申請(qǐng)信息,標(biāo)注需要什么配置的服務(wù)器、幾臺(tái)、需要安裝什么樣的軟件。遞交申請(qǐng)審批通過,由自動(dòng)化平臺(tái)自動(dòng)運(yùn)行部署后交付至用戶。

      主機(jī)信息自動(dòng)發(fā)現(xiàn)

      利用Ansible的現(xiàn)成連接通道以及自帶的facts模塊,實(shí)現(xiàn)主機(jī)信息的自動(dòng)發(fā)現(xiàn)和更新功能,并將這些信息定期更新至配置平臺(tái)中,以輔助配置平臺(tái)的數(shù)據(jù)準(zhǔn)確性。由于Ansible的facts模塊采集的信息有限,且基于Linux、HPUX以及Windows采集的內(nèi)容也稍有不同,所以還是需要一些本地化的程序輔助。

      Facts中可以采集的信息主要包含了主機(jī)的一些基礎(chǔ)信息,如主機(jī)名、IP地址、網(wǎng)卡信息、CPU、MEM以及操作系統(tǒng)版本等信息。而從需求出發(fā),我們可能還關(guān)注基礎(chǔ)軟件的版本信息、文件系統(tǒng)以及用戶的信息等等。所以需要根據(jù)需求定義一些程序以獲取這些信息。

      我們目前采用如下圖,設(shè)計(jì)方法獲取主機(jī)信息,根據(jù)需求編制Ansible的模塊,比如獲取用戶的信息,定義新的模塊,定義完成后即形成新的AnsibleAD-HOC命令,通過一段程序獲取所有受控的主機(jī)的facts以及自定義的信息之后將其入庫,并同步更新至CMDB庫。運(yùn)維人員自己就可以根據(jù)自身的需求去定義需要的信息,并且將其入庫,無需專業(yè)的開發(fā)人員實(shí)施。

      其他場(chǎng)景

      Ansible的其他使用場(chǎng)景,主要是應(yīng)用的發(fā)布和變更,利用Ansible本身與Git結(jié)合的能力,考慮應(yīng)用的發(fā)布,社區(qū)中也有不少這樣的案例可以參考。同時(shí)公司目前也在研究以Jenkins為主要工具的持續(xù)集成、持續(xù)測(cè)試,Jenkins環(huán)境部署和應(yīng)用發(fā)布的部分考慮與Ansible對(duì)接實(shí)現(xiàn)。

      原題:某銀行數(shù)據(jù)中心自動(dòng)化運(yùn)維探索和實(shí)踐

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多