成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spinnaker 與 Argo CD:持續交付的最佳工具

開發 開發工具
Spinnaker 和 Argo CD 是用于轉換軟件交付流程的最受歡迎的工具。讓我們更深入地研究 Spinnaker 和 Argo CD 何時有意義。
Spinnaker 和 Argo CD 是用于轉換軟件交付流程的最受歡迎的工具。讓我們更深入地研究 Spinnaker 和 Argo CD 何時有意義。

Argo CD介紹

采用容器已成為企業快速推出新應用程序更改、高效部署和安全運行應用程序的常用策略。

如今,為實現這些目標,許多企業正在采用持續交付 (CD),以便快速、頻繁且安全地將更改部署到生產中。

許多 CD 工具用于將軟件交付生產。市場上一些最常見的工具是:

  • 大三角帆
  • 阿爾戈光盤
  • 特克頓CD
  • GitLab
  • Azure 開發運營

Spinnaker 和 Argo CD 是轉換軟件交付流程的最佳工具,因此我們經常被要求描述它們之間的差異并評估哪個更好。簡短的回答是,這取決于每個客戶的具體情況和要求。但這不是一個令人滿意的答案,所以讓我們更深入地研究 Spinnaker 和 Argo CD 何時有意義。

Spinnaker 和 Argo CD 的快速介紹

Spinnaker

Spinnaker 是一個開源的多云 CD 平臺,用于高速和自信地發布軟件變更。

Spinnaker 提供了一個強大而靈活的管道管理系統,許多財富 500 強公司使用該系統每年部署數百萬次變更。

請參考 Spinnaker 用戶界面:

ArgoCD

ArgoCD 是一個用于 Kubernetes 應用程序的聲明式 CD 工具,它使用 GitOps 風格來管理集群資源。Argo CD 監控 Git 存儲庫中定義的應用程序配置,并將其與集群中的實時狀態進行比較。當開發人員更改 Git 中的應用程序定義時,Argo CD 會檢測并通知管理員有關不同步的狀態。如果管理員批準更改,ArgoCD 會使用新定義的配置在 Kubernetes 集群中創建資源。

參考 Argo CD 用戶界面:

Spinnaker 與 Argo CD 的比較

我們從四個維度對 Spinnaker 和 Argo CD 進行了評估:安裝和實施、部署、復雜的工作流程和安全性。

表格比較:Spinnaker 與 Argo CD

安裝與實施

安裝

任何企業可視化的首要參數之一是 Day1 操作,其中包括先決條件、安裝、配置和體系結構。

Argo CD 非常輕巧,可以使用清單或 HELM 圖表(具有 2GB 內存和 2 個 CPU)安裝在 minikube 中,而 Spinnaker 功能豐富,因此非常笨重。

安裝 Halyard(Spinnaker 的生命周期管理器)至少需要 12GB 的內存(盡管對于小型設置它可以在 1GB 中運行)。此外,Spinnaker 需要一個具有四個內核和 16GB RAM 的 Kubernetes 集群。

從安裝的角度來看,Spinnaker 和 Argo CD 都有詳細的文檔記錄,只需幾條命令即可在幾分鐘內輕松安裝。兩種 CD 工具都提供容錯、高可用性架構,以最大限度地減少軟件部署期間的服務中斷。

學習曲線和企業范圍內的采用

肯定有助于企業擴大采用 CD 解決方案的另一個因素是學習曲線。

由于 Spinnaker 功能豐富,具有許多功能和組件,DevOps 團隊必須學習如何配置管道或將其部署到多云環境等。許多 Spinnaker 資源、文檔、視頻和企業 Spinnaker 插件可用于DevOps 團隊縮短他們的學習曲線,并使他們能夠在生產中逐步采用它。

相比之下,Argo 是一種僅限于 Kubernetes 應用程序部署的輕量級 CD 解決方案。如果您需要 Kubernetes 的 CD 解決方案,您可以使用 Argo CD 快速設置。但是,在生產部署中,Argo CD 可能無法滿足 DevSecOps 經理為生產部署設置的所有安全性和合規性要求。

需要集中式和生產就緒 CD 解決方案來處理各種應用程序類型和部署目標的組織應該尋找提供生產就緒 Spinnaker 和生產就緒 Argo CD 解決方案的供應商,這些解決方案是安全的、可擴展的、可擴展的、強化的和 Fedramp-合規,根據您組織的要求。

部署

Argo CD 遵循 GitOps 風格的部署,即,它將 Git 視為真實來源,并監控存儲庫中的清單文件中的任何更改,以便在 Kubernetes 中部署應用程序。清單可以在文本文件或 JSON 文件、Kustomize 應用程序、HELM 圖表、ksonnet 應用程序或 jsonnet 文件中指定。

