Agent OS Helm Chart 实战指南:在 Kubernetes 上部署 AI Agent 治理内核
【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit
Agent OS 是 agent-governance-toolkit 中面向 AI Agent 的治理内核(governance kernel)。本指南基于仓库内 charts/agent-os/README.md 展开,完整讲解如何使用其自带的 Helm Chart 在生产级 Kubernetes 集群上部署无状态治理内核、YAML 策略评估服务与审计收集器。读完本文,你将掌握一键安装、参数调优、策略挂载、高可用与监控配置等全套实战技能。
一、Chart 概览:一个 Helm Chart,三个治理组件
Agent OS 的 Helm Chart 是一个生产就绪(Production-ready)的应用部署模板,Chart 元数据定义在 Chart.yaml:apiVersion: v2(Helm 3 标准格式)、type: application、版本0.3.0,关键字为 ai、governance、agents、kernel、policy。
一次helm install会向集群下发三个相互配合的 Deployment:
| 组件 | 职责 | 默认副本数 |
|---|---|---|
| Kernel | 无状态(stateless)治理内核,负责 Agent 请求的治理裁决入口 | 2 |
| Policy Server | YAML 策略评估服务,从 ConfigMap 挂载策略文件并执行评估 | 2 |
| Audit Collector | 审计日志聚合器,配有持久化存储用于留存审计证据 | 1 |
三个组件的镜像仓库分别为agent-governance-python/agent-os/kernel、agent-governance-python/agent-os/policy-server、agent-governance-python/agent-os/audit-collector,标签均为0.3.0,与 Chart 版本一致。
二、安装与升级:三步完成部署
Chart 位于 agent-governance-python/agent-os/charts/agent-os,最基础的安装命令如下:
# 直接安装(使用默认 values) helm install agent-os ./charts/agent-os # 使用自定义 values 文件安装 helm install agent-os ./charts/agent-os -f my-values.yaml # 升级已有 release helm upgrade agent-os ./charts/agent-os安装前需确认集群已具备:
- Kubernetes 集群且已配置好
kubectl上下文,Helm 3 客户端可用; - 若开启
auditCollector.persistence.enabled(默认开启),集群需支持动态创建 PVC(如默认 StorageClass); - 若启用 HPA(默认开启),集群需具备 metrics-server 以提供 CPU/内存指标。
安装完成后,Chart 自带的 NOTES.txt 会输出访问与验证指引:对于默认的ClusterIP类型 Service,可使用kubectl port-forward svc/<release>-kernel <port>:<port>访问内核;若将kernel.service.type改为NodePort或LoadBalancer,则会分别输出节点 IP/端口或提示等待负载均衡 IP 就绪。验证组件运行状态:
kubectl get pods -l "app.kubernetes.io/instance=agent-os"三、配置参数详解:一份 values.yaml 掌握全部调优点
所有可调参数集中定义在 values.yaml,下表汇总了核心参数及其默认值:
| 参数 | 说明 | 默认值 |
|---|---|---|
kernel.replicas | Kernel 副本数 | 2 |
kernel.image.repository | Kernel 镜像仓库 | agent-governance-python/agent-os/kernel |
kernel.image.tag | Kernel 镜像标签 | 0.3.0 |
kernel.image.pullPolicy | 镜像拉取策略 | IfNotPresent |
kernel.resources.requests.cpu | CPU 请求 | 250m |
kernel.resources.requests.memory | 内存请求 | 256Mi |
kernel.resources.limits.cpu | CPU 上限 | 1 |
kernel.resources.limits.memory | 内存上限 | 512Mi |
kernel.port | Kernel 容器端口 | 8080 |
kernel.service.type | Kernel Service 类型 | ClusterIP |
kernel.service.port | Kernel Service 端口 | 80 |
kernel.autoscaling.enabled | 启用 HPA | true |
kernel.autoscaling.minReplicas | HPA 最小副本 | 2 |
kernel.autoscaling.maxReplicas | HPA 最大副本 | 10 |
kernel.autoscaling.targetCPUUtilization | CPU 利用率目标 | 70 |
kernel.autoscaling.targetMemoryUtilization | 内存利用率目标 | 80 |
policyServer.replicas | Policy Server 副本数 | 2 |
policyServer.image.repository | Policy Server 镜像仓库 | agent-governance-python/agent-os/policy-server |
policyServer.policyMount.enabled | 从 ConfigMap 挂载策略 | true |
policyServer.policyMount.configMapName | 策略 ConfigMap 名称 | agent-os-policies |
policyServer.port | Policy Server 容器端口 | 8081 |
auditCollector.replicas | Audit Collector 副本数 | 1 |
auditCollector.port | Audit Collector 容器端口 | 8082 |
auditCollector.persistence.enabled | 启用持久化存储 | true |
auditCollector.persistence.size | PVC 容量 | 10Gi |
auditCollector.persistence.storageClass | 指定 StorageClass | ""(使用默认) |
auditCollector.persistence.accessModes | PVC 访问模式 | ReadWriteOnce |
monitoring.enabled | 启用 Prometheus 注解 | true |
monitoring.prometheus.scrape | 开启抓取注解 | true |
monitoring.prometheus.port | 指标端口 | 9090 |
monitoring.prometheus.path | 指标路径 | /metrics |
podDisruptionBudget.enabled | 启用 PDB | true |
podDisruptionBudget.minAvailable | PDB 最小可用数 | 1 |
networkPolicy.enabled | 启用 NetworkPolicy | true |
serviceAccount.create | 创建 ServiceAccount | true |
imagePullSecrets | 镜像拉取密钥列表 | [] |
nodeSelector/tolerations/affinity | 节点调度约束 | {}/[]/{} |
几点值得注意的细节:
- 资源预留:Kernel 被设计为治理核心,默认预留
250m CPU + 256Mi 内存,上限放宽到1 CPU + 512Mi,保证高负载下的稳定性;Policy Server 与 Audit Collector 则更轻量(请求100m/128Mi,上限500m/256Mi); - 镜像拉取策略:
IfNotPresent在本地已有镜像时不再重复拉取,适合内网/离线集群,也可按需改为Always; - 全局覆盖:
nameOverride、fullnameOverride用于覆盖 Chart 生成的资源名称前缀,imagePullSecrets支持私有镜像仓库。
四、策略挂载与默认策略 ConfigMap
Policy Server 的职责是执行 YAML 策略评估,而策略本身通过 ConfigMap 以只读卷的形式注入容器,挂载路径为/etc/agent-governance-python/agent-os/policies。这一逻辑在 deployment-policy-server.yaml 中体现:当policyServer.policyMount.enabled为true时,Deployment 会挂载名为agent-os-policies(可用policyServer.policyMount.configMapName覆盖)的 ConfigMap 卷。
Chart 内置的 configmap.yaml 提供了一个开箱即用的默认策略default-policy.yaml,其结构如下:
version: "1.0" name: default description: Default governance policy rules: - name: block-dangerous-actions condition: field: action operator: in value: - file_delete - system_exec action: deny priority: 100 message: Dangerous actions are blocked by default policy - name: allow-read condition: field: action operator: in value: - read_file - database_query - web_search action: allow priority: 50 message: Read operations are permitted defaults: action: audit该策略文件体现了清晰的治理语义:
- 优先级裁决:
block-dangerous-actions以priority: 100优先匹配,对file_delete、system_exec等危险动作直接deny,并返回阻断提示消息; - 白名单放行:
allow-read以priority: 50放行read_file、database_query、web_search等只读操作; - Fail-safe 默认:
defaults.action: audit表示未被显式规则覆盖的动作默认进入审计(audit)而非静默放行,保证默认收敛。
如需定制策略,可将修改后的default-policy.yaml内容放入自定义 ConfigMap,并在 values 中指定policyServer.policyMount.configMapName,随后执行helm upgrade agent-os ./charts/agent-os -f my-values.yaml。
五、高可用设计:HPA + PDB + 健康探针三重保障
Chart 默认即具备高可用(HA)能力,其核心机制在三份模板中清晰可见:
1. Kernel 的 HPA 自动扩缩容。 hpa.yaml 使用autoscaling/v2API,同时监听 CPU(目标利用率 70%)与内存(目标利用率 80%)两个资源指标,在minReplicas: 2与maxReplicas: 10之间弹性伸缩,且仅在kernel.autoscaling.enabled为真时渲染。
2. Kernel 与 Policy Server 的 PDB 保护。 pdb.yaml 为 kernel 和 policy-server 各创建一个PodDisruptionBudget,默认minAvailable: 1,保证集群维护(节点排空等)期间始终有可用副本。
3. 全组件健康探针。 三个 Deployment 模板统一配置了:
livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 10 periodSeconds: 15 readinessProbe: httpGet: path: /readyz port: http initialDelaySeconds: 5 periodSeconds: 10即 liveness 探针每 15 秒检查/healthz,readiness 探针每 10 秒检查/readyz,异常容器会被自动重启或从 Service 端点摘除。
默认的 HA 基线是:Kernel 2 副本 + HPA(可扩至 10)+ PDB,Policy Server 2 副本 + PDB,Audit Collector 1 副本 + 持久化存储。原文档还给出了提高可用性的配置示例:
kernel: replicas: 3 autoscaling: minReplicas: 3 maxReplicas: 20 policyServer: replicas: 3 podDisruptionBudget: minAvailable: 2六、审计持久化:PVC 与只读策略卷
审计是 AI Agent 治理的合规基石。 deployment-audit-collector.yaml 在同一个文件中同时渲染 Deployment 与 PersistentVolumeClaim:
- 当
auditCollector.persistence.enabled为真时,容器将审计数据卷挂载到/data/audit; - PVC 名为
<release>-audit,默认请求10Gi存储,访问模式ReadWriteOnce,可通过storageClass指定特定存储类(默认留空走集群默认); - 该文件同时定义了 Deployment 与 PVC,二者被
---分隔符隔离,是 Helm 模板中常见的“关联资源同文件”组织方式。
与之呼应,Policy Server 的策略卷以readOnly: true挂载,审计侧则以可写卷收集日志,读写路径分离,符合最小权限原则。
七、网络安全与身份:NetworkPolicy、ServiceAccount、Secret
Chart 默认开启networkPolicy.enabled: true,由 networkpolicy.yaml 生成隔离策略:
- Ingress:仅允许带 Chart selector 标签的同 Chart Pod 访问 kernel(8080)、policy-server(8081)、audit-collector(8082)三个端口;
- Egress:仅允许访问同 Chart Pod,以及 DNS(53 端口 UDP/TCP),其余出站流量默认被拒。
同时 Chart 还会创建:
- ServiceAccount:由 serviceaccount.yaml 渲染,
serviceAccount.create默认true,三个 Deployment 均通过serviceAccountName绑定该身份; - Opaque Secret: secret.yaml 预置一个空的
OpaqueSecret(data: {}),为接入镜像拉取凭证或注入敏感配置预留了挂载点; - Service:三个组件各有独立的 ClusterIP Service(默认
kernel.service.port: 80映射容器kernel.port: 8080),实现组件间稳定寻址。
八、监控与指标采集
monitoring.enabled默认开启,三个 Deployment 的 Pod 模板都会注入 Prometheus 抓取注解(见各 Deployment 模板):
annotations: prometheus.io/scrape: "true" prometheus.io/port: "9090" prometheus.io/path: /metrics即所有 Pod 的9090端口暴露/metrics端点,供 Prometheus 自动发现抓取。若集群内的 Prometheus 未开启注解发现(annotation-based service discovery),需在 Prometheus 配置中启用kubernetes_sd_configs的相应 role 与注解过滤,或手动配置抓取目标。指标覆盖范围包括 Kernel 的治理请求吞吐与延迟、Policy Server 的评估结果分布、Audit Collector 的写入积压等,可作为后续 SLO 追踪与告警的数据源。
九、小结
Agent OS Helm Chart 以"一个命令部署完整治理栈"的方式,将无状态 Kernel、YAML 策略评估服务与持久化审计收集器打包为生产就绪的 Kubernetes 工作负载,并通过 HPA、PDB、健康探针、NetworkPolicy、Prometheus 注解等内置能力将高可用、安全与可观测性沉淀为默认配置。无论是快速体验治理内核,还是将其嵌入企业级 Agent 平台,都可以从本 Chart 出发,结合实际策略与资源需求进行定制。
如需深入理解策略语言与评估引擎,可继续阅读 agent-os/src 下的源码实现及其测试用例,或参考 agent-os/README.md 与 agent-os/ARCHITECTURE.md 了解整体设计。
【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考