0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Datree開(kāi)源工具防止錯(cuò)誤配置亂入k8s生產(chǎn)環(huán)境

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2023-07-17 11:51 ? 次閱讀

什么是 Datree?

它是一個(gè)開(kāi)源 CLI 實(shí)用工具,通過(guò)管理策略來(lái)防止 Kubernetes 工作負(fù)載和 SaaS 平臺(tái)的錯(cuò)誤配置。它驗(yàn)證您的 Kubernetes YAML 文件。

為什么需要 Datree?

防止 Kubernetes 配置出錯(cuò)。它可以幫助所有者、開(kāi)發(fā)人員管理策略執(zhí)行,自動(dòng)檢查是否違反規(guī)則。使用 Datree 時(shí),您不需要與生產(chǎn)集群建立連接??梢詮脑诰€ Datree 儀表板應(yīng)用策略和規(guī)則。

Datree 是如何工作的?

檢查 Yaml 文件的語(yǔ)法是否正確寫(xiě)入。

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
f8afb478-23e4-11ee-962d-dac502259ad0.png配置錯(cuò)誤

所以在上圖中,我們可以看到通過(guò)的規(guī)則總數(shù)為 21、失敗的規(guī)則總數(shù)為 9。

我已經(jīng)通過(guò) Datree Dashboard 配置了 30 條規(guī)則的默認(rèn)策略??梢酝ㄟ^(guò) CLI 獲取儀表板的鏈接,如下圖所示:

f904c440-23e4-11ee-962d-dac502259ad0.png儀表板鏈接

在 Datree 儀表板中,我們可以根據(jù)需要編輯規(guī)則,這些規(guī)則將在驗(yàn)證部署 YAML 文件時(shí)應(yīng)用。

f92d3344-23e4-11ee-962d-dac502259ad0.png用于配置 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
f95f4442-23e4-11ee-962d-dac502259ad0.png解決了 4 個(gè)配置規(guī)則

輸出是Total Rules Failed: 5,之前是 9。

我們?cè)?deployment 文件中配置了內(nèi)存請(qǐng)求、CPU 請(qǐng)求、內(nèi)存限制和 CPU 限制。

因此,這就是 Datree 如何用于標(biāo)準(zhǔn)化和避免 K8s 中的錯(cuò)誤配置。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10863

    瀏覽量

    211743
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3348

    瀏覽量

    42496
  • CLI
    CLI
    +關(guān)注

    關(guān)注

    1

    文章

    79

    瀏覽量

    8545
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    224

    瀏覽量

    8715

