對于網(wǎng)站開發(fā)而言,DevOps 是一系列做法和工具,可以使 IT 和軟件開發(fā)團(tuán)隊(duì)之間的流程實(shí)現(xiàn)自動(dòng)化。其中,隨著敏
捷軟件開發(fā)日趨流行,持續(xù)集成 (CI) 和持續(xù)交付 (CD) 已經(jīng)成為該領(lǐng)域一個(gè)理想的解決方案。
在CI/CD 工作流中,每次集成都通過自動(dòng)化構(gòu)建來驗(yàn)證,包括編碼、發(fā)布和測試,從而幫助開發(fā)者提前發(fā)現(xiàn)集成錯(cuò)誤,團(tuán)隊(duì)也可以快速、安全、可靠地將內(nèi)部軟件交付到生產(chǎn)環(huán)境。
不過,傳統(tǒng)的 Jenkins Controller-Agent 架構(gòu)(即多個(gè) Agent 為一個(gè) Controller 工作)有以下不足。
1. 如果 Controller 宕機(jī),整個(gè) CI/CD 流水線會(huì)崩潰。
2.資源分配不均衡,一些 Agent 的流水線任務(wù) (Job) 出現(xiàn)排隊(duì)等待,而其他 Agent 處于空閑狀態(tài)。
3.不同的 Agent 可能配置環(huán)境不同,并需要使用不同的編碼語言。這種差異會(huì)給管理和維護(hù)帶來不便。
了解 KubeSphere DevOps
KubeSphere DevOps 項(xiàng)目支持源代碼管理工具,例如 GitHub、Git 和 SVN。用戶可以通過圖形編輯面板 (Jenkinsfile out of SCM) 構(gòu)建 CI/CD 流水線,或者從代碼倉庫 (Jenkinsfile in SCM) 創(chuàng)建基于 Jenkinsfile 的流水線。
KubeSphere DevOps 系統(tǒng)為您提供以下功能:
獨(dú)立的 DevOps 項(xiàng)目,提供訪問可控的 CI/CD 流水線。
開箱即用的 DevOps 功能,無需復(fù)雜的 Jenkins 配置。
支持Source-to-image (S2I)和Binary-to-image (B2I),快速交付鏡像。
基于 Jenkinsfile 的流水線,提供一致的用戶體驗(yàn),支持多個(gè)代碼倉庫。
圖形編輯面板,用于創(chuàng)建流水線,學(xué)習(xí)成本低。
強(qiáng)大的工具集成機(jī)制,例如SonarQube,用于代碼質(zhì)量檢查。
企業(yè)網(wǎng)站設(shè)計(jì),品牌網(wǎng)站建設(shè),KubeSphere CI/CD 流水線基于底層 Kubernetes Jenkins Agent 而運(yùn)行。這些 Jenkins Agent 可以動(dòng)態(tài)擴(kuò)縮,即根據(jù)任務(wù)狀態(tài)進(jìn)行動(dòng)態(tài)供應(yīng)或釋放。Jenkins Controller 和 Agent 以 Pod 的形式運(yùn)行在 KubeSphere 節(jié)點(diǎn)上。Controller 運(yùn)行在其中一個(gè)節(jié)點(diǎn)上,其配置數(shù)據(jù)存儲(chǔ)在一個(gè)存儲(chǔ)卷 (Volume) 中。Agent 運(yùn)行在各個(gè)節(jié)點(diǎn)上,但可能不會(huì)一直處于運(yùn)行狀態(tài),而是根據(jù)需求動(dòng)態(tài)創(chuàng)建并自動(dòng)刪除。
當(dāng) Jenkins Controller 收到構(gòu)建請求,會(huì)根據(jù)標(biāo)簽動(dòng)態(tài)創(chuàng)建運(yùn)行在 Pod 中的 Jenkins Agent 并注冊到 Controller 上。當(dāng) Agent 運(yùn)行完任務(wù)后,將會(huì)被釋放,相關(guān)的 Pod 也會(huì)被刪除。
動(dòng)態(tài)供應(yīng) Jenkins Agent 有以下優(yōu)勢:
資源分配合理:KubeSphere 動(dòng)態(tài)分配已創(chuàng)建的 Agent 至空閑節(jié)點(diǎn),避免因單個(gè)節(jié)點(diǎn)資源利用率高而導(dǎo)致任務(wù)排隊(duì)等待。
高可擴(kuò)縮性:當(dāng) KubeSphere 集群因資源不足而導(dǎo)致任務(wù)長時(shí)間排隊(duì)等待時(shí),您可以向集群新增節(jié)點(diǎn)。
高可用性:當(dāng) Jenkins Controller 故障時(shí),KubeSphere 會(huì)自動(dòng)創(chuàng)建一個(gè)新的 Jenkins Controller 容器,并將存儲(chǔ)卷掛載至新創(chuàng)建的容器,保證數(shù)據(jù)不會(huì)丟失,從而實(shí)現(xiàn)集群高可用。
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)