基于Kubernetes的DevOps實(shí)踐之路_第1頁(yè)
基于Kubernetes的DevOps實(shí)踐之路_第2頁(yè)
基于Kubernetes的DevOps實(shí)踐之路_第3頁(yè)
基于Kubernetes的DevOps實(shí)踐之路_第4頁(yè)
基于Kubernetes的DevOps實(shí)踐之路_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于Kubernetes的DevOps實(shí)踐之路技術(shù)創(chuàng)新,變革未來(lái)云原生 Cloud NativeCNCF的云原生定義:云原生技術(shù)有利于各組織在公有云、私有云和混合云等新型動(dòng)態(tài)環(huán)境中,構(gòu)建和運(yùn)行可 彈性擴(kuò)展的應(yīng)用。云原生的代表技術(shù)包括容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎(chǔ)設(shè)施和 聲明式API。這些技術(shù)能夠構(gòu)建容錯(cuò)性好、易于管理和便于觀察的松耦合系統(tǒng)。結(jié)合可靠的自動(dòng)化手段,云原生技術(shù)使工程師能夠輕松地對(duì)系統(tǒng)作出頻繁和可預(yù)測(cè)的重大變更。12要素應(yīng)用II.依賴:顯式聲明依賴關(guān)系III. 配置:在環(huán)境中存儲(chǔ)配置后端服務(wù):把后端服務(wù)當(dāng)作附加資源構(gòu)建,發(fā)布,運(yùn)行:嚴(yán)格分離構(gòu)建和運(yùn)行VI. 進(jìn)程:以一個(gè)或多個(gè)無(wú)狀

2、態(tài)進(jìn)程運(yùn)行應(yīng)用The Twelve-Factor App ( https:/12/zh_cn/ )I.基準(zhǔn)代碼:一份基準(zhǔn)代碼,多份部署VII. 端口綁定:通過(guò)端口綁定提供服務(wù)VIII.并發(fā):通過(guò)進(jìn)程模型進(jìn)行擴(kuò)展IX.易處理:快速啟動(dòng)和優(yōu)雅終止可最大化健壯性X.開(kāi)發(fā)環(huán)境與線上環(huán)境等價(jià):盡可能的保持開(kāi)發(fā),預(yù)發(fā)布,線上環(huán)境相同XI.日志:把日志當(dāng)作事件流XII.管理進(jìn)程:后臺(tái)管理任務(wù)當(dāng)作一次性進(jìn)程運(yùn)行JFrog內(nèi)部的Kubernetes實(shí)踐我們正在做的:JFrog的應(yīng)用和服務(wù)全面Kubernetes化內(nèi)部的研發(fā)和測(cè)試環(huán)境全面Kubernetes化要解決的問(wèn)題o用戶安裝部署JFrog產(chǎn)品復(fù)雜o無(wú)法快速

3、搭建JFrog產(chǎn)品的全功能測(cè)試環(huán)境無(wú)法實(shí)現(xiàn)按需使用:開(kāi)發(fā)、測(cè)試、技術(shù)支持、產(chǎn)品、解決方案。任意團(tuán)隊(duì)無(wú)法為每個(gè)分支提供獨(dú)立的CI/CD流水線支撐無(wú)法讓研發(fā)有獨(dú)立的沙箱環(huán)境進(jìn)行自測(cè)CI/CD流程混亂實(shí)踐的成果為客戶提供全產(chǎn)品線的Helm Charts交付方式Helm install stable/Artifactory-ha云端服務(wù)Kubernetes化GoCenter: http:/gocenter.ioo產(chǎn)品的CI/CD直接對(duì)接到Kubernetes環(huán)境每周部署100+不同產(chǎn)品線、任意版本組合的測(cè)試環(huán)境,每次部署超過(guò)50種微服務(wù)為每個(gè)研發(fā)、每個(gè)分支,按需提供完全獨(dú)立的測(cè)試環(huán)境Kubernete

