JFrog Runtime 用于监控 Kubernetes 环境的运行时安全与运行状态,主要通过 API 与 JFrog 平台交互。
用途
- 监控已注册到 JFrog Runtime 的 Kubernetes 集群
- 检查节点健康状况与运行时传感器安装、版本情况
- 列出正在运行的容器镜像,并获取其安全与运行状态信息
核心概念
- Runtime Cluster:注册到 JFrog Runtime 用于监控的 Kubernetes 集群
- Runtime Sensor:部署在 K8s 集群中、监控容器行为的轻量级代理
- Runtime Controller:在部署前校验镜像的准入控制器
- Node:集群中的单台机器,各自带有传感器状态与健康信息
认证与访问方式
所有请求都需要通过 Authorization 头携带访问令牌:
Authorization: Bearer $JFROG_ACCESS_TOKEN
基础 URL 为 https://$JFROG_URL/runtime/api/v1/...
API 传输优先使用 jf api(JFrog CLI 2.100.0+),相关规则见 jf-api-patterns.md(仅路径 URL;认证来自 jf config)。当 CLI 缺失或版本低于 2.100.0 时,才回退使用带 $JFROG_URL 与 bearer token 的 curl 示例。
当需要认证时,按 login-flow.md 的流程解析当前活动的 JFrog 环境。jf CLI 为必需项,若缺失会自动安装。智能体会通过 jf config show 检查已保存的凭据;若保存了多个环境,会询问使用哪一个。若不存在任何环境,智能体会引导完成网页登录流程,并通过 jf config add 保存凭据。
主要能力
列出运行时集群
返回所有运行时集群及其节点数量与控制器状态。注意:该端点使用 POST 并携带请求体,而非 GET。
curl -s -X POST "$JFROG_URL/runtime/api/v1/clusters"
-H "Authorization: Bearer $JFROG_ACCESS_TOKEN"
-H "Content-Type: application/json"
-d '{"limit": 50}' | jq .
响应包含 total_count、pagination 以及 clusters 数组。每个集群含有:
- id、name、provider、regions
- controller_status(running 或 stopped)、controller_version
- nodes_count、running_nodes_count、failed_nodes_count、disabled_nodes_count
获取指定集群
返回包括完整节点列表在内的详细信息。
curl -s -X GET "$JFROG_URL/runtime/api/v1/clusters/${CLUSTER_ID}/"
-H "Authorization: Bearer $JFROG_ACCESS_TOKEN" | jq .
注意集群 ID 后有结尾斜杠。
响应包含一个 cluster 对象(含所有集群字段)以及 nodes 数组。每个节点含有:
- id、name、hostname、architecture
- internal_ip、internal_dns、region
- status、sensor_installed、sensor_version
列出正在运行的镜像
列出跨集群所有正在运行的容器镜像及其安全与运行状态。
curl -s -X GET "$JFROG_URL/runtime/api/v1/live/images?num_of_rows=100&statistics=true&timePeriod=now&page_num=1"
-H "Authorization: Bearer $JFROG_ACCESS_TOKEN" | jq .
查询参数:
- num_of_rows(integer,默认 100):返回镜像数量
- statistics(boolean,默认 true):是否包含聚合统计
- timePeriod(string,默认 now):查询的时间窗口
- filters(string,默认空):过滤表达式
- page_num(integer,默认 1):页码
响应包含:
- images 数组——每个镜像含 name、registry、repositoryPath、status、clustersCount、workloadsCount、cloudProviders,以及通过 riskiestTagVulns 提供的漏洞信息(按严重程度计数)
- statistics 数组——键值对形式的聚合统计
- totalCount——匹配的镜像总数
常见工作流
监控集群健康
- 列出所有集群以获取总览
- 检查 controller_status 为 "stopped" 或 failed_nodes_count 较高的集群
- 获取指定集群详情以检查各个节点
识别存在漏洞的运行镜像
- 使用 statistics=true 列出正在运行的镜像
- 检查每个镜像的 riskiestTagVulns 中的 critical/high 漏洞数量
- 使用 jfrog-security skill 获取特定软件包的详细漏洞信息
官方文档
- Runtime Security
- Runtime APIs