精品欧美一区二区三区在线观看 _久久久久国色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| av在线不卡精品| 成人免费毛片a| 久久精品视频在线| 欧美性久久久久| 超碰在线观看99| 欧美第十八页| 日本韩国一区二区| 久久久精品国产一区二区三区| 三级黄色录像视频| 欧美特黄aaaaaaaa大片| caoporn国产一区二区| 视频一区视频二区国产精品| 欧美私人情侣网站| 四虎在线观看| 国一区二区在线观看| 在线播放中文一区| 亚洲成人在线视频网站| 久久久久久久久久久影院| 1313精品午夜理伦电影| 玉米视频成人免费看| 91久久嫩草影院一区二区| 永久免费毛片在线观看| 九色porny自拍视频在线播放| 国产精品自在在线| 最新国产成人av网站网址麻豆| 国产男女激情视频| 可以在线观看的av网站| 久久精品系列| 一区二区三区四区精品| 丰满少妇在线观看| 大地资源中文在线观看免费版| 午夜在线播放视频欧美| 亚洲美女激情视频| 日韩一级免费在线观看| 韩国中文免费在线视频| 日本不卡视频在线观看| 国产午夜一区二区| 亚洲xxxx2d动漫1| 黄色网址视频在线观看| 国产乱人伦偷精品视频不卡| 久久av.com| 精品人妻伦一二三区久| 国产精品vvv| 久久久777精品电影网影网| 国产激情999| 日本女人性生活视频| 99tv成人影院| 亚洲成人在线网站| 欧美精品一区在线| 中文字幕久久熟女蜜桃| 亚洲女同中文字幕| 精品国产乱码91久久久久久网站| 毛片在线视频播放| 国产毛片在线看| 精品一区二区三区在线播放视频 | 人妻熟女aⅴ一区二区三区汇编| 亚洲美女炮图| 中文字幕日韩一区二区| 99se婷婷在线视频观看| 国产黄色片免费看| 欧美特黄一级大片| 日韩手机在线导航| 欧美一级在线看| 国产51人人成人人人人爽色哟哟| 国产自产视频一区二区三区| 久久久久久久久国产| 亚洲第一页av| 亚洲二区av| 婷婷成人激情在线网| 日韩精品国内| 丰满熟妇人妻中文字幕| 狂野欧美一区| 欧美国产精品日韩| 亚洲精品色午夜无码专区日韩| 欧美另类激情| 色综合咪咪久久| 色乱码一区二区三区熟女 | 国产精品xxx| 亚洲一区二区中文在线| 亚洲高清在线观看一区| 国产成人手机在线| 久久精品国产亚洲高清剧情介绍 | 日韩欧美三级在线观看| 四虎国产精品免费观看| 亚洲精品久久久久| 在线观看视频在线观看| 欧美www.| 无码av中文一区二区三区桃花岛| 在线视频不卡国产| 国产小视频在线观看| 成人av在线资源| 成人午夜两性视频| 无码人妻黑人中文字幕| 亚洲私人影院| 操91在线视频| www成人啪啪18软件| 天天久久夜夜| 亚洲国产精品网站| 国产在线a视频| 亚洲国产91视频| 91官网在线免费观看| 乱妇乱女熟妇熟女网站| 色噜噜狠狠狠综合欧洲色8| 亚洲欧洲韩国日本视频| 亚洲国产成人不卡| av网站无病毒在线| 久久久久国产精品麻豆ai换脸| 国内外成人免费视频| 性生交大片免费看女人按摩| 久久成人免费电影| 国产精品久久久久福利| 91video| 99xxxx成人网| 午夜精品福利在线观看| 日韩av免费网址| 亚洲啪啪91| 性欧美xxxx交| 日韩女同强女同hd| 国产视频一区三区| 欧美在线一级va免费观看| 日韩欧美三级在线观看| 99香蕉国产精品偷在线观看 | 电影亚洲精品噜噜在线观看| 姬川优奈aav一区二区| 国产九九九九九| 竹内纱里奈兽皇系列在线观看| 欧美日韩在线视频首页| 国内自拍在线观看| 日日av拍夜夜添久久免费| 欧美主播一区二区三区| 国产免费又粗又猛又爽| 亚洲国产天堂| 日韩视频中午一区| 黄色在线免费播放| 国产成人影院| www.国产一区| 久久久久久久久久91| 国产日韩亚洲欧美精品| 国产精品激情av电影在线观看| 亚洲天堂网视频| 国产精品白丝av| 国模精品一区二区三区| 男人的天堂在线视频| 中文字幕第一页久久| 免费成人深夜夜行网站视频| 青草在线视频| 色8久久人人97超碰香蕉987| 午夜精品久久久久久久99热影院| 亚洲精品a区| 亚洲欧美在线免费观看| 免费精品在线视频| 亚洲欧洲一级| 国产精品自在线| 成人午夜免费在线观看| 久久精品一二三| 国产激情片在线观看| 激情都市亚洲| 日韩一级二级三级| 免费观看av网站| 亚洲国产精品91| 欧美黑人巨大精品一区二区| 久久久久99精品成人片三人毛片| 久久在线91| 亚洲一区二区三区四区视频| 国产乡下妇女三片| 成人污污视频在线观看| 欧美日韩中文国产一区发布| 色三级在线观看| 亚洲国产成人tv| 一本久道综合色婷婷五月| 日本在线一区二区| 亚洲精品一区在线观看| 亚洲熟女毛茸茸| 1024日韩| 成人免费高清完整版在线观看| 亚洲女人18毛片水真多| 国产色综合久久| 中文字幕乱码免费| 经典三级一区二区| 91精品国产综合久久福利| 国产精品入口麻豆| 91亚洲国产成人久久精品| 97精品国产97久久久久久春色| 亚洲综合成人av| 国产98色在线|日韩| 欧美中日韩免费视频| 国产乱妇乱子在线播视频播放网站| 色悠久久久久综合欧美99| 国产一级片中文字幕| 色棕色天天综合网| 久久久久久中文| 一本大道伊人av久久综合| 91久色porny| 亚洲五月六月| 播放一区二区| 亚洲精品白浆高清久久久久久| 国产真人真事毛片视频| 国产日韩一区| www.成人三级视频| 精品麻豆一区二区三区| 欧美性jizz18性欧美| 亚洲一区二区在线免费| 一本精品一区二区三区| 国产欧美日韩视频| 日韩欧美在线番号| 午夜久久久影院| 国产成人精品一区二区在线小狼| 久久97视频| 国产成人综合久久| 深夜福利视频在线免费观看| 亚洲国产日韩精品| 欧美一区二区三区影院| 欧美1级日本1级| 成人福利在线视频| 中中文字幕av在线| 91精品欧美一区二区三区综合在 | 99精品国产九九国产精品| 亚洲性生活视频| 中文字幕在线观看视频免费| 久久精品综合网| 日韩av黄色网址| 99精品中文字幕在线不卡| 欧美激情在线一区| 性中国古装videossex| 亚洲精品久久久蜜桃| 911福利视频| 五月天综合网站| 国产一区红桃视频| 成人性爱视频在线观看| 欧美日韩日日夜夜| 日日碰狠狠添天天爽| 青青草国产精品亚洲专区无| 日韩av一级大片| 欧美成人精品一区二区男人小说| 国产一区二区三区视频在线观看| 少妇久久久久久久| 欧美极品xxx| 中文字幕在线观看第三页| 日本午夜一区| 国产日产久久高清欧美一区| 国产高清在线观看| 91精品国产欧美一区二区| 亚洲av鲁丝一区二区三区| 成人一区二区三区视频| ww国产内射精品后入国产| 亚洲人亚洲人色久| 国产精品狠色婷| 日本激情视频在线观看| 91精品福利在线一区二区三区| 国产女片a归国片aa| 成人精品免费看| 久久无码高潮喷水| 欧美另类69xxxxx| 日本国产欧美一区二区三区| 最新97超碰在线| 日韩一级欧美一级| 国产精品一区二区6| 久久精品欧美一区二区三区麻豆| 日本中文字幕精品—区二区| 欧美在线首页| 欧美欧美一区二区| 四虎成人精品一区二区免费网站| 色在人av网站天堂精品| 日本天堂影院在线视频| 欧美日韩一区二区三区四区五区| 国产高清视频免费在线观看| 国产又黄又大久久| 日日碰狠狠躁久久躁婷婷| 欧美国产美女| 精品欧美一区二区在线观看视频 | 国产精品精品久久久久久| 亚洲成人三级| 精品性高朝久久久久久久| 中文字幕日日夜夜| 亚洲自拍偷拍图区| 欧美aaa级片| www.激情成人| 黄色片子免费看| 日韩av中文在线观看| 蜜臀av性久久久久蜜臀av| 九色精品国产蝌蚪| 福利视频久久| 国产福利91精品一区二区| 琪琪第一精品导航| 亚洲无线看天堂av| 在线成人激情黄色| 黄频在线免费观看| 欧美日韩1234| 久久国产视频一区| 午夜精品福利一区二区三区蜜桃| 国产精品久久久免费看| 久久久久久夜精品精品免费| 一级少妇精品久久久久久久| 美女性感视频久久| 无码人妻h动漫| 国产偷自视频区视频一区二区| 91九色国产ts另类人妖| 国产在线观看91一区二区三区 | 久久人人爽人人爽人人片av不| 国产美女精彩久久| 欧美aa视频| 97久久精品在线| av毛片在线免费看| 日韩中文理论片| аⅴ资源新版在线天堂| 日韩av中文字幕在线| 无码精品人妻一区二区三区影院 | 性欧美xxxx交| 日本电影在线观看网站| 中文字幕免费精品一区| 久草在现在线| 日韩精品www| 蜜桃久久一区二区三区| 精品人在线二区三区| 午夜久久久久久久久久影院| 色综合视频在线观看| 五月天综合激情网| 精品久久久久久亚洲精品| 国产精品成人久久| 亚洲一区二区三区四区五区黄| 亚洲av无码一区二区三区人 | 女同毛片一区二区三区| 成人综合婷婷国产精品久久| www.日本久久| 国产精品乡下勾搭老头1| 自拍一级黄色片| 国产在线国偷精品免费看| 亚洲黄色av片| 激情都市一区二区| 亚洲黄色av网址| 国产真实乱子伦精品视频| 国产xxxxhd| 懂色av一区二区在线播放| 精品人妻二区中文字幕| 成人免费视频免费观看| 老牛影视av老牛影视av| 国产欧美精品国产国产专区| 人成免费在线视频| 亚洲欧美日韩国产中文在线| 免看一级a毛片一片成人不卡| 亚洲国产精品精华液ab| 国精品无码一区二区三区| 一区二区三区91| 天堂资源在线播放| 色综合天天综合网国产成人综合天| 一级黄色大片视频| 欧美高清一级片在线| 精品久久国产视频| 亚洲黄页网在线观看| 蜜桃视频在线观看视频| 最好看的2019年中文视频| yourporn在线观看中文站| 欧美大片在线看免费观看| gogo久久| 国产精品久久精品| 秋霞影院一区| 久久影院理伦片| 永久91嫩草亚洲精品人人| 日韩av高清在线看片| 视频一区二区中文字幕| 国产亚洲视频一区| 成人免费观看视频| 国产探花视频在线| 一区二区三区免费在线观看| www.av麻豆| 欧美日韩三级在线| 亚洲黄色一级大片| 日韩精品在线免费观看| 91高清在线| 久久久视频免费观看| 国产成人精品亚洲日本在线观看| 91久久中文字幕| 日韩高清一级| 无码毛片aaa在线| 久久精品男女| 日本少妇一级片| 中文字幕av一区二区三区免费看| 日韩av黄色片| 91麻豆精品91久久久久久清纯| 日本xxxx人| 美女av一区二区三区| 欧美色网一区| 国产精品久久久久久免费观看| 精品99久久| 成人国产在线看| 蜜臀av一区二区在线观看| 色天天久久综合婷婷女18| 91传媒视频在线观看| 亚洲综合图色| 三上悠亚免费在线观看| 日韩电影在线看| 少妇光屁股影院| 亚洲激情av在线| 最近中文字幕在线观看| 国产视频精品va久久久久久| av基地在线| 国产欧美欧洲在线观看|