feat: convert Deployment to Rollout CRD with canary strategy

- Replace deployment.yaml with rollout.yaml
- Add canary-service.yaml for traffic splitting
- Add analysistemplate.yaml for Prometheus health checks
- Update HTTPRoute with dual backends (stable + canary)
- Update overlays with Rollout patches
- Add Rollout transformer configuration for Kustomize
This commit is contained in:
Admin
2026-02-01 23:24:13 +00:00
parent fc5c6de051
commit eaf56bc1b6
10 changed files with 108 additions and 28 deletions

View File

@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
name: success-rate
labels:
app: myapp
managed-by: argocd
spec:
args:
- name: service-name
metrics:
- name: success-rate
interval: 30s
successCondition: result[0] >= 0.95
failureLimit: 3
provider:
prometheus:
address: http://kube-prometheus-stack-prometheus.monitoring.svc.cluster.local:9090
query: |
sum(rate(http_requests_total{service="{{args.service-name}}",code=~"2.."}[1m]))
/
sum(rate(http_requests_total{service="{{args.service-name}}"}[1m]))