開發(fā)者只需要關心DEVELOPERS和圖中最右的Result部分枯怖,中間Jenkins master及其附屬配件均屬于運維開發(fā)組負責
兩個K8S集群(也可以只有一個)螃征,一個用來承載Jenkins master,另外一個用于動態(tài)的分配Slave Pod且此集群本身也可以自動伸縮
Hashicorp Vault用來存Jenkins任務需要的環(huán)境變量或者文件(環(huán)境變量和文件的動態(tài)注入不在此系列講解佛嬉,暫時忽略)
node-default/node-team1/node-team2是K8S的namespace... 均對應到Developers組名字扮授,以此分割開各個組的資源
圖中上部三個GitHub Repos都是用來配置各個組件的
China-jenkins 控制Jenkins master本身
China-jenkins-config配置Jenkins
shared-lib用于存放DIY的Jenkins函數(shù)
Jenkins服務等級
我們想把Jenkins做成產(chǎn)品級別,即使我們大部分自建Jenkins都是給自己公司內(nèi)部開發(fā)者服務侥钳,我們也盡量符合以下“產(chǎn)品標準:stability, reliability, scalability, fault-tolerance, catastrophe-preparedness, performance, monitoring, and documentation”
Production-Readiness Standards
It turns out that there is a set of eight principles that fits this criteria. Each of them is quantifiable, gives rise to a set of actionable requirements, and produces measurable results. They are: stability, reliability, scalability, fault-tolerance, catastrophe-preparedness, performance, monitoring, and documentation. The driving force behind each of these principles is that, together, they contribute to and drive the availability of a microservice.
---《Microservices in Production by Susan J. Fowler》
更多
云平臺開發(fā)運維解決方案@george.sre
GitHub: https://github.com/george-sre
歡迎交流~