什么是 Datree?
它是一個開源 CLI 實用工具,通過管理策略來防止 Kubernetes 工作負載和 SaaS 平臺的錯誤配置。它驗證您的 Kubernetes YAML 文件。
為什么需要 Datree?
防止 Kubernetes 配置出錯。它可以幫助所有者、開發(fā)人員管理策略執(zhí)行,自動檢查是否違反規(guī)則。使用 Datree 時,您不需要與生產(chǎn)集群建立連接。可以從在線 Datree 儀表板應用策略和規(guī)則。
Datree 是如何工作的?
檢查 Yaml 文件的語法是否正確寫入。
Kubernetes 模式驗證檢查版本是否有效。
策略檢查:它可以是內(nèi)存限制、CPU 限制或任何自定義策略檢查。
它提供了針對 Datree 應用策略運行的 YAML 文件的摘要。
讓我們快速簡單地實現(xiàn) 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

所以在上圖中,我們可以看到通過的規(guī)則總數(shù)為 21、失敗的規(guī)則總數(shù)為 9。
我已經(jīng)通過 Datree Dashboard 配置了 30 條規(guī)則的默認策略??梢酝ㄟ^ CLI 獲取儀表板的鏈接,如下圖所示:
儀表板鏈接
在 Datree 儀表板中,我們可以根據(jù)需要編輯規(guī)則,這些規(guī)則將在驗證部署 YAML 文件時應用。
用于配置 datree 規(guī)則的儀表板
所以,我已經(jīng)解決了上面配置錯誤中顯示的前四個錯誤。
更新后的 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
現(xiàn)在如果我們再次運行命令來檢查:
$datreetestdeployment.yaml

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

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

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

評論