Argo CD 旨在僅與 Kubernetes 應用程序和服務一起使用。Argo CD 跟蹤對分支或標簽的更新,或者在 Git 提交時固定到特定版本的清單,并將更改部署到 Kubernetes 中。來自 Git 存儲庫的 Kubernetes 清單應用于您的集群配置,Argo 將努力確保您的存儲庫和集群始終保持同步。

如果目標環境因任何原因發生變化,Argo CD 也可以重新發布 Git 狀態到目標環境。

Argo CD 提供了一個 UI 來展示更改的部署狀態(并且取決于與 Git 更改的同步)。請參考下圖:

Spinnaker 不支持 GitOps 交付方式;但是,還有一種替代方法可以使用供應商增強的解決方案來實現它。Spinnaker 為應用程序交付提供聲明式管道。部署到公共云或 Kubernetes 的 DevOps 工程師選擇 Spinnaker 管道。通過使用管道,Spinnaker 可以將應用程序部署到任何本地虛擬機 (VM) 或云數據中心,如 AWS、GCP、Azure 和 Kubernetes。Spinnaker 管道的最佳部分是您可以為順序發布過程配置階段。

請參閱下面的屏幕截圖,其中執行了 Spinnaker 管道(用于 AWS 部署):

想要將 GitOps 風格的交付模型與 Spinnaker 結合使用的開發人員可以對管道進行 hack。他們需要在 Git 中配置觸發器以在對 Git 中任何代碼的任何提交上執行管道。這種實現 GitOps 的 hack 稱為托管交付。

可以在文本文件或 JSON 文件、Kustomize 應用程序、HELM 圖表或 Spring Spel 模板中指定清單文件。對 Git 中清單文件的任何更改都會觸發 Spinnaker 管道進行部署。應用程序部署跟蹤分支或標簽的更新,或者在 Git 提交時固定到特定版本的清單。可以調用 Spinnaker API 來創建和管理基礎設施(安全組、負載平衡器、防火墻)和流程部署。

請參考下面的屏幕截圖,其中根據 Git 更改調用 Spinnaker 管道:

對于大型組織,Spinnaker 通過在 Spinnaker 管道中配置一系列階段來構建端到端的交付工作流程非常方便。這些階段的Webhooks可以自動執行一個發布過程的許多活動,例如Jenkins構建作業、部署到測試環境、觸發自動化測試用例或部署到登臺和生產環境等。手動判斷和驗證門也可以配置為同一管道的一部分,以確保自動化和無風險的發布過程。下面,圖 A 表示使用 Spinnaker 的企業軟件交付流程的編排,圖 B 表示一個示例 Spinnaker 管道,它自動執行各個交付階段——構建、測試、部署和生產:

圖A:

圖B:

為了安全部署,Spinnaker 和 Argo (Argo Rollouts) 都提供了內置的部署策略,例如 highlander、藍綠、滾動更新和金絲雀。

申請變更

Spinnaker 和 Argo CD 支持本地和托管 Kubernetes。這兩種工具都支持將應用程序部署到托管 Kubernetes (EKS/GKE/AKS) 中。Argo CD 直接根據配置更改進行部署,而 Spinnaker 使用交付管道進行部署。

如果您有一些應用程序托管在本地或托管的 Kubernetes 集群中,并且仍在進行一些云轉換,那么 Argo CD 可能非常適合您。但是,如果您想構建一個無縫的工作流來自動化交付流程,包括測試集成、批準門(手動或自動)、集成圖像構建以及對混合或多云環境部署的可見性,那么選擇 Spinnaker 進行持續交付.

通過復雜的工作流程在企業范圍內擴展

基于虛擬機的部署

每個企業都將應用程序部署到 VM——通過 GCP、AWS 或不同的云部署到云,或者部署到本地數據中心 VM。標準做法是為應用程序所需的環境創建規范——操作系統版本、二進制文件、存儲、網絡、庫、應用程序、壓縮文件等,以創建 VM。這也稱為 VM bakery,基礎設施團隊在這里制作整體環境的快照并將其保存在類似于 AMI 存儲的東西中。一旦圖像準備就緒,就可以創建多個圖像——甚至多達數萬個圖像——以滿足應用程序的要求。該過程也稱為不可變基礎架構,用于避免配置漂移。

Spinnaker 使用 HELM 圖表來烘焙 Kubernetes 清單文件。同樣,它使用打包程序模板(在引擎蓋下)來烘焙 VM 映像。交付管道完成后,Spinnaker 可以在目標環境(從云到本地 VM,再到裸機服務器)中配置這些 VM(連同負載均衡器、防火墻等)。這有助于基礎架構團隊利用 Spinnaker 來編排基于 VM 的部署。這種將更新部署到 Kubernetes 服務和基于 VM 的應用程序的能力是許多組織選擇在 Spinnaker 上進行軟件部署標準化的重要原因之一。

