23 款 DevOps 工具建設(shè)云原生時代
今天的中國互聯(lián)網(wǎng),正加速從消費互聯(lián)網(wǎng)向產(chǎn)業(yè)互聯(lián)網(wǎng)轉(zhuǎn)型,數(shù)字化變革逐漸滲透到每一個具體產(chǎn)業(yè),彈性算力已變成各行各業(yè)的水電煤,從底層驅(qū)動產(chǎn)業(yè)變革。以區(qū)塊鏈、IoT、人工智能、大數(shù)據(jù)等先進(jìn)技術(shù)為代表,新的云原生基礎(chǔ)設(shè)施已經(jīng)就緒并將繼續(xù)演進(jìn),同時也會伴隨著與之配套的技術(shù)和管理范式的演進(jìn)。DevOps 作為數(shù)字化時代 IT 研發(fā)和管理范式,是企業(yè)數(shù)字化轉(zhuǎn)型重要的組成部分。
當(dāng)前互聯(lián)網(wǎng)組件生態(tài)中,DevOps 工具和系統(tǒng)林林總總,令人眼花繚亂。選用與當(dāng)前企業(yè)發(fā)展階段不適配的 DevOps 組件會導(dǎo)致:
工具能力溢出,大量功能閑置,同時增加使用人員的上手成本;
工具能力不足或功能過于泛化,無法滿足企業(yè)研發(fā)體量需求或無法靈活定制細(xì)節(jié);
工具本身質(zhì)量欠佳,后續(xù)相應(yīng)的社區(qū)支持或服務(wù)保障缺失,導(dǎo)致穩(wěn)定性風(fēng)險。
基于以上問題,本文致力于為企業(yè)提供 DevOps 工程效率和運維環(huán)節(jié)(后續(xù)簡稱效維)工具說明及全景圖,并結(jié)合典型中國互聯(lián)網(wǎng)研發(fā)場景,提出適配不同體量和階段的企業(yè)的效維工具鏈選型,希望能幫助企業(yè)快速滿足數(shù)字化變革的要求,加速業(yè)務(wù)發(fā)展,引領(lǐng)業(yè)務(wù)創(chuàng)新。
DevOps 是 Development 和 Operations 的組合詞。它是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)(應(yīng)用程序 / 軟件工程)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。

圖 1 DevOps 范疇
它是一種重視“軟件開發(fā)人員(Dev)”和“IT 運維技術(shù)人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構(gòu)變更”的流程,來使得構(gòu)建、測試、發(fā)布軟件能夠更加地快捷、頻繁和可靠,把敏捷開發(fā)部門和運維部門之間的圍墻打通,形成閉環(huán)。
在 DevOps 流程下,運維人員會在項目開發(fā)期間就介入到開發(fā)過程中,了解開發(fā)人員使用的系統(tǒng)架構(gòu)和技術(shù)路線,從而制定適當(dāng)?shù)倪\維方案。而開發(fā)人員也會在運維的初期參與到系統(tǒng)部署中,并提供系統(tǒng)部署的優(yōu)化建議。
完整的 DevOps 生命周期一般包括以下六個階段。

圖 2 DevOps 生命周期
其中集成、部署、監(jiān)控三個環(huán)節(jié)屬于 DevOps 生命周期中核心環(huán)節(jié),是本文主要關(guān)注點。貫穿云原生 DevOps 整個生命周期的工具鏈全景圖如下:

