溫馨提示×

溫馨提示×

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

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

Cloud Foundry BOSH在部署系統(tǒng)時是如何工作的

發(fā)布時間:2021-09-07 09:08:44 來源:億速云 閱讀:126 作者:chen 欄目:云計算

這篇文章主要講解了“ Cloud Foundry BOSH在部署系統(tǒng)時是如何工作的”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ Cloud Foundry BOSH在部署系統(tǒng)時是如何工作的”吧!

Cloud Foundry BOSH 簡介


Cloud Foundry 是業(yè)界第一個開源PaaS,它支持多種開發(fā)框架、多種服務(wù)和多種IaaS。BOSH起先是在Cloud Foundry項目中開發(fā)的,不過,它是一個通用的工具,協(xié)助大規(guī)模分布式服務(wù)的部署和生命周期管理。

我們使用BOSH將Cloud Foundry的各組件部署到分布的節(jié)點上(在虛擬化環(huán)境中,節(jié)點即虛擬機)。以下簡要介紹一下BOSH在部署系統(tǒng)時是如何工作的。

BOSH是Bosh Outter SHell的縮寫。與“Outter Shell”相對,被BOSH部署和管理的系統(tǒng)稱為“Inner Shell”。下圖簡要說明了BOSH的模塊:


Cloud Foundry BOSH在部署系統(tǒng)時是如何工作的

BOSH是將分布式系統(tǒng)的部署步驟進行定義和編排的服務(wù)器,通過BOSH CLI(指令界面,一個ruby工具)可以與BOSH服務(wù)器交互。BOSH開始部署系統(tǒng)之前,需要準備好三項內(nèi)容:stemcell,release(要安裝的軟件),和一個部署清單(manifest)。讓我們仔細看一下這三項內(nèi)容:

Stemcells:  在云平臺上,VM經(jīng)常會用從模板clone的方法創(chuàng)建。stemcell是包含了標準操作系統(tǒng)(例如ubuntu)和BOSH agent的VM模板?!皊temcell”這個詞來源于生物學(xué)的“干細胞”,指的是可以生長成為不同類型細胞的原始細胞。同樣的由BOSH stemcell創(chuàng)建的VM在開始時是相同的,啟動后,VM被配置成不同的CPU/memory/storage/network,并且安裝不同的軟件包。這樣由同樣stemcell模板創(chuàng)建的VM變得不一樣了。

Releases: release包含一系列軟件和配置,用于安裝到目標系統(tǒng)中。配置通常包含例如IP地址、商品號、用戶名、口令、域名等。這些參數(shù)根據(jù)部署清單文件(Deployment mManifest)中的屬性來確定。

 contains collections of software bits and configurations which will be installed onto the target system. Each VM is deployed with a collection of software, which is called a job. Configurations are usually templates which contain parameters such as IP address, port number, user name, password, domain name. These parameters will be replaced at deploy time by the properties defined in a deployment manifest file.

Deployment Manifest: Deployment Manifest(部署清單)定義了部署時所需的實際參數(shù)值,在部署過程中,BOSH用這些值替換release中的參數(shù),使得軟件按計劃好的配置來運行。


當以上三個內(nèi)容準備好之后,它們將被用BOSH CLI工具上傳到BOSH。然后,用BOSH安裝分布式系統(tǒng)一般包括以下主機步驟:

1) 如果在release中的一些package需要編譯,BOSH首先創(chuàng)建幾個臨時VM來編譯它們。編譯完成后,BOSH將編譯好的二進制代碼放在內(nèi)部的blobstore,將臨時VM銷毀。

2) BOSH創(chuàng)建一個VM池,包含多個VM,release將被部署到這些VM上。這些VM從stemcell克隆過來,它們已經(jīng)包含了BOSH agent.

3) 部署一個release的任務(wù)時,BOSH從VM池里取出一個VM,根據(jù)Deployment Manifest更改配置。配置可能包括IP address、永久磁盤大小,等等。

4) 當重新配置VM完成后,BOSH向每個VM中的agent發(fā)送指令。這些指令告訴agent來安裝軟件包。安裝過程中,agent可能從BOSH下載軟件包并安裝。當安裝完成后,agent運行啟動腳本來啟動VM中的任務(wù)。

5) BOSH重復(fù)步驟3-4,直到所有任務(wù)都已部署和啟動。這些任務(wù)可以并行或順序部署,由manifest(清單)文件中的“max_in_flight”值控制。當設(shè)為1時,任務(wù)一個一個部署。對于性能差的系統(tǒng),這個值很有用,可避免資源擁擠造成超時。當這個值大于1時,意味著任務(wù)可以并行部署。

感謝各位的閱讀,以上就是“ Cloud Foundry BOSH在部署系統(tǒng)時是如何工作的”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對 Cloud Foundry BOSH在部署系統(tǒng)時是如何工作的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI