k8s物料清单工具——KubeClarity

介绍

KubeClarity是一个用于检测和管理容器镜像和文件系统的软件清单(SBOM)和漏洞的工具。它扫描运行时的K8s集群和CI/CD流水线,以增强软件供应链安全性。

安装

添加 helm 仓库

bash 复制代码
helm repo add kubeclarity https://openclarity.github.io/kubeclarity

部署

bash 复制代码
helm install --create-namespace kubeclarity kubeclarity/kubeclarity -n kubeclarity

配置

kubeclarity 有一个配置文件,配置文件中记录了对整个 Kubernetes 集群扫描时所需要的 Job,内容如下:

yaml 复制代码
apiVersion: batch/v1
kind: Job
metadata:
  namespace: ""
  labels:
    app: kubeclarity-scanner
    sidecar.istio.io/inject: "false"
spec:
  backoffLimit: 0
  ttlSecondsAfterFinished: 300
  template:
    metadata:
      labels:
        app: kubeclarity-scanner
        sidecar.istio.io/inject: "false"
    spec:
      nodeSelector:
        kubernetes.io/arch: amd64
        kubernetes.io/os: linux
      restartPolicy: Never
      volumes:
      - name: tmp-volume
        emptyDir: {}
      securityContext:
        fsGroup: 1001
      containers:
      - name: vulnerability-scanner
        image: 'ghcr.io/openclarity/kubeclarity-runtime-k8s-scanner:latest'
        imagePullPolicy: Always
        volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        args:
        - scan
        - --log-level
        - warning
        env:
        - name: RESULT_SERVICE_ADDR
          value: kubeclarity-kubeclarity.kubeclarity:8888
        - name: SBOM_DB_ADDR
          value: kubeclarity-kubeclarity-sbom-db.kubeclarity:8080
        - name: ANALYZER_LIST
          value: syft gomod
        - name: ANALYZER_SCOPE
          value: squashed
        - name: SCANNERS_LIST
          value: grype
        - name: SCANNER_GRYPE_MODE
          value: REMOTE
        - name: REGISTRY_SKIP_VERIFY_TLS
          value: false
        - name: REGISTRY_USE_HTTP
          value: false
        - name: SCANNER_REMOTE_GRYPE_SERVER_ADDRESS
          value: kubeclarity-kubeclarity-grype-server.kubeclarity:9991
        - name: SCANNER_REMOTE_GRYPE_SERVER_TIMEOUT
          value: 2m
        securityContext:
          capabilities:
            drop:
            - ALL
          runAsNonRoot: true
          runAsGroup: 1001
          runAsUser: 1001
          privileged: false
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
        resources:
          limits:
            cpu: 1000m
            memory: 1000Mi
          requests:
            cpu: 50m
            memory: 50Mi
      - name: cis-docker-benchmark-scanner
        image: 'ghcr.io/openclarity/kubeclarity-cis-docker-benchmark-scanner:latest'
        imagePullPolicy: Always
        args:
        - scan
        - --log-level
        - warning
        env:
        - name: RESULT_SERVICE_ADDR
          value: kubeclarity-kubeclarity.kubeclarity:8888
        - name: TIMEOUT
          value: 2m
        - name: REGISTRY_SKIP_VERIFY_TLS
          value: false
        - name: REGISTRY_USE_HTTP
          value: false
        securityContext:
          capabilities:
            drop:
              - ALL
          runAsNonRoot: true
          runAsGroup: 1001
          runAsUser: 1001
          privileged: false
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
        resources:
          limits:
            cpu: 1000m
            memory: 1000Mi
          requests:
            cpu: 50m
            memory: 50Mi

使用

kubeclarity 的界面主要分为 Dashboard、Applications、Applications Resources、Package、Vulnerability 和 Scan 界面,用户唯一能操作的地方就是在 Scan 界面中点击扫描或者配置定时扫描任务。下面就为各个板块的截图:






相关推荐
未济4 天前
linux 配置环境变量
linux
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS4 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
_艾伦 耶格尔.5 天前
进程间通信
linux
AI职业加油站5 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
codeejun5 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
Liuqy-055 天前
Linux IO编程——静态库、动态库
linux
此冬歌咏5 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试