圖 3 云原生 DevOps 工具全景圖
持續(xù)集成可以幫助開發(fā)人員更加頻繁地(有時甚至每天)將代碼更改合并到共享分支或“主干"中。一旦開發(fā)人員對應(yīng)用所做的更改被合并,系統(tǒng)就會通過自動構(gòu)建應(yīng)用并運行不同級別的自動化測試(通常是單元測試和集成測試)來驗證這些更改,確保這些更改沒有對應(yīng)用造成破壞。持續(xù)集成的輸入是代碼,所以一個好的代碼托管工具是必不可少的。
持續(xù)部署指的的是自動將開發(fā)人員的更改從存儲庫發(fā)布到生產(chǎn)環(huán)境,以供客戶使用。它主要為了解決因手動流程降低應(yīng)用交付速度,從而使運維團(tuán)隊超負(fù)荷的問題。部署過程中可能還會涉及到平滑遷移新老版本流量的過程,所以對服務(wù)發(fā)現(xiàn)工具也有一定的依賴。
要實現(xiàn)持續(xù)集成和持續(xù)部署,自動化的流水線是基礎(chǔ)。本節(jié)將從代碼托管工具、集成流水線工具、服務(wù)發(fā)現(xiàn)工具三個方面進(jìn)行工具對比介紹。
在選擇代碼托管工具的時候,主要關(guān)注以下三點:
可協(xié)同:在功能層面要包含倉庫管理、分支管理、權(quán)限管理、提交管理、代碼評審等代碼存儲和版本管理等功能,讓開發(fā)者更好的協(xié)同工作;
可集成:好的代碼托管服務(wù)應(yīng)該具備靈活和簡易的三方工具集成能力,降低 DevOps 的實施落地成本 ;
安全可靠:這是最重要的一點,對于個人開發(fā)者可能無感,但是對于企業(yè)而言,代碼的安全性、服務(wù)的穩(wěn)定性、數(shù)據(jù)是否存在丟失的風(fēng)險,是會最被優(yōu)先考量的點。
常用代碼托管工具見下表:

表 1 代碼托管工具對照表
集成流水線就像傳統(tǒng)的工業(yè)流水線一樣,在經(jīng)歷構(gòu)建、測試、交付之后,生產(chǎn)出一代一代更新迭代的軟件版本。實現(xiàn)了軟件產(chǎn)品小步迭代、高頻發(fā)布、適時集成、穩(wěn)定的系統(tǒng)演進(jìn)線路圖。在選擇集成流水線工具的時候,我們需要關(guān)注:
版本控制工具的支持;
每個構(gòu)建是否可以支持指定多個代碼源 URLS;
是否支持構(gòu)建產(chǎn)物管理庫,如公有云對象存儲等;
是否支持部署流水線,類似于一個或多個構(gòu)建完成后觸發(fā)另一個構(gòu)建;
是否支持并行構(gòu)建;
是否支持構(gòu)建網(wǎng)格,以及對網(wǎng)格內(nèi)機器管理的能力。如能否將多個構(gòu)建同時分配到多個構(gòu)建機器上執(zhí)行,以提高執(zhí)行速度;
是否有良好的開放 API,比如觸發(fā)構(gòu)建 API、結(jié)果查詢 API、標(biāo)準(zhǔn)的 Report 接口等;
賬戶體系,是否支持第三方賬戶接入,如企業(yè) LDAP 等;
是否有良好的 Dashboard;
多語言支持;
與構(gòu)建工具(如 Maven,Make,Rake,Nant、Node 等)和測試工具的集成。
常用集成流水線工具如下表所示:

表 2 持續(xù)集成&持續(xù)部署組件對照表
服務(wù)發(fā)現(xiàn)為 Deploy 的最后環(huán)節(jié),缺一不可。無論是四七層負(fù)載均衡,還是微服務(wù)、RPC 服務(wù)框架,服務(wù)發(fā)現(xiàn)都是產(chǎn)品投產(chǎn)的臨門一腳。服務(wù)注冊發(fā)現(xiàn)工具選型需要從生態(tài)發(fā)展、便利性、語言無關(guān)性等角度來綜合考量。
常用的組件工具如下表:

?
表 3 服務(wù)注冊組件對照表
服務(wù)的穩(wěn)定性離不開監(jiān)控系統(tǒng)的保駕護(hù)航。監(jiān)控系統(tǒng)為服務(wù)穩(wěn)定運行提供數(shù)據(jù)可視化、異常報警、異常定位、故障追蹤等能力;同時監(jiān)控系統(tǒng)還為服務(wù)持續(xù)優(yōu)化升級提供依據(jù)和考量標(biāo)準(zhǔn)。
監(jiān)控系統(tǒng)有三大基石:指標(biāo)、日志、分布式追蹤。
指標(biāo)體系:聚焦于故障發(fā)現(xiàn)環(huán)節(jié),服務(wù)以數(shù)字形式評估出服務(wù) QPS、成功率、延遲、容量等關(guān)鍵指標(biāo),搭配報警系統(tǒng)可以保證當(dāng)核心指標(biāo)異常時及時通知開發(fā) / 運維人員。除了核心指標(biāo)外,服務(wù)還可以將各模塊 / 階段的瓶頸點、外部依賴指標(biāo)量化,建立更加完善服務(wù)狀態(tài)概覽,以便服務(wù)開發(fā) / 運維人員快速定位異常,完成根因分析。指標(biāo)系統(tǒng)優(yōu)勢是聚合能力,用較少的存儲資源和計算資源表達(dá)系統(tǒng)內(nèi)部狀態(tài)。
常用工具及功能對照如下:

