Files
nexus/wiki/concepts/Pull-Model.md
2026-04-20 00:02:56 +08:00

38 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Pull Model"
type: concept
tags: [DevOps, GitOps, CD, 部署]
sources: [ctp-topic-33-an-introduction-to-gitops.md]
last_updated: 2026-04-19
---
## Definition
Pull Model拉取模型是 GitOps 推荐的一种持续交付实现模式GitOps Agent 持续监控 Git 仓库和目标系统的状态,自动将 Git 中的期望状态同步到实际运行环境。
## How It Works
1. GitOps Agent 安装在目标环境(如 Kubernetes 集群)
2. Agent 持续轮询 Git 仓库检测配置变化
3. Agent 同时监控实际系统状态
4. 当检测到差异时,自动将变更同步到目标系统
## Advantages
- 更安全:无需开放外部访问权限到集群
- 更好的可见性Agent 直接观察实际状态
- 自我修复:自动纠正配置漂移
- 简化网络架构:无需入站 webhook
## Comparison with Push Model
| 特性 | Pull Model | Push Model |
|------|-----------|------------|
| 触发方式 | Agent 主动拉取 | CI/CD 流水线推送 |
| 部署位置 | Agent 运行在目标环境 | CI/CD 工具运行在外部 |
| 安全性 | 更高,无需开放入站端口 | 需要开放 webhook 端口 |
| 复杂度 | 较低(无外部依赖) | 较高(需要 CI/CD 集成) |
## Related Concepts
- [[GitOps]]
- [[CI/CD 流水线]]
- [[Idempotent Operation]](幂等操作)
## Related Sources
- [[ctp-topic-33-an-introduction-to-gitops]] — GitOps 入门介绍