此外,Spinnaker 提供單一管理平臺,您可以在其中查看和控制您的資源。開發和運維團隊無需登錄不同的 UI 或公有云即可了解資源狀態。

Argo CD 目前不包括供應基礎設施。但這里的技巧是使用像 Crossplane 這樣的外部開源軟件來組裝和管理任何公共云的基礎設施。

穩定性和性能

在處理多個應用程序部署和在企業范圍內擴展 CD 解決方案時,Spinnaker 和 Argo CD 存在一些性能問題。

例如,根據路線圖部分的 Argo 文檔,Argo 在處理超過 1,000 個 Kubernetes 應用程序時變得非常慢。此外,要采用 100 個以上的 Kubernetes 集群,您必須增加 Argo CD 控制器的副本數量(即水平擴展)并配置 Argo 以進行自動分片(以在所有 Argo CD 控制器之間分配工作負載)。Argo CD 在配置為在單個存儲庫中處理 50 多個應用程序時也存在問題——具體來說,它可能無法正確生成清單。

使 Argo CD 軟件適合生產——例如使其高度可用——是很棘手的。Argo 為 Prometheus 發布指標(包括計數器和儀表類型)以衡量 Argo CD 系統性能問題。但在開發 Argo CD 對其他監控系統(如 Datadog、NewRelic、Dynatrace 等)的支持時,挑戰就出現了。

通知

反饋和通知是持續集成/持續交付 (CI/CD) 流程的重要組成部分。任何 CD 工具都需要廣泛涵蓋用于在 DevOps 環境中進行通信的各種工具。Spinnaker 和 Argo CD 都提供與第三方協作工具的集成。

Argo CD 通過電子郵件、GitHub、Slack、Mattermost、OpsGenie、Telegram 和 Microsoft Teams 提供通知。要啟用通知,您必須安裝 Argo Notification。您可以將 Argo Notification 與其他產品(例如 Argo Rollout)一起使用,以獲取有關部署狀態的實時信息。

Spinnaker 支持通過電子郵件發送通知,并提供與許多協作和服務管理工具的集成,例如 Slack、ServiceNow、JIRA、Twilio、PagerDuty、Microsoft Teams 等。

批準

Argo CD 使管理員能夠在 Git 中的更改被識別后立即批準部署。軟件交付各個階段的手動判斷步驟需要在 Argo CD 中進行大量配置和腳本編寫。

類似地,可以在 Spinnaker 流水線中配置手動判斷階段。盡管如此,它仍然需要付出大量的努力來建立高級判斷,例如基于各種 CI/CD 數據的自動批準或新版本的風險。

供應商支持的解決方案匯集了 CD 軟件的最佳功能,使管理員能夠在整個過程的任何階段快速批準更新升級,通常是在集成測試、暫存和生產之前。一些解決方案更進一步,允許項目或發布經理通過提供有關構建、測試、票證狀態等的 360 度信息來做出明智的批準。發布經理可以做出快速和明智的決策來推進管道。請參考下圖。

以這種方式完成的部署更安全,因為可以更清楚地了解所涉及的各個階段。數據驅動的批準還使公司能夠更有信心地部署到生產中。

企業支持

Spinnaker 和 Argo CD 從開源社區獲得升級和補丁修復的支持。一些供應商提供企業支持以緩解漏洞和合規性問題。通過選擇為這些開源社區做出貢獻的供應商,您可以確保獲得所需的專家幫助。

如需 Argo CD 支持,請訪問此處,或在此處找到Argo slack 頻道。如需 Spinnaker 支持,請加入Spinnaker 頻道。

如果您是愛好者,可以繼續關注并參加 ArgoCon 和 Spinnaker 峰會,結識從事 CI/CD 項目的志同道合的 DevOps 人員。

安全

企業正在采用新的 DevSecOps 文化來加強 CI/CD 管道中的安全性。這種左移心態要求組織考慮安全團隊的要求,例如適當的身份驗證、授權、安全連接等等。Spinnaker 和 Argo 都提供身份驗證,支持 LDAP 和 SAML 協議,并通過 RBAC 進行授權。

安全

Argo CD 經過了安全審查和滲透測試,并消除了產品本身的所有漏洞。

Argo CD 通過 JSON Web 令牌提供身份驗證,通過 RBAC 策略提供授權。不同服務(argoCD-server、argocd-repo-server、
argoCD-application-controller)之間的通信通過 TLS 進行保護。Argo CD 還通過將外部集群的憑據存儲在 Kubernetes 秘密中來提供秘密管理。Argo CD 對如何管理秘密沒有意見。

