结合 华为云原生服务 和 极简工具链 实现高效可控的自动化部署:
一、架构简化设计(适配小团队)
1. 部署模式选择
graph LR
GitLab -->|推送代码| GitLab-CI -->|构建镜像| 华为云SWR(容器镜像仓库)
GitLab-CI -->|执行部署| 华为云CCI(云容器实例) -->|对外服务| ELB(华为云弹性负载均衡)
华为云CCI -->|数据存储| RDS(华为云数据库)
-
放弃K8s:使用华为云 CCI(云容器实例) 直接运行Docker容器,无需管理集群
-
极简编排:用
docker-compose.prod.yml替代复杂编排工具 -
托管服务优先:使用华为云RDS(MySQL)、DCS(Redis)等托管服务,降低运维复杂度
2. 工具链调整
| 原方案组件 | 替代方案 | 华为云对应服务 |
|---|---|---|
| Kubernetes | Docker Compose + CCI | 云容器实例 CCI |
| Jenkins | GitLab CI/CD 原生能力 | 无(直接使用GitLab) |
| Terraform | 华为云资源模板 + 云API | 应用编排服务 AOS |
| Prometheus | 华为云APM(应用监控) | 应用运维管理 APM |
二、环境要求与华为云服务映射
| 资源名称 | 原环境要求 | 华为云对应服务 | 适配性验证 |
|---|---|---|---|
| 应用服务器 | Ubuntu22.04.4, 16核32G | CCI(云容器实例):直接运行Docker容器,按需分配资源 | ✅ 完全支持 |
| 数据库服务(主从) | 8核32G, 高可用主从 | RDS(云数据库):选择MySQL主备实例,自动同步数据,支持故障切换 | ✅ 完全支持 |
| Redis集群 | 4分片, 16G内存 | DCS(分布式缓存服务):选择Redis集群版,支持分片扩展 | ✅ 完全支持 |
| 分布式文件存储 | 1T存储 | OBS(对象存储)或SFS Turbo(文件存储):通过容器挂载卷实现持久化存储 | ✅ 需配置卷挂载 |
| 负载均衡服务 | 无具体规格 | ELB(弹性负载均衡):自动关联CCI容器实例,支持HTTP/HTTPS/TCP流量分发 | ✅ 完全支持 |
| 测试环境服务器 | Ubuntu22.04.4, 24核32G | ECS弹性云服务器:运行Docker容器,通过GitLab Runner执行CI/CD流水线 | ✅ 需优化资源配置 |
三、GitLab CI/CD 轻量化改造
1. 基础Pipeline示例
# .gitlab-ci.yml
stages:
- build
- scan
- deploy
variables:
SWR_REGISTRY: swr.cn-east-3.myhuaweicloud.com/your-namespace # 华为云镜像仓库地址
build-image:
stage: build
scrip

最低0.47元/天 解锁文章
2152

被折叠的 条评论
为什么被折叠?



