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

基于Tekton和ArgoCD的GitOps實戰

運維
實現GitOps的工具有很多,Tekton和Argo CD就是后起之秀的代表。

隨著云原生持續升溫,CI/CD成為了人們討論的焦點,GitOps就是云原生的一種持續交付模式,它將應用系統的聲明性基礎架構和應用程序存放在Git的版本控制庫中。

實現GitOps的工具有很多,Tekton和Argo CD就是后起之秀的代表。

一、Tekton

Tekton是一個強大而靈活的開源框架,用于創建CI/CD系統,通過Operator的方式集成到k8s集群中,并以容器作為驅動,完成流水線模版定義的任務,社區也提供了很多任務模版來方便使用。

Tekton 為 CI/CD 系統提供了諸多好處(主要用于CI):

  • 可定制:Tekton 是完全可定制的,具有高度的靈活性,我們可以定義非常詳細的構建塊目錄,供開發人員在各種場景中使用。
  • 可重復使用:Tekton 是完全可移植的,任何人都可以使用給定的流水線并重用其構建塊,可以使得開發人員無需"造輪子"就可以快速構建復雜的流水線。
  • 可擴展:Tekton Catalog 是社區驅動的 Tekton 構建塊存儲庫,我們可以使用 Tekton Catalog 中定義的組件快速創建新的流水線并擴展現有管道。
  • 標準化:Tekton 在你的 Kubernetes 集群上作為擴展安裝和運行,并使用完善的 Kubernetes 資源模型,Tekton 工作負載在 Kubernetes Pod 內執行。
  • 伸縮性:要增加工作負載容量,只需添加新的節點到集群即可,Tekton 可隨集群擴展,無需重新定義資源分配或對管道進行任何其他修改。

Tekton為Kubernetes提供了多種CRD資源對象,可用于定義我們的流水線,主要有以下幾個:Task、TaksRun、Pipeline、PipelineRun和PipelineResource。

  • Task:Task 為構建任務,是 Tekton 中不可分割的最小單位,正如同 Pod 在 Kubernetes 中的概念一樣。在 Task 中,可以有多個 Step,每個 Step 由一個 Container 來執行。
  • TaskRun:PipelineRun 被創建出來后,會對應 Pipeline 里面的 Task 創建各自的 TaskRun。一個 TaskRun 控制一個 Pod,Task 中的 Step 對應 Pod 中的 Container。當然,TaskRun 也可以單獨被創建。
  • Pipeline:Pipeline 由一個或多個 Task 組成。在 Pipeline 中,用戶可以定義這些 Task 的執行順序以及依賴關系來組成 DAG(有向無環圖)。
  • PipelineRun:PipelineRun 是 Pipeline 的實際執行產物,當用戶定義好 Pipeline 后,可以通過創建 PipelineRun 的方式來執行流水線,并生成一條流水線記錄。
  • PipelineResource:表示Pipeline輸入資源,比如GitHub上的源碼,或者Pipeline速輸出資源,例如一個容器鏡像或者構建生成的jar包等。

二、Argo CD

Argo CD 從名字就能看出(有個 CD),它側重于持續部署這一塊兒,因而CD部分使用Argo CD來完成。

Argo CD是用于Kubernetes的聲明性GitOps持續交付工具,可以在指定的目標環境中自動部署所需的應用程序狀態,應用程序部署可以在Git提交時跟蹤對分支,標簽的更新或固定到清單的特定版本。

Argo CD的主要功能

  • 可搭配使用各種配置管理工具(如 ksonnet/jsonnet、Helm 和 kustomize)使應用程序與 Git 中定義的保持一致;
  • 將應用程序自動部署到指定的目標環境;
  • 持續監控已部署的應用程序;
  • 基于 Web 和 CLI 的操作,以及應用程序可視化;
  • 部署或回滾到 Git 倉庫中提交的應用程序的任何狀態(這也是使用 Git 進行版本管理的一大好處);
  • PreSync、Sync、PostSync hooks 以支持復雜的應用程序部署策略(例如:blue/green 、canary upgrades);
  • SSO 集成(OIDC、LDAP、SAML 2.0、GitLab、Microsoft、LinkedIn),這些是企業比較需要的功能;
  • Webhook 集成(GitHub、BitBucket、GitLab)。
  • 可以獨立使用,也可以作為現有 Pipeline 的一部分使用,例如與 Argo Workflow、Jenkins 以及 GitLab CI 等配合使用;

Aego CD中的幾個主要組件:

  • API服務:API服務是一個gRPC/REST服務,它暴露了Web暴露了 Web UI、CLI 和 CI/CD 系統使用的接口。
  • 倉庫服務:存儲倉庫服務是一個內部服務,負責維護保存應用程序清單Git倉庫的本地緩存。
  • 應用控制器:應用控制器是一個Kuberntes控制器,他持續watch正在運行的應用程序并將當前的實時狀態與所期望的目標狀態進行比較。

三、總結

目前,很多敏捷和DevOps實踐已經被廣泛應用,一條條CI/CD流水線已經被建立起來,我們已經也有很好的工具來實現CI/CD,那么下一步就是基于這些工具,我們是否能很好地實踐應用。

責任編輯:龐桂玉 來源: 運維派
相關推薦

2022-04-25 08:07:45

TektonArgocdCI和CD

2021-07-09 06:40:59

TektonArgo CD GitOps

2022-08-11 16:29:32

Tekton流水線遷移工作流

2023-10-27 07:36:36

2022-08-16 22:39:01

Argo CDKubernetes

2021-07-04 07:24:48

GitOps 工具 Argo CD

2022-04-14 07:51:39

TektonTaskRun

2022-03-21 09:40:48

TektonJenkinsPipeline

2024-08-07 10:14:35

2022-04-08 09:53:56

TektonJenkinsKubesphere

2021-05-13 18:23:53

Tekton云原生Kubernetes

2023-02-10 10:54:48

DevOpsCICD

2022-10-17 10:35:34

DevOpsCICD

2024-09-29 08:49:49

2020-06-15 07:00:00

GitOpsKubernetesDevOps

2024-08-12 08:28:53

2022-08-14 20:48:41

KubernetesArgoCD

2022-07-20 12:23:37

GitOps軟件開發

2020-09-11 19:38:31

GitOps倉庫CI

2021-06-25 09:54:49

GitLab Tekton Devops
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 极品粉嫩国产48尤物在线播放 | 精品视频亚洲 | 视频一区二区在线观看 | 福利一区视频 | 久久av网站 | 国产成人精品一区二区在线 | 国产精品成av人在线视午夜片 | 精品视频在线观看 | 久久久久久久久久久久亚洲 | 国产真实精品久久二三区 | 久久久精品一区 | 91成人在线视频 | 国产乱一区二区三区视频 | 欧美区日韩区 | 91夜夜夜| 91精品福利 | 国产精品美女久久久久久久久久久 | 国产日屁| 国产欧美在线视频 | 欧美一区中文字幕 | 国产免费一区二区三区网站免费 | 日韩av一区二区在线观看 | 欧美亚洲第一区 | 精品国产一区二区 | 国产第一区二区 | 国产精品亚洲欧美日韩一区在线 | 午夜精品久久久久久久星辰影院 | 欧美精品一区久久 | 麻豆国产一区二区三区四区 | 日日操av | 久久精品视频网站 | 亚洲欧美综合 | 欧美高清免费 | 97精品超碰一区二区三区 | 欧美理论片在线观看 | 91社区视频 | 亚洲欧美综合网 | 一级一级毛片免费看 | 久草视频在线看 | 日韩一二区 | 欧美lesbianxxxxhd视频社区 |