幾種新DevOps工具介紹
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。
相關文章
- 介紹幾種List集合分批操作的工具
- 介紹幾種MySQL常見的圖形化工具MySql
- 幾種著名的戰略思想設計工具介紹 - Chris
- Azure DevOps 介紹dev
- 介紹幾個好用的工具類
- 工具篇:介紹幾個好用的guava工具類Guava
- DevOps系列一(介紹)dev
- 7種深度學習工具介紹深度學習
- Chrome 66 開發者工具新特性介紹Chrome
- HTML中使用CSS的幾種方式介紹HTMLCSS
- 幾種常見網路抓包方式介紹
- Java中幾種常用的RPC框架介紹JavaRPC框架
- 簡單介紹redis加鎖常用幾種方式Redis
- MySQL線上新增欄位的幾種方案介紹MySql
- 幾種實用型Ruby Web開發框架介紹Web框架
- 簡單介紹MySQL索引失效的幾種情況MySql索引
- js宣告陣列的幾種方式簡單介紹JS陣列
- DevOps的基本原則與介紹dev
- DevOps概念、關鍵問題、工具鏈及文化等詳細介紹dev
- Java中的幾種Kafka客戶端比較介紹JavaKafka客戶端
- 幾種不常見的DNS解析記錄型別介紹DNS型別
- nignx 負載均衡的幾種演算法介紹負載演算法
- js中關於定義類的幾種方式介紹JS
- 設定按鈕失效的幾種方式簡單介紹
- 網頁中使用css的幾種方式簡單介紹網頁CSS
- 幾種 SAP ABAP OData 服務的效能評估和測試工具介紹試讀版
- cpio工具介紹
- 幾款所見即所得視覺化UML工具介紹視覺化
- javascript中常用的幾種彈出視窗簡單介紹JavaScript
- 介紹幾種獲取SQL執行計劃的方法(上)SQL
- 最受DevOps歡迎的五種工具dev
- uml建模工具介紹
- Oracle BBED 工具介紹Oracle
- 【MySQL】mydumper工具介紹MySql
- Oracle DBV 工具 介紹Oracle
- 【Oracle】Opatch 工具介紹Oracle
- etcdctl工具介紹
- 網路安全攻擊方式有幾種?常見型別介紹!型別