4、s is hard!分享要點(diǎn)起步:熟悉Kubernetes規(guī)劃:面向Kubernetes的改造編排:Helm Charts部署:自動(dòng)、監(jiān)測(cè)安全:DevSecOps起步:熟悉Kubernetes 從小處入手o第一個(gè)Kubernetes環(huán)境自己探索:Kubernetes The Hard Way,Kelsey Hightower(/kelseyhightower/kubernetes-the-hard-way)公有服務(wù): GKE、 EKS、 AKS、阿里、騰訊、。私有部署:miniKube、Rancher、。第一個(gè)Kubernetes應(yīng)用從小的示例應(yīng)用開(kāi)始,如Nginx每次只設(shè)定一個(gè)小的、具體的目

5、標(biāo)充分利用現(xiàn)有的教程和演示應(yīng)用改造容器化改造僅僅把應(yīng)用裝進(jìn)Docker是遠(yuǎn)遠(yuǎn)不夠的日志STDOUT/STDERR處理足夠多的日志文件持久化數(shù)據(jù)哪些數(shù)據(jù)需要持久化存儲(chǔ)?合理地處理SIGTERM信號(hào)Shutdown必須是受控的Recovery必須是容易的重啟如何處理上一次運(yùn)行的遺留數(shù)據(jù)?應(yīng)用改造高可用架構(gòu)高可用將是新的標(biāo)準(zhǔn)配置保證良好的持久性和可用性支持同時(shí)運(yùn)行多個(gè)應(yīng)用實(shí)例支持負(fù)載均衡Scale-up、Scale-down必須是順暢的不停機(jī)的滾動(dòng)升級(jí)保證向后兼容K8s調(diào)整中的0宕機(jī)Cluster Scale-up、Scale-down計(jì)劃中的Node維護(hù)非計(jì)劃的Node宕機(jī)配置改造資源限制運(yùn)行環(huán)境

6、的資源使用必須是受限的Pod的資源限制!應(yīng)用本身也需要資源限制改造requests/limits跨Node的HAOut Of Resource Handling(https:/kubernetes.io/docs/tasks/administer-cluster/out-of-resource/)Pod Priority and Preemption(https:/kubernetes.io/docs/concepts/configuration/pod-priority-preemption/)resources: requests: memory: 1Gi cpu: 100m limits

7、:memory: 2Gicpu: 250m.配置改造探針應(yīng)用的運(yùn)行狀態(tài)必須有可信的健康數(shù)據(jù)o readinessProbeo livenessProbe探針類型Http - return Pre-Prod-ProdMicro-B-bundle-2.0分級(jí)Metadata Metadata: app-1.0.qa.test.result = OKMicro-Abundle-1.0Front-1.0.tarSIT - UAT - Pre-Prod-ProdBackend-2.0.jar分級(jí)MetadataMetadata: micro-a-1.0.qa.test.result = OKbacken

8、d-1.0.jarMetadata:qa.test.result = OK qa.code.result = OK project.revision = ASDASSACbinary.config.path=backend/dev/1.0 deploy.pre-prod.result=OKLocal - Dev流程:應(yīng)用監(jiān)測(cè)需要新的監(jiān)測(cè)手段ossh不管用了o直接用kubectl調(diào)試也是不合適的oDev/Ops應(yīng)該能方便地訪問(wèn)可信的數(shù)據(jù)監(jiān)視日志o基于可控的OOB(Out-of-Band)工具o微服務(wù)監(jiān)測(cè)的基本原則( https:/thenewstack.io/five-principles-mo

9、nitoring-microservices)流程:應(yīng)用監(jiān)測(cè)監(jiān)視oPrometheusoGraphana流程:應(yīng)用監(jiān)測(cè)日志oEFKFluentdElasticSearchKibana安全:DevSecOps安全:DevSecOps你的應(yīng)用你的代碼安全:DevSecOps安全:外部依賴的安全漏洞oDocker30%的DockerHub上的鏡像有安全漏洞oNPM14%的NPM包有安全漏洞oMaven59%的已知安全漏洞還沒(méi)有解決MTTR(平均修復(fù)時(shí)間):290天CVSS10: 265天安全:DevSecOpsCommitBuild Image Helm ChartSecurityScanningUpload Artifact to ArtifactoryDeployMonitorTest(AutomatedManual)安全:DevSecOps掃描、定位、分析安全:DevSecO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論