Chuyển đến nội dung chính

第 28 課:帶有 ARGOCD 的 GITOPS — 架構和安裝

了解 GitOps 原理、ArgoCD 架構、安裝 ArgoCD HA、設定 Git 儲存庫、RBAC、SSO,並比較 ArgoCD 與 FluxCD。

🔒 DevSecOps — 第 28 課 第 28 課:GITOPS 與 ARGOCD — 架構與 設定

使用 Kubernetes HA 在本地部署微服務

第 7 部分:GitOps 與 ArgoCD、Helm 與保險庫

xdev.asia

🎯 課程目標__HTMLTAG_68___
  • ✅ 了解 GitOps 原則與工作流程
  • ✅ ArgoCD 架構:元件、同步流程
  • ✅ 在 Kubernetes 上安裝 ArgoCD HA__HTMLTAG_75___
  • ✅ 設定 Git 儲存庫與 SSH 金鑰
  • ✅ RBAC 和 SSO 整合
  • ✅ 比較 ArgoCD 與 FluxCD

第 1 部分:GITOPS 原理

程式碼區塊_0

GitOps 核心原則:

  1. 聲明式:Git 中所描述的期望狀態
  2. 版本化:Git 歷史記錄 = 部署歷史記錄
  3. 自動:自動套用(或核准)更改
  4. 自我修復:漂移偵測+自動校正
___HTMLTAG_89__HTMLTAG_90___功能___HTMLTAG_91__HTMLTAG_92___ArgoCD___HTMLTAG_93__HTMLTAG_94___FluxCD___HTMLTAG_95__HTMLTAG_96___ ___HTMLTAG_99__HTMLTAG_100___架構___HTMLTAG_101__HTMLTAG_102___集中式(UI + API)___HTMLTAG_103__HTMLTAG_104___分散式(每個叢集)___HTMLTAG_105__HTMLTAG_106___ ___HTMLTAG_107__HTMLTAG_108___UI___HTMLTAG_109__HTMLTAG_110___豐富的 Web UI___HTMLTAG_111__HTMLTAG_112___僅限 CLI(+ Weave GitOps UI)___HTMLTAG_113__14MLG_113__14MLG_113__14MLG_113__14 ___HTMLTAG_115__HTMLTAG_116___多集群___HTMLTAG_117__HTMLTAG_118___本機(單窗格)____HTMLTAG_119__HTMLTAG_120___每集群代理____HTMLTAG_121__HTMLTAG_122___ ___HTMLTAG_123__HTMLTAG_124___Helm 支援___HTMLTAG_125__HTMLTAG_126___是(模板渲染)___HTMLTAG_127__HTMLTAG_128___是(HelmRelease CRD)___HTMLTAG_129__1TAG_12911TAG_1291 ___HTMLTAG_131__HTMLTAG_132___自訂___HTMLTAG_133__HTMLTAG_134___是___HTMLTAG_135__HTMLTAG_136___是(本機)___HTMLTAG_137__HTMLTAG_138___ ___HTMLTAG_139__HTMLTAG_140___RBAC___HTMLTAG_141__HTMLTAG_142___內置,每個項目___HTMLTAG_143__HTMLTAG_144___K8s RBAC____HTMLTAG_145__HTMLTAG_146___ ___HTMLTAG_147__HTMLTAG_148___SSO___HTMLTAG_149__HTMLTAG_150___OIDC、SAML、LDAP___HTMLTAG_151__HTMLTAG_152___透過 K8s 驗證____HTMLTAG_153__4MLG_153__15 ___HTMLTAG_155__HTMLTAG_156___最適合___HTMLTAG_157__HTMLTAG_158___中央平台團隊____HTMLTAG_159__HTMLTAG_160___分散式團隊____HTMLTAG_161__HTMLTAG_162___

第 2 部分:ARGOCD 架構

程式碼區塊_1


第 3 部分:安裝 ARGOCD HA

程式碼區塊_2

3.1。 ArgoCD 值(生產)

___程式碼區塊_3___

程式碼區塊_4


第 4 部分:建立 ARGOCD 應用程式

程式碼區塊_5

4.1。 ArgoCD 項目

___程式碼區塊_6___

第 5 部分:應用程式集(多應用程式產生)

程式碼區塊_7


第 6 部分:通知

程式碼區塊_8


💡 重點

    ___HTMLTAG_189__HTMLTAG_190___GitOps:Git 是基礎設施的單一事實來源 ___HTMLTAG_193__HTMLTAG_194___ArgoCD:聲明式 CD、自動同步、漂移偵測、豐富的 UI ___HTMLTAG_197__HTMLTAG_198___HA 安裝:控制器、伺服器、儲存庫伺服器的 2 個以上副本 ___HTMLTAG_201__HTMLTAG_202___項目:RBAC 邊界,限制每個團隊的儲存庫/命名空間 ___HTMLTAG_205__HTMLTAG_206___ApplicationSet:從範本產生數百個應用程式 ___HTMLTAG_209__HTMLTAG_210___自我修復:自動復原手動 kubectl 變更

🎯 練習

練習 1:ArgoCD 設定

  • 安裝 ArgoCD HA
  • 新增 Git 儲存庫,建立項目
  • 透過 ArgoCD 應用程式部署範例應用程式
  • 手動編輯部署→觀看自我修復

練習 2:ApplicationSet

  • 建立基於目錄的ApplicationSet
  • 新增服務 → 自動發現與部署

📚 下一篇文章

在 第 29 課:微服務的 Helm 圖表 — 模板、值、依賴項中,我們將為整個微服務堆疊建立可重複使用的 Helm 圖表。