Spinnaker 還為企業提供高安全標準,以應對內部或外部威脅。它支持各種協議,如 RBAC、LDAP、OAuth 和 MFA,以進行適當的授權和身份驗證。由于支持 mTLS 和基于 X.509 證書的通信,Spinnaker 被認為是最安全的 CD 工具之一。此外,Spinnaker 直接不鼓勵您以純文本形式存儲秘密、令牌、密碼和類似的敏感信息,而是提供與 Git、S3 和 Vault 的集成來保存此類信息。

政策與合規

開源 Spinnaker 通過與 Open Policy Agent (OPA) 集成來促進自動策略執行,OPA 是一種指定策略的標準。政策經理現在可以使用聲明性語言輕松定義政策,并使用管道在部署或發布過程中實施規則。這有助于組織確保 100% 遵守 HIPAA、GDPR、SOX 和內部最佳實踐等行業標準。

審計

Spinnaker 和 Argo CD 都提供審計功能。

要審計 Argo CD 中的部署活動,您需要連接外部工具,如Event Exporter、Event Router或ElasticSearch。要解決問題,DevOps 團隊需要配置解決方案以獲取審計日志并存儲所有事件日志。

Spinnaker 有一種機制來存儲有關管道運行和部署的日志信息。借助 Spinnaker,審計人員可以快速調查有關部署的所有活動。

持續驗證

在 DevOps 中成熟的組織經常尋求通過適當評估每次更改的質量和性能來最大程度地降低生產中新版本的風險。這稱為持續驗證。Spinnaker 和 Argo CD 都沒有提供任何開箱即用的功能來從外部來源獲取日志或指標數據,或者為您提供可以幫助您做出部署決定的信息。但是,一些供應商增強的解決方案可以在不同的交付階段驗證新版本。

最終總結

我們基于企業關心的四個廣泛維度對 Spinnaker 和 Argo CD 進行了評估:

  • 安裝與實施
  • 部署
  • 維護和可擴展性
  • 安全

在某些方面,例如實現,Argo CD 可以比 Spinnaker 更快。在其他方面,例如部署能力,只有 Spinnaker 能夠為 DevOps 和安全管理者提供全面的能力。

Spinnaker 和 Argo CD 是為不同的目的而設計的。Argo 主要用于僅部署到 Kubernetes 的 DevOps 團隊。Spinnaker 被設計為一個企業平臺,可以處理對所有類型目標的部署,并簡化和自動化損壞的軟件發布流程。


責任編輯:華軒 來源: 今日頭條
相關推薦

2021-07-04 07:24:48

GitOps 工具 Argo CD

2021-04-23 08:00:00

Kubernetes容器工具

2022-08-16 22:39:01

Argo CDKubernetes

2021-03-31 09:00:00

管道集成工具

2021-07-09 06:40:59

TektonArgo CD GitOps

2021-06-18 09:00:00

云計算開發存儲庫

2017-02-27 18:50:42

運維持續交付

2023-02-20 08:02:38

智能自動化交付

2023-01-16 08:00:00

2021-07-23 10:17:17

網絡攻擊存儲供應鏈

2018-06-20 09:00:00

DevOps持續交付測試工具

2025-01-07 00:00:15

Jenkins集成服務器

2017-02-27 18:28:45

持續交付部署

2022-04-20 09:00:00

軟件開發自動化測試工具

2022-02-17 11:52:05

?Argo CD漏洞Kubernetes

2016-01-07 10:29:36

MesosDocker持續交付

2023-07-27 08:03:04

2016-08-09 09:12:55

云計算

2017-12-24 21:29:18

OpenShift持續交付集群

2015-07-22 14:59:30

OpenStac持續集成持續交付
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲毛片在线 | 福利成人 | 国产精品久久av | av香港经典三级级 在线 | 欧美日韩一二三区 | 在线观看黄免费 | 亚洲精品小视频在线观看 | 欧美99 | 91综合网 | 毛片站 | 成人高清在线 | 久久国产日韩 | 视频在线h | 免费看黄色国产 | 国产玖玖| 黄色成人免费看 | 久久99精品久久久久子伦 | 成人精品网 | 久草视频观看 | 欧美一区二区三区大片 | 午夜精品视频在线观看 | 国产激情免费视频 | 成人激情视频免费观看 | 九九久久久 | 香蕉一区二区 | 欧美婷婷| 成人免费淫片aa视频免费 | 男人av网 | 亚洲精品乱码久久久久久9色 | 999re5这里只有精品 | 超碰电影 | 国产电影一区二区三区爱妃记 | 亚洲嫩草| 国产成人a亚洲精品 | 亚洲精品久久久 | jav成人av免费播放 | 久久久高清 | 欧美激情综合色综合啪啪五月 | 国产精品一区二区三区四区 | 日韩在线视频一区 | 毛片一级电影 |