表 4 指標(biāo)組件對照表格
日志系統(tǒng):用于記錄服務(wù)內(nèi)發(fā)生的各類事件。日志系統(tǒng)聚焦故障定位環(huán)節(jié),與指標(biāo)系統(tǒng)相比,日志系統(tǒng)具有更強的描述性,但也伴隨著更大的存儲空間和計算存儲資源要求。日志是常用的監(jiān)控方法,比如在具有外部依賴系統(tǒng)的服務(wù)中,一般會將外部系統(tǒng)發(fā)生的錯誤和錯誤原因以日志形式記錄下來,以便在故障定位和復(fù)盤時恢復(fù)異常現(xiàn)場環(huán)境。常用方案為 ELK(Elasticsearch、Logstash 和 Kibana )。
分布式追蹤系統(tǒng):用于分析服務(wù)調(diào)用關(guān)系。在微服務(wù)盛行的今天,服務(wù)之間調(diào)用關(guān)系越來越復(fù)雜,微服務(wù)之間相互影響也更加難以定位和排查。分布式追蹤系統(tǒng)聚焦于故障定位環(huán)節(jié),與指標(biāo)體系和日志體系不同,分布式追蹤系統(tǒng)可以提供服務(wù)之間依賴拓?fù)湫畔ⅲ瑢τ谑崂硐到y(tǒng)調(diào)用拓?fù)洹⒆粉櫹掠我蕾噷?dǎo)致的異常意義重大。
常用工具及功能對照如下:

