
Agent-SRE Helm Chart 实战指南在 Kubernetes 上部署 AI 代理可靠性引擎与 AgentRollout 渐进式发布【免费下载链接】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-SRE 的 Helm Chartagent-governance-python/agent-sre/deployments/helm/README.md展开系统讲解如何在 Kubernetes 集群上一键部署 Agent-SRE——面向 AI Agent 系统的可靠性工程层SLO、错误预算、混沌测试、成本护栏、渐进式发布等能力均由该服务承载。读完本文你将掌握 Chart 的安装命令、全部可配置参数及其底层作用、随 Chart 一起安装的AgentRollout自定义资源CRD的完整结构与用法并能把 canary金丝雀发布、流量权重、自动回滚条件与 Agent-SRE 的渐进式发布引擎rollout.py对应起来理解其工作原理。一、Chart 概览Helm v2 规范与版本约定Chart 元数据定义在 Chart.yaml 中字段值说明apiVersionv2Helm 3 兼容的 Chart 规范版本nameagent-sreChart 名称也是默认资源名前缀typeapplication应用型 Chart区别于 library 型version0.1.0Chart 自身版本用于版本回滚与升级appVersion0.1.0应用版本作为镜像 tag 的默认值descriptionReliability Engineering for AI Agent Systems明确该 Chart 的目标为 AI Agent 系统提供可靠性工程值得注意的关键约定image.tag默认取自appVersion。该逻辑实现在 templates/_helpers.tpl 的agent-sre.imageTag模板函数中{{- define agent-sre.imageTag -}} {{ .Values.image.tag | default .Chart.AppVersion }} {{- end }}也就是说只要在values.yaml中把image.tag留空默认Helm 渲染时就会自动回退到 Chart 的appVersion发布新版本时只需同步升级appVersion即可无需手工维护镜像 tag。二、安装与使用从默认安装到自定义 values2.1 默认安装在仓库根目录执行helm install agent-sre ./deployments/helm/agent-sre该命令会基于./deployments/helm/agent-sre目录下的 templates/ 模板渲染并安装以下三类资源Deploymentdeployment.yaml以replicaCount指定的副本数运行agent-sre容器Serviceservice.yaml仅在api.enabledtrue时创建将 8080 端口暴露为 ClusterIP 服务CustomResourceDefinitioncrd.yaml仅在crd.installtrue时安装agentrollouts.agent-sre.ioCRD。2.2 使用自定义 values 安装原文档给出的典型场景是开启 OpenTelemetry 遥测导出helm install agent-sre ./deployments/helm/agent-sre \ --set otel.enabledtrue \ --set otel.endpointhttp://otel-collector:4317这两个参数在 deployment.yaml 模板中会转化为容器的环境变量注入env: - name: AGENT_SRE_PORT value: {{ .Values.api.port | quote }} {{- if .Values.otel.enabled }} - name: OTEL_EXPORTER_OTLP_ENDPOINT value: {{ .Values.otel.endpoint | quote }} - name: OTEL_SERVICE_NAME value: {{ .Values.otel.serviceName | quote }} {{- end }}可见otel.enabled是一个开关只有置为trueOTEL_EXPORTER_OTLP_ENDPOINT与OTEL_SERVICE_NAME才会被写入容器环境。这与 Agent-SRE 内置的 OpenTelemetry 导出器见 src/agent_sre/integrations/otel/ 的traces.py、metrics.py配合可将 SLO、追踪数据送往 Grafana、Prometheus、Jaeger 等 OTLP 兼容后端。对于更复杂的配置如多副本、资源配额、亲和性建议直接编辑 values.yaml 后使用-f指定文件安装而非堆叠大量--set。2.3 内置健康检查模板在 Deployment 中自动注入了两类探针deployment.yamllivenessProbeGET /healthinitialDelaySeconds5periodSeconds10探活失败将重启容器readinessProbeGET /healthinitialDelaySeconds3periodSeconds5就绪前不会接收流量。/health端点由 Agent-SRE 的 REST API 服务提供见 src/agent_sre/api/server.py这也是api.enabled默认开启的原因——健康检查依赖 API 端口。三、Configuration全部参数、默认值与底层语义原文档的配置表是部署的核心依据。下表完整保留原表并补充 values.yaml 中已定义但原表未列出的参数供完整参考3.1 原文档参数表完整继承ParameterDescriptionDefaultreplicaCountNumber of replicas1image.repositoryContainer imageghcr.io/microsoft/agent-governance-toolkit/agent-sreimage.tagImage tagappVersionservice.typeService typeClusterIPservice.portService port8080api.enabledEnable REST APItrueotel.enabledEnable OTEL exportfalseotel.endpointOTLP endpointfleet.enabledEnable fleet managementtruecrd.installInstall AgentRollout CRDtrue3.2 values.yaml 中可进一步定制的参数ParameterDescriptionDefaultimage.pullPolicy镜像拉取策略IfNotPresentapi.portREST API 容器端口同时注入AGENT_SRE_PORT8080resources.limits.cpu/resources.limits.memoryCPU/内存上限500m/256Miresources.requests.cpu/resources.requests.memoryCPU/内存请求100m/128MinodeSelector节点选择器{}tolerations污点容忍[]affinity亲和性规则{}slo.enabled启动时加载 SLO 模板开关trueslo.templatesSLO 模板名称列表如coding-agent、customer-support-agent[]otel.serviceNameOTLP 导出的服务名agent-srefleet.heartbeatTimeoutSeconds舰队心跳超时秒300fleet.successRateThreshold舰队成功率阈值0.9参数语义说明均有模板或源码佐证api.port与service.port的区别api.port是容器内监听端口模板中注入AGENT_SRE_PORT环境变量并映射为名为http的 containerPortservice.port是 Service 对外端口通过targetPort: http转发到容器端口见 service.yaml。两者默认都为 8080但可分别调整。slo.templates对应 src/agent_sre/specs/ 目录下预置的领域 SLO 模板。以 coding-agent.yaml 为例该模板为编码类 Agent 定义了 5 个 SLITaskSuccessRate目标 0.90、ResponseLatencyP95 30s、CostPerTask1.00 USD、HallucinationRate0.02、ToolCallAccuracy0.995及 30 天错误预算窗口。使用时在 values 中写slo.templates: [coding-agent]即可在启动时加载。fleet.*对应 Agent-SRE 的 Fleet Management多 Agent 注册表、心跳与聚合健康能力src/agent_sre/fleet/successRateThreshold0.9表示当舰队整体成功率低于 90% 时视为不健康。四、CRD UsageAgentRollout 资源详解Chart 安装时会默认注册agentrollouts.agent-sre.io这个 Namespaced 作用域的 CRD其 schema 完整定义在 templates/crd.yaml 中。安装完成后即可创建AgentRollout资源来声明一次 Agent 版本的渐进式发布。4.1 原文档示例完整继承apiVersion: agent-sre.io/v1alpha1 kind: AgentRollout metadata: name: my-agent-v2 spec: strategy: canary current: name: my-agent version: v1 candidate: name: my-agent version: v2 steps: - name: canary-5 weight: 0.05 durationSeconds: 3600 - name: canary-50 weight: 0.50 durationSeconds: 7200 - name: full weight: 1.0 rollbackConditions: - metric: error_rate threshold: 0.05 operator: gte4.2 spec 字段与校验约束源自 CRD schema字段类型/约束说明descriptionstring可选发布说明strategyenumcanary/shadow/blue_green默认canary发布策略currentobjectname/version/image/model当前线上版本描述candidateobject必填其中name、version必填目标候选版本描述stepsarray分阶段流量推进步骤rollbackConditionsarray自动回滚触发条件sloRequirementsarrayname/target/indicator可选的 SLO 门槛steps中每个 step 的字段约束schema 中明确限定namestring步骤名weightnumber取值范围 [0, 1]表示分配给候选版本的流量比例durationSecondsinteger最小值 0该权重持续的时间manualGateboolean默认false置为true表示该步骤需要人工确认后才继续推进。rollbackConditions中每个条件的字段约束metricstring监控指标名如error_ratethresholdnumber阈值operatorenumgte/lte/gt/lt四选一。CRD 还通过additionalPrinterColumns提供了kubectl get agentrollout时直接展示的列Strategy.spec.strategy、Phase.status.phase、Weight.status.currentWeight、Age方便快速巡检发布状态。status子资源包含phase、currentStep、currentWeight、conditions等字段供控制器回写进度。4.3 与源码引擎的对应关系CRD 中的strategy枚举与 rollout.py 中的DeploymentStrategy一一对应class DeploymentStrategy(Enum): SHADOW shadow CANARY canary BLUE_GREEN blue_green该模块还定义了RolloutStatepending/shadow/canary/promoting/complete/rolled_back/failed/paused对应 CRDstatus.phase的可能取值。steps[].weight的语义同样有源码印证——RolloutStep.weight的注释明确为 0.0 to 1.0 — fraction of traffic to candidate候选版本流量占比rollbackConditions的operator则对应AnalysisCriterion的comparatorgte/lte/eqAnalysisCriterion.evaluate()会按比较器对指标值与阈值求值决定步骤是否通过。因此Helm Chart 安装的 CRD 只是声明层真正执行渐进式发布shadow 对比、流量切分、分析门槛、自动回滚的是 Agent-SRE 的 delivery 引擎二者通过同一套strategy/weight/operator语义保持契约一致。五、升级、运维与验证建议查看已渲染的资源安装前可用helm template agent-sre ./deployments/helm/agent-sre预览渲染结果核对环境变量、探针与 CRD schema 是否符合预期。升级发布修改 values 后执行helm upgrade agent-sre ./deployments/helm/agent-sre -f my-values.yaml同步升级Chart.yaml的appVersion即可自动切换镜像 tag。验证 CRD 安装kubectl get crd agentrollouts.agent-sre.io应显示ESTABLISHED之后kubectl apply -f rollout.yaml创建发布对象用kubectl get agentrollout观察Strategy/Phase/Weight列。健康检查kubectl get pods查看就绪状态Service 就绪后可通过kubectl port-forward svc/release-agent-sre 8080:8080访问 REST API如/health、SLO 状态端点。前提与限制本 Chart 的 CRD 为v1alpha1版本见 crd.yamlAPI 仍处早期阶段fleet.enabled、slo.templates等功能是否生效取决于 Agent-SRE 镜像中对应引擎是否启用建议结合 agent-sre README 的能力矩阵SLO Engine、Progressive Delivery、Fleet Management 等均为 Stable 状态确认版本对应关系。总结Agent-SRE 的 Helm Chart 用一份声明式清单把可靠性工程服务 渐进式发布 CRD整体交付到 Kuberneteshelm install一条命令即可获得带健康检查、资源配额、OTEL 导出能力的 Deployment同时注册AgentRolloutCRD 用于声明 canary/shadow/blue-green 发布。理解 values.yaml 中每个参数与 deployment.yaml、crd.yaml 模板的对应关系以及 CRD 契约与 rollout.py 引擎的一致性是安全地将 Agent 发布纳入 SRE 流程的关键。【免费下载链接】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),仅供参考