精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

推薦一款Kubernetes YAML文件靜態分析工具KubeLinter

開源
2020年10月28日,StackRox 引入了一個名為 KubeLinter 的新開源工具,旨在識別 YAML 文件中的任何錯誤配置。

在 Kubernetes 的世界中,我們使用 YAML 文件,對其進行部署以創建各種 Kubernetes 對象,但挑戰在于編寫它們時是否遵循最佳實踐?我們使用的是正確的標準配置集嗎?在部署應用程序甚至 Helm 圖表之前,可以檢查 YAML 嗎?所有這些問題的答案都是肯定的,我們可以。2020年10月28日,StackRox 引入了一個名為 KubeLinter 的新開源工具,旨在識別 YAML 文件中的任何錯誤配置。

根據定義,KubeLinter 是一個靜態分析工具,用于檢查 Kubernetes YAML 文件和 Helm 圖表,以確保其中所代表的應用程序遵循最佳實踐。將 YAML 文件提供給該工具后,它將通過內置檢查運行,然后詳細報告任何錯誤以及解決這些錯誤的補救措施。關于此工具的最好之處在于它是可配置和可擴展的:可以啟用或禁用內置檢查,并且您可以定義和使用自己的自定義檢查。

用法

我將在 Mac 上安裝 KubeLinter,但只需下載適用于您操作系統的發行版,即可將相同的說明用于Linux。

你可以從https://github.com/stackrox/kube-linter/releases/下載 KubeLinter CLI,如下所示: 

  1. $ curl -LO https://github.com/stackrox/kube-linter/releases/download/0.1.1/kube-linter-darwin.zip  
  2. $ unzip kube-linter-darwin.zip  
  3. $ mv kube-linter /usr/local/bin  
  4. #check if it's working  
  5. $ kube-linter version  
  6. 0.1.1 

現在,為了簡單地檢查單個 YAML 文件,只需提供 YAML 文件名。假設 deploy.yaml 您要檢查以下文件,以檢查其當前目錄中保存的最佳安全性和配置做法: 

  1. apiVersion: apps/v1  
  2. kind: Deployment  
  3. metadata:  
  4.   name: portainer  
  5.   namespace: portainer 
  6.   labels:  
  7.     io.portainer.kubernetes.application.stack: portainer  
  8.     app.kubernetes.io/name: portainer  
  9.     app.kubernetes.io/instance: portainer  
  10.     app.kubernetes.io/version: "2.0.0"  
  11. spec:  
  12.   replicas: 1  
  13.   strategy:  
  14.     type: "Recreate"  
  15.   selector:  
  16.     matchLabels:  
  17.       app.kubernetes.io/name: portainer  
  18.       app.kubernetes.io/instance: portainer  
  19.   template:  
  20.     metadata:  
  21.       labels: 
  22.          app.kubernetes.io/name: portainer  
  23.         app.kubernetes.io/instance: portainer  
  24.     spec:  
  25.       serviceAccountName: portainer-sa-clusteradmin  
  26.       volumes:  
  27.          - name: "data"  
  28.            persistentVolumeClaim:  
  29.              claimName: portainer  
  30.       containers:  
  31.         - name: portainer  
  32.           image: "portainer/portainer-ce:latest"  
  33.           imagePullPolicy: IfNotPresent  
  34.           args:  [ '--tunnel-port','30776' ]  
  35.           volumeMounts:  
  36.             - name: data  
  37.               mountPath: /data  
  38.           ports:  
  39.             - name: http  
  40.               containerPort: 9000  
  41.               protocol: TCP  
  42.             - name: tcp-edge  
  43.               containerPort: 8000  
  44.               protocol: TCP  
  45.           livenessProbe:  
  46.             httpGet:  
  47.               path: /  
  48.               port: 9000  
  49.           readinessProbe:  
  50.             httpGet:  
  51.               path: /  
  52.               port: 9000  
  53.           resources:  
  54.             {} 