表 5 分布式追蹤組件對照表
DevOps 成熟度是評估效維工具選擇的首要參考維度。不同企業(yè) DevOps 發(fā)展階段不一,為了更好地選擇適配企業(yè)實際情況的效維工具,我們需要從多維度進(jìn)行評估:
組織與文化:DevOps 需要文化與組織的變革,包括研發(fā)與運維、IT 與業(yè)務(wù)之間的隔閡及部門墻的打破。組織支持 DevOps 的力度,以及現(xiàn)階段文化與 DevOps 的匹配程度是這個維度的關(guān)鍵。
敏捷開發(fā):DevOps 是敏捷開發(fā)理念的更科學(xué)的實踐體系,因此前期敏捷做得好不好直接影響到 DevOps 的效果,兩者是相輔相成的。
CI/CD:CI/CD 不僅僅是工具或流程,更是一種方法論,“持續(xù)"是其核心。CI/CD 管控從代碼提交那一刻到代碼運行在生產(chǎn)環(huán)境的整個過程。
可視化與自動化:可視化是讓 DevOps 人性化的重要一環(huán),通過良好的可視化看板,可以快速發(fā)現(xiàn) DevOps 流程中的阻塞點和風(fēng)險點。自動化一方面是為了更快推動價值流從左向右流動,另一方面也為了將人為失誤的風(fēng)險降到最低。
運維監(jiān)控與預(yù)警:開發(fā)與運維緊密合作,甚至是一個團(tuán)隊,對于運維的監(jiān)控和預(yù)警對所有相關(guān)方可見。
持續(xù)度量與改進(jìn):DevOps 的效果也是需要度量的,“如果你無法度量它,你就無法改進(jìn)它”。DevOps 提倡更頻繁的直面問題,度量則是一種很好的方式幫助我們發(fā)現(xiàn)問題,并持續(xù)改進(jìn)。
幾乎沒有嘗試任何 DevOps 實踐,或只做了一些基礎(chǔ)的 DevOps 工作的企業(yè),適合選取更低門檻甚至是一站式的工具,功能可以比較單一,但主要注重價值流的流轉(zhuǎn)效率。而對于能成熟運用各種 DevOps 實踐的企業(yè),適合根據(jù)自己的實際需求選取特定環(huán)節(jié)的組件,并根據(jù)團(tuán)隊和組織情況進(jìn)行修改或定制。
效維團(tuán)隊的人員規(guī)模,也會影響 CI/CD 及監(jiān)控工具鏈的選擇。我們把 20 人以下的效維團(tuán)隊定義為中小團(tuán)隊,20 至百人以上定義為大型團(tuán)隊。正常來說,效維團(tuán)隊的規(guī)模也同比研發(fā)團(tuán)隊的規(guī)模。對于中小團(tuán)隊來說,選擇學(xué)習(xí)曲線低、能快速搭建且有較完備社區(qū)或官方服務(wù)提供后續(xù)支持的工具為主,容忍功能相對單一。大型團(tuán)隊因為有較充足的人力及技術(shù)實力,有條件選用有一定上手成本,但功能全面且支持深度定制甚至重構(gòu)的工具。
業(yè)務(wù)對運維服務(wù)質(zhì)量的要求,也深度影響效維工具鏈的選擇和搭建。比如金融業(yè)務(wù),對穩(wěn)定性和精確性有極高的要求,并且面臨外部強合規(guī)性的監(jiān)管,效維質(zhì)量要求較高。而其它類似推薦的業(yè)務(wù),即使出現(xiàn)問題也只是降低客戶體驗,比如展現(xiàn)相關(guān)度不高的商品或新聞,整體并不造成災(zāi)難性的后果,效維質(zhì)量就相對要求不高。
針對于效維質(zhì)量要求較高的項目,工具鏈的選擇傾向于功能覆蓋率較全,有大廠背書或業(yè)界口碑,歷史 bug 率不高的工具,整個的效維流程的時延以及效率相對較重。針對要求較低的項目,工具鏈的選擇傾向于能快速搭建,能覆蓋基本功能的工具鏈條。
企業(yè)的服務(wù)治理標(biāo)準(zhǔn)化程度也會影響效維工具鏈的選擇。服務(wù)治理標(biāo)準(zhǔn)化包括硬件的標(biāo)準(zhǔn)化、OS 的標(biāo)準(zhǔn)化、語言棧的標(biāo)準(zhǔn)化、通信協(xié)議的標(biāo)準(zhǔn)化、框架的標(biāo)準(zhǔn)化等。標(biāo)準(zhǔn)化程度較高的企業(yè),效維工具功能可以相對比較聚焦,不需要覆蓋各層級多種標(biāo)準(zhǔn)導(dǎo)致的技術(shù)復(fù)雜度。標(biāo)準(zhǔn)化程度較低的企業(yè),效維工具的體系和結(jié)構(gòu)會比較龐雜,甚至在有些鏈路環(huán)節(jié)無法做到完全統(tǒng)一和自動化,需要效維人員深度參與修改與定制。
結(jié)合以上的評估維度,我們認(rèn)為典型的公司型態(tài)包括以下三種:

創(chuàng)業(yè)型企業(yè)一般選擇此種模型,此時公司以快速迭代服務(wù)、提升開發(fā)效率為第一個原則,運維能力有限。
這種模型推薦使用如下方式搭建 DevOps 工具鏈:

