Argo Rollouts 1.8 发布
Argo Rollouts 1.8 现已发布,具体更新亮点如下:
Canary Step 插件
该新功能允许你在配置的 Canary Rollout 中设置新的步骤。通过这个插件系统,你可以创建插件,并在 Canary 分析过程中执行自己的步骤。这扩展了 Argo Rollouts 的能力,丰富了渐进交付体验,以适应多种场景。这是 v1.5 版本中为流量路由器和指标提供者创建插件系统的延续。
一旦实现,可以在 argo-rollouts-config ConfigMap 中进行配置:
apiVersion: v1
kind: ConfigMap
metadata:
name: argo-rollouts-config
data:
stepPlugins: |-
- name: "argoproj-labs/step-exec" # name of the plugin
location: "file://./my-custom-plugin" # supports http(s):// urls and file://Ya
用户可以将此插件作为 Canary 步骤的一部分进行配置:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: example-plugin-ro
spec:
strategy:
canary:
steps:
- plugin:
name: argoproj-labs/step-exec
config:
command: echo "hello world"
分析连续成功限制
该功能提供了当前分析的反向。主要用例是允许用户在条件(特别是在步骤分析中)成立之前,等待再进行下一步。示例:
apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
name: success-rate
spec:
args:
- name: service-name
metrics:
- name: success-rate
interval: 1m
successCondition: result[0] >= 0.95
consecutiveSuccessLimit: 3
provider:
prometheus:
address: http://prometheus.example.com:9090
query: |
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}",response_code!~"5.*"}[1m]
)) /
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}"}[1m]
))
其他功能
- 新的 Prometheus 指标:build_info (#3591)
- 启用 pprof 性能分析支持 (#3769)
- 允许为 Nginx Canary 指定完整的注释 (#3671)
- 下载插件的凭证 (#3905)
更多详情可查看博客。