偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

DevOps優(yōu)秀實踐和工具在本地環(huán)境中的概述

開發(fā)
如果您正在遵循敏捷方法,開發(fā)團隊可以處理CI部分,運維團隊可以處理CD部分,監(jiān)控團隊可以處理CM部分。這些團隊合作,以確保服務(wù)的可靠性。

最近,我進行了一次網(wǎng)上搜索,以尋找DevOps的概述,盡管有大量的DevOps工具和實踐,但我無法找到一個綜合的概述。因此,我開始了對DevOps生態(tài)系統(tǒng)和最佳實踐的梳理,以創(chuàng)建一個整體視圖,方便后續(xù)研究實踐。

CI(持續(xù)集成)

這個圖表的CI部分包括以下組件:

  • 代碼倉庫:在圖表中,我使用了GitLab作為源代碼控制和代碼倉庫,因為它在倉庫管理方面具有用戶友好的界面。它允許以分層方式創(chuàng)建組和子組,有效地控制團隊結(jié)構(gòu)。
  • 構(gòu)建工具:圖表中也使用了GitLab作為構(gòu)建工具。它提供了廣泛的功能,用于編寫代碼管道,并支持模板化。
  • 自動化測試:雖然有許多端到端測試框架可用,但目前在社區(qū)中最流行的是Cypress。對于自動化安全測試,您還可以使用GitLab,它提供了全面的工具集,供您使用。
  • 構(gòu)件庫:為了存儲Docker鏡像或Helm圖表,我集成了Harbor作為構(gòu)建庫。盡管有基于云的選項,但在空隙環(huán)境中使用諸如Harbor之類的工具是必需的。

我將CD存儲庫與源代碼存儲庫分開,因為需要多個環(huán)境來為多個客戶提供服務(wù)。然而,如果您的每個產(chǎn)品沒有多個環(huán)境,您可以將它們合并到一個存儲庫中。

  • 基礎(chǔ)設(shè)施即代碼:為了創(chuàng)建基礎(chǔ)設(shè)施(VM)和平臺(Kubernetes),使用像Terraform這樣的工具是必不可少的,它可以輕松創(chuàng)建。雖然還有其他選擇,比如Ansible或Puppet,但這些工具不支持聲明性格式。我強烈建議使用Terraform和GitLab來存儲您的IAC狀態(tài)。
  • 部署服務(wù):我將GitLab作為部署服務(wù),用于存儲每個應(yīng)用程序的環(huán)境配置文件。您可以在GitLab內(nèi)創(chuàng)建一個Git存儲庫,存儲您的配置文件,并定義一個管道,以將Helm圖表部署到Kubernetes集群。雖然還有其他選擇,比如Spinnaker,但我發(fā)現(xiàn)它相當(dāng)復(fù)雜,具有許多可能對您的用例不必要的功能。

CM(持續(xù)監(jiān)控)

CM(持續(xù)監(jiān)控)部分包括以下組件和關(guān)系:

度量服務(wù)器:在圖表中,我使用Prometheus作為度量服務(wù)器,用于收集和存儲來自應(yīng)用程序、平臺和基礎(chǔ)設(shè)施的度量。

日志服務(wù)器:我使用了社區(qū)中廣受歡迎的ELK堆棧(Elasticsearch + Logstash + Kibana)來收集和存儲日志。它提供了廣泛的功能,可以根據(jù)收集的日志增強分析儀表板。

跟蹤服務(wù)器:對于跟蹤服務(wù)器,我選擇了Jaeger。雖然還有另一個選項Zipkin,但我個人推薦Jaeger,因為它是一個較新的項目,擁有更大的社區(qū)。如果您想了解如何從應(yīng)用程序發(fā)送跟蹤到Jaeger,可以查看我關(guān)于這個主題的另一篇文章:

基礎(chǔ)設(shè)施監(jiān)控:有許多可用于基礎(chǔ)設(shè)施監(jiān)控的工具,每個工具都有其自己的優(yōu)缺點。然而,我選擇了Zabbix,因為它是一個具有全面監(jiān)控能力的開源項目。它是一個基于代理的工具,雖然還有一些無代理的替代方案。一些公司選擇使用SolarWinds作為替代方案。

自動縮放器:Keda項目專門設(shè)計用于基于Kubernetes中不同指標的Pod自動縮放。它支持各種類型的應(yīng)用程序,并從中收集指標以便于自動縮放。此外,還有其他工具可用于根據(jù)Prometheus收集的指標自動縮放基礎(chǔ)設(shè)施和平臺資源(如VM數(shù)量或Kubernetes工作節(jié)點)。

警報管理器:警報管理器工具應(yīng)能夠從不同系統(tǒng)收集和去重警報。Alertmanager是Prometheus開源團隊開發(fā)的一個工具,可以接收來自各種監(jiān)控工具(如Prometheus、Zabbix和Elasticsearch)的警報。它能夠根據(jù)預(yù)定義的規(guī)則和配置對這些警報進行分組、去重和過濾。此外,它還支持各種通知機制,可以將警報發(fā)送給支持團隊,包括電子郵件、PagerDuty、Slack和其他自定義集成。

結(jié)論

總體而言,如下所示:

這些系統(tǒng)共同工作,以確保生產(chǎn)環(huán)境的可靠性和彈性。CI + CD + CM的組合促進了不同團隊之間更好的協(xié)作。如果您正在遵循敏捷方法,開發(fā)團隊可以處理CI部分,運維團隊可以處理CD部分,監(jiān)控團隊可以處理CM部分。這些團隊合作,以確保服務(wù)的可靠性。

責(zé)任編輯:趙寧寧 來源: 小技術(shù)君
相關(guān)推薦

2019-01-16 09:00:00

DevOps性能測試軟件

2022-03-11 18:30:39

DevOps軟件開發(fā)

2022-11-30 10:34:17

2020-12-16 08:23:06

DevOps容器安全容器

2023-09-22 10:12:57

2024-11-27 15:58:49

2024-10-29 20:58:38

2023-09-27 23:57:21

2022-05-30 07:48:11

DevOps測試策略

2022-03-22 13:45:10

云計算混合云工具

2022-09-01 08:50:22

kubernetes容器

2023-10-10 10:27:37

DevOps

2024-01-22 12:46:00

KubernetesAPI接口

2019-09-19 17:19:47

DevOps工具運維

2024-01-12 09:30:09

CDC變更數(shù)據(jù)捕獲系統(tǒng)

2022-03-24 09:00:00

DevOps開發(fā)IT

2023-02-09 08:00:37

DevOps工具建木

2022-05-27 05:42:34

容器云安全

2024-11-18 16:03:36

2020-02-07 10:46:43

多云云計算混合云
點贊
收藏

51CTO技術(shù)棧公眾號