🎯 課程目標__HTMLTAG_68___
- ✅ 了解 GitOps 原則與工作流程
- ✅ ArgoCD 架構:元件、同步流程
- ✅ 在 Kubernetes 上安裝 ArgoCD HA__HTMLTAG_75___
- ✅ 設定 Git 儲存庫與 SSH 金鑰
- ✅ RBAC 和 SSO 整合
- ✅ 比較 ArgoCD 與 FluxCD
第 1 部分:GITOPS 原理
程式碼區塊_0
___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___GitOps 核心原則:
- 聲明式:Git 中所描述的期望狀態
- 版本化:Git 歷史記錄 = 部署歷史記錄
- 自動:自動套用(或核准)更改
- 自我修復:漂移偵測+自動校正
第 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 圖表。