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

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

輸出是Total Rules Failed: 5,之前是 9。
我們?cè)?deployment 文件中配置了內(nèi)存請(qǐng)求、CPU 請(qǐng)求、內(nèi)存限制和 CPU 限制。
因此,這就是 Datree 如何用于標(biāo)準(zhǔn)化和避免 K8s 中的錯(cuò)誤配置。
審核編輯:湯梓紅
-
cpu
+關(guān)注
關(guān)注
68文章
11011瀏覽量
215185 -
開源
+關(guān)注
關(guān)注
3文章
3533瀏覽量
43292 -
CLI
+關(guān)注
關(guān)注
1文章
80瀏覽量
8686 -
kubernetes
+關(guān)注
關(guān)注
0文章
237瀏覽量
8906
原文標(biāo)題:這個(gè)開源工具防止錯(cuò)誤配置亂入k8s生產(chǎn)環(huán)境
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
OpenStack與K8s結(jié)合的兩種方案的詳細(xì)介紹和比較
如何使用kubernetes client-go實(shí)踐一個(gè)簡(jiǎn)單的與K8s交互過程

Docker不香嗎為什么還要用K8s
簡(jiǎn)單說(shuō)明k8s和Docker之間的關(guān)系
K8S集群服務(wù)訪問失敗怎么辦 K8S故障處理集錦

多k8s集群環(huán)境中工作有多快

切換k8s上下文有多快

k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres
什么是K3s和K8s?K3s和K8s有什么區(qū)別?
K8S落地實(shí)踐經(jīng)驗(yàn)分享

k8s云原生開發(fā)要求

評(píng)論