瓜子云平台的实践经验

瓜子云平台采用多元技术栈,包括PHP、Java、Go、Python,着重PHP的统一部署流程。面临业务快速迭代和微服务化带来的运维挑战,平台致力于CI/CD标准化,支持image和tar包部署,兼容云上和虚拟机。初期关注测试环境部署,通过BGP协议实现高性能网络,并提供ACL能力。然而,三层转发限制了二层隔离,海量并发下iptable可能成瓶颈。平台具备权限控制、预发布、灰度部署、日志监控、配置管理和定时任务功能,同时探索多集群调度、资源利用率优化及ServiceMesh的应用。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

私有云平台的建设和公司在不同阶段的需求是息息相关的,瓜子云平台从 2017 年启动项目,到目前承载了公司上千个应用服务,每月服务发布次数达上万次。在公司业务爆发性增长的背景下,云平台团队从 0 到 1 的完成了平台搭建,初步实现了平台产品化,也总结出了一些云平台建设的实践和经验。
这篇文章和大家分享下瓜子云平台的一些实践经验。瓜子是在 2017 年年中启动云平台项目的,当时有如下背景:
  • 技术栈多样化,PHP、Java、Go、Python 都有使用,但只有 PHP 建立了相对统一的部署流程

  • 业务迭代速度快,人员扩张速度快,再加上微服务化改造,项目数量激增,基于虚拟机的运维压力很大

  • 测试环境没有统一管理,业务开发人员自行零散维护


基于此,我们的 0.x 版本,也是原型版本选择了如下的切入点:
  • 在 CI/CD 层面,先定义出标准流程,但是并不涉及细节的规范化,便于用户学习,快速将现有流程套进去

  • 同时支持 image 和 tar 包两种产出,为云上部署和虚拟机部署做好构建路径的兼容,在将来迁移时这部分可以做到几乎无缝

  • 先支持测试环境的部署,在验证平台稳定性的同时,不断收集用户需求进行快速迭代


集群核心组件的技术选型

640?wx_fmt=png


在服务编排和资源管理方面,Docker 和 Kubernetes 已经比较成熟了,基于容器的微服务化也是大势,再加上我们对强隔离没有诉求,所以跳过了 OpenStack,直接选择了 Kubernetes 方案。
既然用了 Kubernetes 肯定就要解决跨节点的容器网络通信问题,因为我们是自建机房,没有公有云在网络层面的限制,所以没有考虑应用范围更广但是性能和可调试性较差的 VXLAN 方案。最开始选择的是 Macvlan + 自研 IPAM 的方式,之后转向了方案完成度更高的基于 BGP 协议的 Project Calico。
Calico 的优点如下:
  • 基于 BGP 协议,转发平面依靠主机路由表,不涉及任何封包解包操作,性能非常接近原生网卡,并且方便抓包调试

  • 组件结构简单,对 Kubernetes 支持很好

  • 可以和 IDC 路由器通过 BGP 协议打通,直接对外广播容器 IP,让集群内外可以通过 IP 直连

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值