圖 4 建議工具鏈
如上圖所示:
推薦使用 GitLab 代碼管理,GitLab 是企業(yè)級的開源代碼托管軟件、生態(tài)成熟、穩(wěn)定、社區(qū)龐大、使用簡單。DevOps 代碼托管流程描述如下:
1.Zadig 完成 CI/CD 流程,提供開發(fā) / 運維友好的 Web UI;
2.構(gòu)建服務(wù)鏡像,將鏡像推送到 Harbor,完成鏡像和服務(wù)版本管理;
3.將服務(wù)部署于 Kubernetes,完成服務(wù)升級。
推薦使用 Kubernetes 服務(wù)部署,Kubernetes 是 Google 開源的服務(wù)部署平臺,它具有開源、高效、穩(wěn)定、社區(qū)龐大的優(yōu)點。目前 Kubernetes 已經(jīng)成為了云原生的標(biāo)準(zhǔn)服務(wù)部署平臺,它大大減少了運維人員工作負(fù)擔(dān)。在團(tuán)隊人數(shù)較少時采用 Kubernetes,不僅節(jié)省人力、服務(wù)部署升級效率高,還具有強大的系統(tǒng)可擴(kuò)展性。采用 Kubernetes 部署服務(wù)流程描述如下:
1.使用 Kubernetes Deployment,YAML/Helm chart 部署服務(wù);
2.使用 Kubernetes NodePort Service 進(jìn)行服務(wù)發(fā)現(xiàn),這種方式簡單又高效;
3.通過 Nginx 暴露服務(wù),Nginx 掛載 NodePort Service 后端地址。
4.Kubernetes 可以使用 BridgX 搭建,BridgX 支持管理公有云和私有云計算資源,基于 BridgX 搭建的運維系統(tǒng)可擴(kuò)展性更高;
5.使用公有云計算資源底座,成本低,運維難度低。
推薦使用 CudgX + Grafana 搭建監(jiān)控系統(tǒng)
1.使用 CudgX 建立指標(biāo)體系,CudgX 是源代碼開放的智能診斷平臺,具有高可用、高性能、服務(wù)負(fù)載評估、服務(wù)冗余度保持等功能特點,采用 CudgX 存儲核心指標(biāo)為服務(wù)自動擴(kuò)縮容提供更高的可擴(kuò)展性,同時 CudgX 兼容 Prometheus 生態(tài),已有基于 Prometheus 的監(jiān)控系統(tǒng)可以平滑遷移到 CudgX 系統(tǒng)。
2.Grafana 是目前最為流行的監(jiān)控視圖軟件,并提供了簡單易用的報警功能,團(tuán)隊規(guī)模較小時采用,既不會浪費太多運維時間,又能保證服務(wù)質(zhì)量,還可以保證系統(tǒng)的可擴(kuò)展性。
采用此種監(jiān)控方案總結(jié)如下:
使用 CudgX 業(yè)務(wù)打點,同時也能使用 Prometheus + CudgX 的組合;
基于 Grafana 搭建視圖和報警功能。
此模型適合于業(yè)務(wù)穩(wěn)定性要求較高的企業(yè),此時企業(yè)一般有穩(wěn)定的服務(wù)和客戶群體,服務(wù)質(zhì)量至關(guān)重要,需要完善的 DevOps 流程保障服務(wù)更新 / 發(fā)布過程中穩(wěn)定性要求,并滿足提高開發(fā)效率的訴求。
此時推薦使用如下所示的方式搭建 DevOps 工具鏈:

