什么是 Datree?
它是一個開源 CLI 實用工具,通過管理策略來防止 Kubernetes 工作負載和 SaaS 平臺的錯誤配置。它驗證您的 Kubernetes YAML 文件。
為什么需要 Datree?
防止 Kubernetes 配置出錯。它可以幫助所有者、開發人員管理策略執行,自動檢查是否違反規則。使用 Datree 時,您不需要與生產集群建立連接。可以從在線 Datree 儀表板應用策略和規則。
Datree 是如何工作的?
檢查 Yaml 文件的語法是否正確寫入。
Kubernetes 模式驗證檢查版本是否有效。
策略檢查:它可以是內存限制、CPU 限制或任何自定義策略檢查。
它提供了針對 Datree 應用策略運行的 YAML 文件的摘要。
讓我們快速簡單地實現 Datree
按照官方文檔[1]安裝 Datree
nginx 的示例 deployment.yaml 文件
apiVersion:apps/v1 kind:Deployment metadata: name:nginx-deployment spec: selector: matchLabels: app:nginx replicas:2 template: metadata: labels: app:nginx spec: containers: -name:nginx image:nginx:1.14.2 ports: -containerPort:80
要使用 Datree 驗證此 yaml,請運行以下命令:
$datreetestdeployment.yaml

所以在上圖中,我們可以看到通過的規則總數為 21、失敗的規則總數為 9。
我已經通過 Datree Dashboard 配置了 30 條規則的默認策略。可以通過 CLI 獲取儀表板的鏈接,如下圖所示:
儀表板鏈接
在 Datree 儀表板中,我們可以根據需要編輯規則,這些規則將在驗證部署 YAML 文件時應用。
用于配置 datree 規則的儀表板
所以,我已經解決了上面配置錯誤中顯示的前四個錯誤。
更新后的 deployment.yaml
apiVersion:apps/v1 kind:Deployment metadata: name:nginx-deployment spec: selector: matchLabels: app:nginx replicas:2 template: metadata: labels: app:nginx spec: containers: -name:nginx image:nginx:1.14.2 resources: limits: memory:200Mi cpu:1 requests: memory:100Mi cpu:100m ports: -containerPort:80
現在如果我們再次運行命令來檢查:
$datreetestdeployment.yaml

輸出是Total Rules Failed: 5,之前是 9。
我們在 deployment 文件中配置了內存請求、CPU 請求、內存限制和 CPU 限制。
因此,這就是 Datree 如何用于標準化和避免 K8s 中的錯誤配置。
審核編輯:湯梓紅
-
cpu
+關注
關注
68文章
11031瀏覽量
215951 -
開源
+關注
關注
3文章
3582瀏覽量
43464 -
CLI
+關注
關注
1文章
80瀏覽量
8728 -
kubernetes
+關注
關注
0文章
239瀏覽量
8967
原文標題:這個開源工具防止錯誤配置亂入k8s生產環境
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
OpenStack與K8s結合的兩種方案的詳細介紹和比較
如何使用kubernetes client-go實踐一個簡單的與K8s交互過程

Docker不香嗎為什么還要用K8s
簡單說明k8s和Docker之間的關系
K8S集群服務訪問失敗怎么辦 K8S故障處理集錦

k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres
什么是K3s和K8s?K3s和K8s有什么區別?
k8s云原生開發要求

評論