讓我們進行測試 kube-linter lint deploy.yaml。我們應該得到如下輸出: 

  1. deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) container "portainer" does not have a read-only root file system (check: no-read-only-root-fs, remediation: Set readOnlyRootFilesystem to true in your container's securityContext.) 
  2. deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) serviceAccount "portainer-sa-clusteradmin" not found (check: non-existent-service-account, remediation: Make sure to create the service account, or to refer to an existing service account.) 
  3. deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) container "portainer" is not set to runAsNonRoot (check: run-as-non-root, remediation: Set runAsUser to a non-zero number, and runAsNonRoot to true, in your pod or container securityContext. See https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ for more details.) 
  4. deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) container "portainer" has cpu request 0 (check: unset-cpu-requirements, remediation: Set your container's CPU requests and limits depending on its requirements. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for more details.) 
  5. deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) container "portainer" has cpu limit 0 (check: unset-cpu-requirements, remediation: Set your container's CPU requests and limits depending on its requirements. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for more details.) 
  6. deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) container "portainer" has memory request 0 (check: unset-memory-requirements, remediation: Set your container's memory requests and limits depending on its requirements. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for more details.) 
  7. deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) container "portainer" has memory limit 0 (check: unset-memory-requirements, remediation: Set your container's memory requests and limits depending on its requirements. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for more details.) 
  8. Error: found 7 lint errors 

檢測類型

如您所見,YAML 文件中發現了錯誤,每個錯誤都有明確的補救步驟。

如果您想看一下內置檢查,可以在https://github.com/stackrox/kube-linter/blob/main/docs/genic/checks.md中列出所有這些檢查,或者也可以使用 KubeLinter 查看清單: 

  1. $ kube-linter checks list  
  2. Name: dangling-service  
  3. Description: Alert on services that don't have any matching deployments  
  4. Remediation: Make sure your service's selector correctly matches the labels on one of your deployments.  
  5. Template: dangling-service  
  6. Parameters: map[]  
  7. Enabled by default: true  
  8. ------------------------------  
  9. Name: default-service-account  
  10. Description: Alert on pods that use the default service account  
  11. Remediation: Create a dedicated service account for your pod. See https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ for more details. 
  12. Template: service-account  
  13. Parameters: map[serviceAccount:^(|default)$]  
  14. Enabled by default: false  
  15.  
  16.  
  17.  
  18. and many more 

忽略檢測

您可以使用以下注釋忽略針對 YAML 文件的特定檢查,也可以根據需要忽略檢查組: 

  1. ignore-check.kube-linter.io/<check-name> 

例如: 

  1. ignore-check.kube-linter.io/unset-cpu-requirements 

您可以像上面這樣在上面的部署文件示例中添加忽略檢查規則: 

  1. metadata:  
  2.   name: portainer  
  3.   namespace: portainer  
  4.   labels: 
  5.      io.portainer.kubernetes.application.stack: portainer  
  6.     app.kubernetes.io/name: portainer  
  7.     app.kubernetes.io/instance: portainer  
  8.     app.kubernetes.io/version: "2.0.0"  
  9.   annotations:  
  10.     ignore-check.kube-linter.io/unset-cpu-requirements : "cpu requirements not required" 

現在,當您 kube-linter lint deploy.yaml 再次運行時,您應該不會看到與 CPU 要求相關的錯誤提示。

使用配置運行

KubeLinter 也可以使用配置運行,您可以在其中提供要包含/排除的所有檢測信息。以下是存儲庫中的示例配置: 

  1. # customChecks defines custom checks.  
  2. customChecks:  
  3. - name: "required-label-app"  
  4.   template: "required-label"  
  5.   params:  
  6.     key: "app"  
  7. checks: 
  8.    # if doNotAutoAddDefaults is true, default checks are not automatically added.  
  9.   doNotAutoAddDefaults: false  
  10.   # addAllBuiltIn, if set, adds all built-in checks. This allows users to  
  11.   # explicitly opt-out of checks that are not relevant using Exclude.  
  12.   # Takes precedence over doNotAutoAddDefaults, if both are set.  
  13.   addAllBuiltIn: false  
  14.   # include explicitly adds checks, by name. You can reference any of the built-in checks.  
  15.   # Note that customChecks defined above are included automatically.  
  16.   include:  
  17.   - "required-label-owner"  
  18.   # exclude explicitly excludes checks, by name. exclude has the highest priority: if a check is  
  19.   # in exclude, then it is not considered, even if it is in include as well.  
  20.   exclude:  
  21.     - "privileged" 

如果你運行kubelinter --config config lint deploy.yaml,其中 config 與上述配置的文件,你應該可以看到添加了需要標簽的檢查:

deploy.yaml: (object: portainer/portainer apps/v1, Kind=Deployment) no label matching "owner=<any>" found (check: required-label-owner, remediation: Add an email annotation to your object with information about the object's owner.)

當內置到 CI 管道中時,KubeLinter 可以證明是非常有用的工具。可以檢查和驗證推送到存儲庫中的編排文件,以獲取最佳實踐和安全考慮,并在檢測到問題時生成警報。

這樣,可以將部署到集群的應用程序進行健康的就緒檢查。該項目處于 Alpha 階段,但有望作為 CI 集成工具在實際部署到生產之前驗證所有部署。 

 

責任編輯:龐桂玉 來源: 奇妙的Linux世界
相關推薦

2021-07-29 06:37:55

KubernetesKubeLinter工具

2021-04-22 09:20:20

KubernetesKubectl FlaLinux

2016-03-29 14:54:36

2021-06-09 09:52:29

開源Pyroscope代碼

2025-04-07 08:10:00

2020-02-17 07:20:22

SSH遠程連接工具Linux

2024-01-25 10:40:11

AutoProfil開源分析工具

2020-12-03 09:33:58

前端開發工具

2022-06-28 07:14:23

WizTree磁盤文件清理

2020-12-15 15:08:17

工具Java線程

2020-12-15 07:54:40

工具Hutoolgithub

2018-11-26 14:30:08

Python開發工具編程語言

2024-02-20 07:32:18

Rsync遠程同步工具傳輸數據

2019-02-25 10:18:43

工具代碼測試

2022-07-04 08:48:36

KubernetesDatreeLinux

2019-07-22 09:24:54

LinuxMySQL數據庫

2019-08-02 14:45:22

阿里Java命令

2020-11-12 10:00:56

Kubernetes工具Linux

2022-06-20 08:58:25

Obsidian筆記工具

2021-11-01 05:53:08

Doldrums逆向工程分析工具安全工具
點贊
收藏

51CTO技術棧公眾號

国产成人av电影免费在线观看| 第一会所sis001亚洲| 精品久久久久久中文字幕| 欧美日韩精品免费在线观看视频| 中文字幕永久在线视频| 欧美成人一品| 亚洲天堂av在线免费| 欧美午夜精品理论片| jizz一区二区三区| 久久―日本道色综合久久| 国产综合久久久久久| 日韩伦理在线视频| 视频在线不卡免费观看| 亚洲高清久久网| 天堂网在线免费观看| 麻豆蜜桃在线| 亚洲欧美在线观看| 欧美日韩综合久久| 亚洲国产剧情在线观看| 日本不卡一二三区黄网| 97国产精品人人爽人人做| 91香蕉一区二区三区在线观看| 国产一区福利| 日韩一区二区中文字幕| 无需播放器的av| 小视频免费在线观看| 中文字幕日韩一区| 日本电影一区二区三区| 天天插天天干天天操| 国产乱码精品一区二区三| 国产精品99久久99久久久二8| 国产亚洲精品久久久久久无几年桃| 成人一区二区| 亚洲欧美在线播放| 人妻av一区二区| 精品国产亚洲一区二区三区大结局| 91福利精品视频| a√天堂在线观看| 丁香花在线观看完整版电影| 亚洲色图制服丝袜| 亚洲一区二区四区| 91精品国产综合久久久久久豆腐| 久久一留热品黄| 久久久99爱| 五月天福利视频| 国产一区二区三区国产| 91精品国产综合久久香蕉的用户体验| 日本久久综合网| 爽好多水快深点欧美视频| 欧美一级电影久久| 久久国产黄色片| 亚洲永久视频| 日本精品视频在线| 日韩欧美在线观看免费| 亚洲欧美久久| 国产成人精品一区二区| 午夜一级黄色片| 日韩成人伦理电影在线观看| 国产精品白嫩初高中害羞小美女| 一级成人黄色片| 久久久蜜桃一区二区人| 日韩av电影中文字幕| 国产中文字幕视频| 日韩电影一区二区三区四区| 国产精品日韩精品| 97人人爽人人爽人人爽| 国产精品2024| 国产精品免费视频一区二区| 色哟哟国产精品色哟哟| 99久久婷婷国产综合精品电影| 精品一区二区三区日本| 青青草免费在线视频| 国产欧美精品国产国产专区| 亚洲国产精品一区二区第一页| 免费观看在线午夜影视| 亚洲精品午夜久久久| 青草青青在线视频| 国产免费不卡| 欧美精品一二三区| 日本女人黄色片| 日本天堂一区| 少妇激情综合网| 欧美精品久久久久性色| 国产精品视区| 成人激情视频网| 欧美 日韩 国产 精品| 久久婷婷久久一区二区三区| 亚洲精品8mav| h片精品在线观看| 欧美性受xxxx| 人妻 丝袜美腿 中文字幕| 天天操综合520| 久久九九热免费视频| 国产午夜小视频| 久久99蜜桃精品| 狠狠干一区二区| 欧美激情午夜| 精品人伦一区二区三区蜜桃免费| 91福利国产成人精品播放| 在线精品国产亚洲| 在线看福利67194| 精品无码一区二区三区电影桃花| 视频一区二区欧美| 国产亚洲精品久久飘花| 自拍视频在线网| 午夜欧美2019年伦理| 亚洲一级片网站| 日韩激情毛片| 欧美高清在线观看| 一级黄色片在线看| 久久综合九色综合97_久久久| 可以免费看的黄色网址| 色香欲www7777综合网| 欧美精品一区二区三区蜜桃视频 | 男人j进女人j| **欧美日韩在线观看| 精品国产网站在线观看| 欧美视频一区二区在线| 日韩国产欧美一区二区三区| 国产亚洲欧美另类一区二区三区| 老司机在线永久免费观看| 疯狂欧美牲乱大交777| 人妻激情偷乱视频一区二区三区| 加勒比久久综合| 2021国产精品视频| 成人午夜视频一区二区播放| 亚洲欧洲成人精品av97| 国产精品亚洲二区在线观看| 国产精品一区二区三区美女| 欧美精品一区三区| 中文字幕人妻一区二区在线视频 | 久久久人人爽| 亚洲91av| 欧美一级久久久| 免费精品在线视频| 久久精品噜噜噜成人av农村| 欧美一区免费视频| 国产精品粉嫩| 亚洲香蕉伊综合在人在线视看 | av官网在线播放| 欧美日韩高清在线| eeuss中文字幕| 另类小说欧美激情| 亚洲精品国产精品国自产| av高清一区| 最新的欧美黄色| 在线观看毛片网站| 国产精品卡一卡二卡三| 色乱码一区二区三区在线| 精品精品久久| 国产中文字幕91| a级网站在线播放| 欧美一级xxx| 国产精品成人久久| 99re66热这里只有精品3直播| 无码专区aaaaaa免费视频| 四虎5151久久欧美毛片| 欧美在线免费观看| 黄色片在线看| 欧美日韩综合不卡| 久久国产美女视频| 国产成人在线视频播放| 亚洲精品蜜桃久久久久久| 国产成人福利av| 欧美做受高潮电影o| 国内精品在线视频| 欧美日韩电影在线| 欧美精品一级片| 99久久精品国产毛片| 国产成人久久777777| 日本激情一区| 成人h在线播放| 樱花草涩涩www在线播放| 一本色道久久88精品综合| 在线免费观看视频网站| 亚洲精品免费在线观看| 中国一级特黄录像播放| 日韩二区在线观看| 欧美美女黄色网| 久久香蕉网站| 国产免费一区二区三区在线观看 | porn亚洲| 欧美mv日韩mv国产网站app| 五月激情六月丁香| 亚洲视频在线观看一区| 亚洲av成人无码一二三在线观看| 视频一区二区三区入口| 免费cad大片在线观看| 综合国产视频| 97久草视频| 日韩欧美一区二区三区免费观看| 久久亚洲精品成人| 日本国产在线| 91精品国模一区二区三区| 九九九国产视频| 国产精品久久久久婷婷 | 久久久亚洲高清| 天天操精品视频| 鲁大师影院一区二区三区| 二级片在线观看| 国产精品嫩模av在线| 亚洲最大成人免费视频| 亚洲天堂一区二区| 欧美美女15p| 91xxx在线观看| 亚洲国产精品久久精品怡红院| 国产又粗又猛又黄视频| 亚洲午夜精品在线| 国产三级精品三级观看| 久久久亚洲精品石原莉奈| 99riav国产精品视频| 日本成人在线一区| 日本三级免费网站| 欧美成人中文| 一区二区三区免费看| 蜜桃a∨噜噜一区二区三区| 91蜜桃网站免费观看| 成人免费毛片嘿嘿连载视频…| 久久久女女女女999久久| 毛片在线视频| 亚洲最新av在线| 嫩草研究院在线| 亚洲国产精品va在线看黑人| 午夜免费福利视频| 欧美一级日韩一级| 91九色蝌蚪91por成人| 日本韩国一区二区| 一级片视频在线观看| 亚洲成人在线观看视频| 欧美黄色一级网站| 亚洲视频免费看| 欧美成人777| 中文字幕一区二区日韩精品绯色| www.av天天| 国产亚洲短视频| 成人免费看aa片| 久久嫩草精品久久久精品| 在线精品一区二区三区| 丁香婷婷综合激情五月色| 中文字幕在线播放一区二区| 国产精品99精品久久免费| 亚洲女人在线观看| 国产在线日韩欧美| 宇都宫紫苑在线播放| 国产精品小仙女| 在线播放国产视频| 成人一级黄色片| bl动漫在线观看| 久久女同互慰一区二区三区| 精品人妻一区二区三区视频| 国产婷婷色一区二区三区四区| 中文字幕一区二区人妻在线不卡| 2023国产一二三区日本精品2022| av网站有哪些| 国产日韩欧美a| 国产极品视频在线观看| 中文字幕综合网| 欧美黄色免费在线观看| 午夜成人免费电影| 国产一级片毛片| 欧美日韩免费视频| 99久久婷婷国产一区二区三区| 91精品国产麻豆国产自产在线| 99久久久国产精品无码免费| 亚洲精品一区二区三区蜜桃下载| 欧美色视频免费| 中文字幕精品www乱入免费视频| 自拍视频在线网| 欧美高清在线视频观看不卡| 亚洲天堂电影| 国产视频福利一区| 超碰精品在线观看| 欧美最大成人综合网| 99re66热这里只有精品8| 喜爱夜蒲2在线| 在线亚洲国产精品网站| 爱情岛论坛成人| 国产精品1区二区.| 亚洲国产无码精品| 亚洲欧美中日韩| 日韩乱码一区二区| 在线播放/欧美激情| 日本wwwxxxx| 最新亚洲国产精品| av影片在线| 国产美女被下药99| 久久久久影视| 在线看成人av电影| 亚洲欧美日韩专区| 亚洲理论中文字幕| 2020国产精品久久精品美国| 熟女av一区二区| 欧美午夜丰满在线18影院| 国产又粗又黄又爽的视频| 亚洲福利视频在线| 久操视频在线播放| 日本成人免费在线| 一区二区三区视频播放| 日本不卡一二三区| 99亚洲伊人久久精品影院红桃| 小泽玛利亚视频在线观看| www.欧美亚洲| 欧美成人免费看| 欧美无砖专区一中文字| 欧美一级视频免费| 久久精品国产一区二区电影| 欧美电影免费观看| 国产精品国产一区二区| 国产二区精品| 欧美日韩大尺度| 91玉足脚交白嫩脚丫在线播放| 四虎精品免费视频| 精品视频色一区| 女人天堂在线| 98精品国产高清在线xxxx天堂| 国产精品777777在线播放| 日韩av不卡播放| 一区二区高清| 国产chinese中国hdxxxx| 1区2区3区国产精品| 中国女人一级一次看片| 亚洲精品在线观看www| 2019中文字幕在线电影免费| 成人午夜在线观看| 波多野结衣的一区二区三区 | 亚洲精品电影网| 日本高清成人vr专区| 91免费国产网站| 91视频一区| 亚洲综合欧美激情| 国产精品视频观看| 波多野结衣视频网址| 国产丝袜一区视频在线观看| 2020国产在线| 久久久久久国产精品免费免费| 精品二区视频| av av在线| 黄色一区二区在线观看| 欧美熟妇另类久久久久久不卡 | 精品伊人久久97| 捆绑调教日本一区二区三区| 国产精品三区在线| 亚洲欧洲日本mm| 在线观看亚洲免费视频| 亚洲一区二区三区中文字幕在线| 国产xxxxxx| 欧美国产日韩xxxxx| 成人看片爽爽爽| 少妇av一区二区三区无码| 99国产精品国产精品毛片| 国产成人无码精品| 亚洲毛片在线免费观看| 88xx成人永久免费观看| 神马欧美一区二区| 精品亚洲成a人| 青青草原免费观看| 亚洲第一综合天堂另类专| 欧美另类老肥妇| 欧美系列一区| 久久精品国产一区二区| 国产精品丝袜一区二区| 日韩欧美一二区| 韩国精品一区| 日韩aⅴ视频一区二区三区| 美女在线观看视频一区二区| 玖玖爱在线观看| 欧美三级电影一区| 污污网站在线观看| 免费精品视频一区| 日韩av成人高清| 亚洲aaa视频| 欧美不卡123| 在线人成日本视频| 在线免费一区| 成人深夜视频在线观看| 国产污污视频在线观看| 在线视频精品一| 亚洲一区电影| 丰满人妻中伦妇伦精品app| 日本一区二区久久| 亚洲第一色视频| 国产精品1234| 欧美欧美全黄| 精品国产无码在线观看| 欧美一区二视频| 日韩av中字| 黄色特一级视频| 国产欧美一区二区在线| 亚洲经典一区二区三区| 日韩av手机在线观看| 欧美激情视频一区二区三区免费| 国产一级二级在线观看| 制服.丝袜.亚洲.另类.中文| 性欧美18~19sex高清播放| 一区二区三区观看| 91伊人久久大香线蕉| 国产人妖一区二区| 日韩女在线观看| 激情欧美丁香| 搜索黄色一级片|