1,了解k8s
簡單的理解,k8s就是docker容器集群的管理工具。他將容器進行更多自動化的操作,自動創(chuàng)建、自動重啟、自動擴容等,這個過程稱為容器編排。
k8s抽象了硬件資源,將N臺物理機或云主機抽象成一個資源池,容器的調(diào)度交給K8S(例如CPU 不夠用就調(diào)度到一臺足夠使用的機器上;服務(wù)因為某些原因掛了, K8S會幫我們自動遷移重啟)
2,k8s的優(yōu)點
輕量級、效率高、彈性管理(當容器增多和減少時,可以很簡單的改變資源的利用)、負載均衡。
k8s可確保各pod(包含一個或多個容器)之間的安全網(wǎng)絡(luò)通信。
k8s支持將docker容器化應(yīng)用平滑的遷移過去。
k8s還支持選擇Jenkins、GitLab?CI等工具進行CI/CD的流水線配置,實現(xiàn)流水線自動化部署。
3,了解CI/CD
CI/CD的核心概念就是持續(xù)集成、持續(xù)交付、持續(xù)部署。他可以讓自動化持續(xù)貫穿應(yīng)用的整個生命周期(從集成、測試、到交付、部署)。
CI持續(xù)集成(Continuous Integration):
為多個人員開發(fā)同一個應(yīng)用的不同模塊/功能提供了方便。每個開發(fā)人員都可以在自己的分支開發(fā)新功能,CI保證了在每個開發(fā)者將自己的代碼合并到主分支時,可以自動構(gòu)建應(yīng)用并運行不同級別的自動化測試來驗證當前開發(fā)者的修改,來確保整個應(yīng)用沒有遭到破壞。
CD持續(xù)交付(Continuous Delivery):
CD持續(xù)交付的核心是建立一個可隨時將開發(fā)環(huán)境的功能部署到生產(chǎn)環(huán)境的代碼庫。CI 在完成了構(gòu)建、單元測試、集成測試這些自動化流程后,CD持續(xù)交付可以自動把已驗證的代碼發(fā)布到存儲庫,以方便后續(xù)團隊之間部署生產(chǎn)環(huán)境。
CD持續(xù)部署(Continuous Deployment):
CD持續(xù)部署是CD持續(xù)交付的延伸,他可以將應(yīng)用自動發(fā)布到生產(chǎn)環(huán)境。意味著開發(fā)人員對應(yīng)用的改動,在編寫完成后的幾分鐘內(nèi)就能及時生效(前提是它通過了自動化測試)。
CI/CD工具:
Jenkins,CircleCI,Bamboo等
4,了解DevOps
DevOps是一個軟件開發(fā)的模式,他的目的就是為了可以更快速更可靠的構(gòu)建出高質(zhì)量的軟件。
傳統(tǒng)的開發(fā)流程是 需求分析=> 代碼開發(fā)=> 打包構(gòu)建=> 用例測試=> 上線部署=> 項目運營=> 埋點或異常監(jiān)控。對應(yīng)的崗位通常會有開發(fā)、測試、運維3個,而在DevOps出現(xiàn)后,只需1個崗位即可。
CI/CD就是DevOps開發(fā)模式的一種實現(xiàn)。
5,總結(jié)
綜上,可以基于docker、k8s、gitLab CI/CD打造一套完整的自動化構(gòu)建部署流程。可參考CI/CD系列 | 一步上手Gitlab CI/CD - 掘金文章來源:http://www.zghlxwxcb.cn/news/detail-780135.html
Gitlab CI/CD 官方文檔:docs.gitlab.com/ee/ci/文章來源地址http://www.zghlxwxcb.cn/news/detail-780135.html
到了這里,關(guān)于前端要了解的k8s、CI/CD、Devops概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!