原文標(biāo)題:這個(gè)開(kāi)源工具防止錯(cuò)誤配置亂入k8s生產(chǎn)環(huán)境

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    搭建K8s環(huán)境平臺(tái)的步驟

    1 搭建K8s環(huán)境平臺(tái)規(guī)劃1.1 單master集群1.2 多master集群
    發(fā)表于 11-04 06:03

    OpenStack與K8s結(jié)合的兩種方案的詳細(xì)介紹和比較

    OpenStack與K8S結(jié)合主要有兩種方案。一是K8S部署在OpenStack平臺(tái)之上,二是K8S和OpenStack組件集成。
    的頭像 發(fā)表于 10-14 09:38 ?2.7w次閱讀

    如何使用kubernetes client-go實(shí)踐一個(gè)簡(jiǎn)單的與K8s交互過(guò)程

    中的源代碼生成工具,這個(gè)工具的目的是要生成k8s風(fēng)格的對(duì)象和序列化程序。 該項(xiàng)目是一組包的集合,該包能夠滿足從REST風(fēng)格的原語(yǔ)到復(fù)雜client的不同的編程需求。 ? ? RESTClie
    的頭像 發(fā)表于 02-02 11:16 ?6854次閱讀
    如何使用kubernetes client-go實(shí)踐一個(gè)簡(jiǎn)單的與<b class='flag-5'>K8s</b>交互過(guò)程

    Docker不香嗎為什么還要用K8s

    Docker 雖好用,但面對(duì)強(qiáng)大的集群,成千上萬(wàn)的容器,突然感覺(jué)不香了。 這時(shí)候就需要我們的主角 Kubernetes 上場(chǎng)了,先來(lái)了解一下 K8s 的基本概念,后面再介紹實(shí)踐,由淺入深步步為營(yíng)
    的頭像 發(fā)表于 06-02 11:56 ?3445次閱讀

    簡(jiǎn)單說(shuō)明k8s和Docker之間的關(guān)系

    這篇文章主要介紹了k8s和Docker關(guān)系簡(jiǎn)單說(shuō)明,本文利用圖文講解的很透徹,有需要的同學(xué)可以研究下 最近項(xiàng)目用到kubernetes(以下簡(jiǎn)稱(chēng)k8sks之間有
    的頭像 發(fā)表于 06-24 15:48 ?3415次閱讀

    K8S集群服務(wù)訪問(wèn)失敗怎么辦 K8S故障處理集錦

    問(wèn)題1:K8S集群服務(wù)訪問(wèn)失??? ? ? 原因分析:證書(shū)不能被識(shí)別,其原因?yàn)椋鹤远x證書(shū),過(guò)期等。 解決方法:更新證書(shū)即可。 問(wèn)題2:K8S集群服務(wù)訪問(wèn)失??? curl: (7) Failed
    的頭像 發(fā)表于 09-01 11:11 ?1.6w次閱讀
    <b class='flag-5'>K8S</b>集群服務(wù)訪問(wèn)失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦

    K8S(kubernetes)學(xué)習(xí)指南

    K8S(kubernetes)學(xué)習(xí)指南
    發(fā)表于 06-29 14:14 ?0次下載

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

    命令就會(huì)很低效。 今天介紹3個(gè)工具會(huì)讓你在多k8s集群環(huán)境中工作的很輕松。我將從以下幾個(gè)方面來(lái)評(píng)估工具實(shí)用性: 速度 如果你有多個(gè)k8s
    的頭像 發(fā)表于 05-29 14:28 ?587次閱讀
    多<b class='flag-5'>k8s</b>集群<b class='flag-5'>環(huán)境</b>中工作有多快

    切換k8s上下文有多快

    use-context 命令就會(huì)很低效。 今天介紹3個(gè)工具會(huì)讓你在多k8s集群環(huán)境中工作的很輕松。我將從以下幾個(gè)方面來(lái)評(píng)估工具實(shí)用性: 速度 如果你有多個(gè)
    的頭像 發(fā)表于 05-29 15:26 ?764次閱讀
    切換<b class='flag-5'>k8s</b>上下文有多快

    k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres

    k8s是什么意思? kubernetes簡(jiǎn)稱(chēng)K8s,是一個(gè)開(kāi)源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效(powerful
    發(fā)表于 07-19 13:14 ?1116次閱讀

    什么是K3sK8s?K3sK8s有什么區(qū)別?

    Kubernetes,通??s寫(xiě)為 K8s,是領(lǐng)先的容器編排工具。該開(kāi)源項(xiàng)目最初由 Google 開(kāi)發(fā),幫助塑造了現(xiàn)代編排的定義。該系統(tǒng)包括了部署和運(yùn)行容器化系統(tǒng)所需的一切。
    的頭像 發(fā)表于 08-03 10:53 ?7559次閱讀

    K8S落地實(shí)踐經(jīng)驗(yàn)分享

    k8s 即 Kubernetes,是一個(gè)開(kāi)源的容器編排引擎,用來(lái)對(duì)容器化應(yīng)用進(jìn)行自動(dòng)化部署、 擴(kuò)縮和管理。
    的頭像 發(fā)表于 01-02 11:45 ?1155次閱讀
    <b class='flag-5'>K8S</b>落地實(shí)踐經(jīng)驗(yàn)分享

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

    IO性能。網(wǎng)絡(luò)要求穩(wěn)定,建議使用私有網(wǎng)絡(luò)VPC,并配置與Kubernetes兼容的網(wǎng)絡(luò)插件。操作系統(tǒng)需與K8s版本匹配,虛擬化平臺(tái)支持Docker等。此外,還需關(guān)注安全配置,如禁用Swap、調(diào)整Sysctl等,以及etcd數(shù)據(jù)存
    的頭像 發(fā)表于 10-24 10:03 ?220次閱讀
    <b class='flag-5'>k8s</b>云原生開(kāi)發(fā)要求

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需在本地與公有云分別建立K8s集群,并確保網(wǎng)絡(luò)連接。接著,配置kubeconfig文件連接兩集群,并安裝云服務(wù)插件以實(shí)現(xiàn)資源互通。然后,編寫(xiě)Deployment文件部署應(yīng)用,并使用kubectl命令
    的頭像 發(fā)表于 11-07 09:37 ?150次閱讀

    k8s和docker區(qū)別對(duì)比,哪個(gè)更強(qiáng)?

    Docker和Kubernetes(K8s)是容器化技術(shù)的兩大流行工具。Docker關(guān)注構(gòu)建和打包容器,適用于本地開(kāi)發(fā)和單主機(jī)管理;而K8s則提供容器編排和管理平臺(tái),適用于多主機(jī)或云環(huán)境
    的頭像 發(fā)表于 12-11 13:55 ?99次閱讀