幾種新DevOps工具介紹

banq發表於2022-11-06

10個新DevOps工具分類:
  • 基礎設施即程式碼:Pulumi
  • 安全性:SOPS,Trivy
  • K8s/多叢集:Cluter API、Linkerd
  • CI/CD:GitHub Actions、Tekton、HashiCorp Harness
  • 監控:Thanos
  • Policy-as-Code:HashiCorp Sentinel


Pulumi

Pulumi是一個基礎設施即程式碼(IaC)工具,就像Terraform、AWS CDK、CDK for Terraform等。

現在,雖然Terraform可能已經成為IaC的最流行的選擇,但也有一些缺點。

你必須學習一種新的 "語言",即HCL(HashiCorp Config Language)。
HCL本身並不確切是一種 "語言",或者至少不是一種非常強大的語言。例如,在2020年底之前,你不能在一個模組上使用for迴圈。

進入Pulumi:
那麼,它是什麼呢?
如果你熟悉AWS CDK,你很容易理解:它就是那個。除了它是通用的(至少它試圖這樣做),並與每個雲相容。
如果你不知道AWS CDK,那就想想這個。Pulumi允許你用你已經知道的程式語言管理你的基礎設施,消除了學習另一種配置語言的開銷。

Pulumi為誰服務?好問題。
如果你已經熟悉一些程式語言,如TypeScript、Python、Go、C#、Java等,但你並不真的想學習又一種HCL語言,那麼Pulumi可能適合你。如果你使用AWS,從技術上講,你也可以使用AWS CDK,但如果你計劃協調一個混合雲架構,Pulumi更有意義。

如果你已經在大量使用Terraform,但你已經厭倦了HCL的侷限性,而且你不太喜歡使用`count`和內建函式,降低了基礎設施程式碼的可讀性,你也可以嘗試一下Pulumi。
這個工具已經不 "新 "了;它在GitHub上有超過14000顆星。但它比Terraform要新。如果它能解決你的一個具體問題,那就試一試吧。

SOPS

SOPS是Secrets OPerationS的縮寫,是一個開源的文字檔案編輯器,可以自動加密/解密檔案。

重點是文字編輯器、加密和自動化。

通常情況下,當你想加密一個文字檔案時,你會這樣做:

  • 使用你最喜歡的編輯器來編寫、編輯和處理文字資料,並將其儲存為一個檔案。
  • 使用一個加密/解密工具對整個檔案進行加密。


當你需要讀取加密後的檔案時:
  • 首先,你必須使用一個加密/解密工具對檔案進行解密。
  • 用你選擇的文字編輯器開啟解密後的檔案(現在它是一個普通的文字檔案)。

這個 "正常 "過程的缺點很明顯:你需要兩個工具(一個編輯器和一個加密/解密工具)來完成一項工作。

你可能知道我想說什麼,你是對的。SOPS就是為了這個。

簡而言之,它可以與許多加密服務(如HashiCorp Vault、AWS KMS等)整合,自動加密你的秘密檔案,使使用git repo來儲存秘密成為可能,並易於協作。

Trivy

Trivy是一個安全掃描器。它可靠、快速、輕鬆,可在您需要的任何地方工作。Trivy 有不同的掃描器來尋找各種安全問題,最著名的用例是容器映象已知漏洞 (CVE) 掃描。
您可以在本地將其作為 CLI 工具執行,以在將其推送到容器登錄檔或部署應用程式之前掃描本地容器映像和其他工件。
此外,Trivy 旨在用於 CI 並且可以輕鬆地與您的 CI 管道整合,從而完美契合“連續一切”的 DevOps 心態。

Cluster API

Cluster API是一個 Kubernetes 子專案,專注於提供宣告性 API 和工具來簡化配置、升級和操作多個 Kubernetes 叢集。
如果官方的定義讓你感到困惑,請想一想:你可以執行一條kubectl apply命令來建立一個K8s叢集,而且它適用於AWS、Azure、DigitalOcean、Docker、GCP、OpenStack等等。

不需要為K8s叢集建立Terraform模組(或者更糟糕的是,試圖弄清楚別人的模組的所有引數),不需要弄清楚如何為AWS使用eksctl,為另一個雲使用其他東西;只需要kubectl apply來建立叢集。聽起來令人印象深刻,對嗎?我知道。這就是為什麼它被列入了 "值得關注的十大工具 "名單。

Tekton

Tekton 是一個CI,其主要特點是:

  • 你可以在一個K8s叢集中執行它。
  • 你可以像K8s原生資源一樣定義管道,然後簡單地用kubectl應用它。
  • 現在,它既有儀表盤又有CLI。
  • 此外,Tekton可以讓你在多種環境中構建、測試和部署,如虛擬機器或無伺服器。你還可以使用Tekton管道在各種雲供應商或混合環境中進行部署。


你應該使用它嗎?我的看法是,如果:
  • 你必須 "擁有 "你的CI系統(例如,由於某種原因,使用GitHub Actions免費配額對你來說不是一個選項)。
  • 你已經在使用K8s。
  • 你喜歡與K8s互動的方式。

那就試一試Tekton吧。

安裝很簡單;你可以快速啟動和執行。

Thanos
如果你有一個小的基礎設施,將保留時間調整為幾年並沒有錯;目前的TSDB實現完全能夠處理這個問題。對於更大的應用,考慮一個更大的分散式TSDB。而Thanos是一個解決這個問題的方案:它是一個開源的、高可用的普羅米修斯設定,具有長期儲存功能,專注於長期儲存。如果你已經遇到了普羅米修斯儲存的問題,可以試試Thanos。

相關文章