Flagger是一个开源的渐进式交付工具,专为Kubernetes设计。它提供自动化的金丝雀发布、蓝绿部署和A/B测试能力,帮助团队安全地将应用程序更新部署到生产环境。通过与服务网格和监控系统集成,Flagger能够监控关键指标并在检测到问题时自动回滚,从而降低发布风险。
Docker Run
bashdocker run -d \ --name flagger \ --restart always \ -e "FLAGGER_METRICS_SERVER=http://prometheus:9090" \ -e "FLAGGER_KUBECONFIG=/etc/kubeconfig" \ -v /path/to/kubeconfig:/etc/kubeconfig \ flagger/flagger:latest
Docker Compose
yamlversion: '3' services: flagger: image: flagger/flagger:latest container_name: flagger restart: always environment: - FLAGGER_METRICS_SERVER=http://prometheus:9090 - FLAGGER_LOG_LEVEL=info - FLAGGER_KUBECONFIG=/etc/kubeconfig volumes: - /path/to/kubeconfig:/etc/kubeconfig
推荐通过Helm chart部署到Kubernetes集群:
bashhelm repo add flagger https://flagger.app helm repo update helm install flagger flagger/flagger \ --namespace flagger-system \ --create-namespace \ --set meshProvider=istio \ --set metricsServer=http://prometheus:9090
| 环境变量 | 描述 | 默认值 |
|---|---|---|
FLAGGER_METRICS_SERVER | 监控指标服务器地址 | http://prometheus:9090 |
FLAGGER_LOG_LEVEL | 日志级别 (debug, info, warn, error) | info |
FLAGGER_KUBECONFIG | Kubernetes配置文件路径 | /root/.kube/config |
FLAGGER_NAMESPACE | 监控的命名空间 | 所有命名空间 |
FLAGGER_MESH_PROVIDER | 服务网格提供商 (istio, linkerd, contour等) | istio |
FLAGGER_ANNOTATION_PREFIX | 自定义注解前缀 | flagger.app |
Flagger使用Kubernetes CRDs定义部署策略:
Canary配置示例
yamlapiVersion: flagger.app/v1beta1 kind: Canary metadata: name: my-app namespace: default spec: targetRef: apiVersion: apps/v1 kind: Deployment name: my-app progressDeadlineSeconds: 60 service: port: 80 targetPort: 8080 analysis: interval: 30s threshold: 10 maxWeight: 50 stepWeight: 5 metrics: - name: request-success-rate thresholdRange: min: 99 interval: 1m webhooks: - name: load-test url: http://flagger-loadtester.test/ timeout: 15s metadata: cmd: "hey -z 1m -q 10 -c 2 http://my-app-canary.default.svc.cluster.local/"
Flagger可以与以下工具生态系统集成:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务