--- url: /sre/devops/cicd-03.md --- # 从零实现 CI/CD:声明式 API,Docker Compose 容器编排实践 云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和**声明式 API**。 Docker Compose 的技术理念,以及配置文件 `docker-compose.yml` 则是声明式 API 的一个重要实践。 ## 声明式 API 声明式 API(Declarative API)是一种定义系统期望状态的接口设计范式,用户只需描述「要什么」,而非「怎么做」,系统通过持续调和自动将实际状态收敛到期望状态。 它是云原生**自动化**和**弹性**的核心机制。 与之对应的是命令式 API,用户需明确每一步操作。以下是最典型与常见的命令式 API和声明式 API 的类型对比,按领域分类整理: | 领域 | 命令式 API(Imperative) | 声明式 API(Declarative) | | -------------- | -------------------------------------------------- | ------------------------------------------------------ | | **云原生/K8s** | kubectl run、create、delete(需手动执行每一步) | kubectl apply -f yaml(定义状态,系统自动调和) | | **数据库** | 手写遍历、连接、过滤等逻辑(如Java代码处理数据) | SQL 查询语句(如`SELECT * FROM users WHERE age > 18`) | | **前端开发** | jQuery 操作 DOM(如`$('.btn').click(...)`) | Vue/React 模板语法(如`