Argo CD系列視頻配套圖文版-Argo CD初步認識

本系列課程,我們來研究 ArgoCD,我會從基礎概念講起,帶領大家搭建實驗環境,再到一個個特性的實踐講解,讓大家對 ArgoCD 有個相對全面的認識。課程實驗中,我們的模擬會盡量貼近生產環境,讓大家學到知識的同時,更獲得生產環境經驗的積累

視頻直達

ArgoCD 介紹

基於 kubernetes 的聲明式 Gitops 持續部署工具。

持續部署工具有很多,如 Jenkins 等等,我們爲什麼選擇 ArgoCD 呢?

  • 應用定義,配置和環境變量管理等等,都是聲明式的,基於雲原生的。
  • 所有聲明清單都存儲在代碼倉庫中,受版本管理
  • 應用發佈和生命週期管理都是自動化的,可審計的。

最重要的,ArgoCD 操作簡單,非常易用。

工作原理

ArgoCD 被設計並實現爲 Kubernetes 控制器,它會持續監控 ArgoCD 應用狀態。ArgoCD 中的應用會對應一個 Git 倉庫,ArgoCD 控制器確保應用狀態始終同步。此處的 Git 倉庫,並不存放項目源碼,它保存的是項目在 Kubernetes 中的運行狀態,也就是配置清單。Git 倉庫內容的組織形式,支持 Helm, Kustomize 等;

當用戶向 Git 倉庫提交合並請求,合併被受理後,Git 倉庫中應用狀態的配置清單發生變化,此時 Git 倉庫可以通過 WebHook 觸發 ArgoCD 的應用同步。如果未配置 WebHookArgoCD 會輪詢檢測 Git 倉庫的變更,檢測週期默認爲 3 分鐘。當然,用戶也可以通過 UI 或 CLI 的方式手動觸發應用同步。

ArgoCDHook 機制,會在應用狀態同步前,同步中,同步後及同步失敗後,觸發響應的鉤子方法,用來完成一些額外操作,可以實現更加複雜的應用控制。ArgoRollouts 的藍綠髮布,就非常好的利用了 hooks 機制。

ArgoCD 不僅可以將應用發佈到它所在的 Kubernates 集羣,它也可以託管其他集羣,實現多集羣的應用部署。該功能由 ApplicationSet 實現。

單點登錄:單點登錄對於企業用戶非常有必要,ArgoCD支持 oauth2ldap 等等協議,默認也支持集成 gitlabgithub, microsoft 等賬號登錄。

故障治癒: 當應用出現異常,健康檢查會觸發自動修復,保持應用狀態同步。

命令行集成:UI 界面上提供的大部分功能,都在命令行有所支持。可以方便地編寫腳本實現複雜的自動化操作。

必備知識

ArgoCD 功能強大,簡單易用,但想要真正掌握它,還需要一些基礎知識。

熟悉 kubernetes 容器編排技術

我們的應用最終會運行在 kubernetes 中,所以需要諸位對 kubernetes 的基本概念有所瞭解。比如 deployment,replicas,service 這些概念。

瞭解 github 版本管理

課程中我們使用 Github 管理清單倉庫,企業內部也可以使用 Gitlab 來管理。

熟悉 kustomize 資源編排方案

kustomize 用來組織 kubernetes 資源清單,這是 ArgoCD 官方推薦的編排方案,同時支持力度也是最好的。當然用戶也可以選擇使用 helm 來編排資源清單。

這些不但可以大大降低我們的溝通成本,而且能讓大家對 ArgoCD 的理解,更上一層樓。

社區支持

實踐過程中,如果遇到問題,不妨尋求社區的支持,如果你有一些新的想法,也可以到社區交流。大家可以到 Jenkins 中文社區論壇發帖,也可以關注我的個人微信公衆號:技術你大飛哥

結束語

ArgoCD 的介紹我們就講解到這裏,下期視頻,我們來一起手把手的教大家搭建實驗環境。還是非常希望大家能夠跟着一起動手,咱們保持實驗環境的一致性,可以避免大家被一些莫名其妙的問題打斷實踐思路


本文分享自微信公衆號 - Jenkins(Jenkins-Community)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章