圖 5 建議工具鏈
如上圖所示:
CI/CD 推薦使用 GitLab ,同時搭配 Zadig 提供易于用戶操作的 UI。采用此種代碼管理方式流程描述如下:
1.使用 Zadig 持續(xù)集成,Zadig 提供了用戶友好的 WebUI,使用 Sonar 完成代碼檢查,完成單元 /C2C 測試流程,當(dāng)所有驗證通過后觸發(fā)部署;
2.構(gòu)建服務(wù)鏡像,將鏡像推送到 Harbor,完成鏡像和服務(wù)版本管理;
3.自動灰度流量到 SchedulX 。
推薦使用 SchedulX 服務(wù)部署,原因為 SchedulX 具有完善的金絲雀發(fā)布功能,同時支持物理機和容器化部署。對于服務(wù)質(zhì)量要求較高,代碼發(fā)布、服務(wù)更新應(yīng)該有完善的灰度到全量更新流程,并且當(dāng)核心指標(biāo)異常時,應(yīng)該阻斷變更,SchedulX 配合 CudgX 可以實現(xiàn)金絲雀發(fā)布、變更阻斷、動態(tài)擴(kuò)縮容等功能,最大程度上保證服務(wù)質(zhì)量。在服務(wù)質(zhì)量要求較高的場景下,部分服務(wù)可能由于網(wǎng)絡(luò)或者資源隔離的原因,希望將服務(wù)部署在獨立的物理機中,SchedulX 既支持 Kubernetes 又支持物理機部署。采用 SchedulX 服務(wù)部署流程描述如下:
1.服務(wù)更新請求提交至 SchedulX;SchedulX 根據(jù)服務(wù)部署類型,將服務(wù)灰度部署于物理機或者 Kubernetes;
2.SchedulX 監(jiān)控核心指標(biāo),滾動發(fā)布,金絲雀發(fā)布,當(dāng)指標(biāo)異常時回滾更新操作;
3.按照服務(wù)規(guī)模和復(fù)雜程度不同,用戶可能使用微服務(wù)架構(gòu),此時服務(wù)發(fā)現(xiàn)可以基于 Consul ;
4.向外暴露服務(wù)可以通過 Nginx,向內(nèi)暴露服務(wù)可以通過 LVS;
推薦使用 CudgX + Nightingale + ELK + Jaeger + Grafana 搭建監(jiān)控系統(tǒng)。基于 CudgX 建立業(yè)務(wù)指標(biāo)體系,具有高可用、高性能、高擴(kuò)展性的特點,同時搭配 SchedulX 可以完成變更阻斷和服務(wù)自動擴(kuò)縮容,大大提供服務(wù)穩(wěn)定性。基于 Nightingale 完成基礎(chǔ)指標(biāo)監(jiān)控,可以盡早預(yù)測 / 捕獲宿主機異常,避免或降低異常影響。基于 ELK 完成日志收集,服務(wù)異常時快速定位故障環(huán)節(jié),降低故障影響。基于 Jaeger 搭建分部署追蹤系統(tǒng),快速定位系統(tǒng)瓶頸點,定位故障服務(wù)。基于 Grafana 搭建監(jiān)控視圖和報警,為服務(wù)穩(wěn)定性保駕護(hù)航。
基于此方案搭建監(jiān)控系統(tǒng)總結(jié)如下:
使用 CudgX 完成業(yè)務(wù)指標(biāo)打點與指標(biāo)收集,完成業(yè)務(wù)指標(biāo)監(jiān)控;
使用 Nightingale 完成基礎(chǔ)指標(biāo)打點與收集,完成物理機基礎(chǔ)指標(biāo)(如 CPU/Memory/ 網(wǎng)卡等)監(jiān)控;
使用 ELK 搭建日志系統(tǒng);
使用 Jaeger 搭建分布式追蹤系統(tǒng);
使用 Grafana 搭建視圖和報警系統(tǒng)。
此模型企業(yè)內(nèi)各服務(wù)和組件都趨于成熟,企業(yè)有高穩(wěn)定性要求的核心服務(wù),有專業(yè)的運維團(tuán)隊,需要完善的 DevOps 平臺來保障復(fù)雜的微服務(wù)體系下的服務(wù)質(zhì)量。企業(yè)更關(guān)注于系統(tǒng)平臺化,將各類組件分門別類組合成為系統(tǒng)平臺,并搭建 CMDB 管理服務(wù)元數(shù)據(jù),按組織架構(gòu)管理服務(wù)。
此模型下平臺化成為主題,各組件有獨立部門負(fù)責(zé)平臺支持和運維,從微服務(wù)、監(jiān)控平臺、服務(wù)部署平臺三個平臺角度看,推薦系統(tǒng)架構(gòu)如下所示:

圖 6 建議工具鏈
本文針對不同 DevOps 成熟度的企業(yè),量身推薦了持續(xù)集成、持續(xù)部署以及持續(xù)監(jiān)控的工具集合,希望能幫助廣大互聯(lián)網(wǎng)企業(yè),尤其是中小企業(yè),快速搭建起自己的效能及運維的平臺,助力企業(yè)快速交付,在日益激烈的行業(yè)競爭中收獲技術(shù)紅利。
本文大部分內(nèi)容來自《星漢未來綜合運維解決方案》白皮書,適合各公司收藏以備技術(shù)選型時參考,感興趣的可以點擊【閱讀原文】鏈接下載。
?推薦閱讀? 一步步開發(fā)CMDB和應(yīng)用發(fā)布系統(tǒng)DevOps項目 Kubernetes v1.24發(fā)布,Dockershim棄用! 新手必須知道的 Kubernetes 架構(gòu) Shell分析日志文件,全面解鎖新姿勢! 大型網(wǎng)站技術(shù)架構(gòu)設(shè)計 這篇文章帶你全面掌握 Nginx ! Linux 根分區(qū)快滿了,這個方法快速定位! 一文搞懂 Kubernetes 網(wǎng)絡(luò)通信原理 Shell 編程的經(jīng)典十三問!老司機也會翻車 SRE本質(zhì)就是一個懂運維的資深開發(fā) Kubernetes 4000節(jié)點運維經(jīng)驗分享 從網(wǎng)管到架構(gòu)師,給你分享這10年的成長感悟 Kubernetes 的高級部署策略,你不一定知道! 9個常用的Shell腳本,面試也常問! 基于Nginx實現(xiàn)灰度發(fā)布與AB測試 搭建一套完整的企業(yè)級 K8s 集群(kubeadm方式) 點亮,服務(wù)器三年不宕機


