网络部署与系统代理构建及应用可观测性实践
1. 网络设备配置部署原则
在谷歌的 B2 骨干网络中,网络设备配置部署遵循着特定原则,这些原则已应用了十年之久。此前,部署工作依赖脚本,手动编写或生成配置后应用到网络,操作员需实时监控进度并处理可能出现的问题。但随着规模扩大,这种方式暴露出问题,SRE 服务团队因复杂度增长过快而逐渐摒弃类似模式。
网络工程开始转向更正式的系统,将骨干网络的工作执行集中化,这样便于统一监控,也能在紧急情况下集中停止部署。同时,需要对所有部署进行规范化,确保每次都以相同方式执行,并进行相同的自动化检查,减少对人工操作的依赖。
2. 系统代理的引入与优势
2.1 系统代理的作用
以往自动化设备操作,通常通过本地执行应用程序或使用 SSH 远程执行命令。但管理小规模机器集群时,编写一个通过 RPC 连接的服务更为实用。结合之前讨论的 gRPC 服务知识,能以更统一的方式控制机器。系统代理可用于以下方面:
- 安装和运行服务
- 收集机器运行统计信息
- 收集机器库存信息
2.2 系统代理的优势
使用 gRPC 定义一个应用程序编程接口(API),不同操作系统的代理可实现相同的 RPC,从而统一控制机器集群,不受操作系统限制。而且 Go 语言几乎能在任何环境运行,可使用相同语言编写不同代理。
3. 系统代理的设计
3.1 目标与功能考虑
以 Linux 为目标设计系统代理,同时使 API 具有通用性,以便其他操作系统也能使用。可考虑以下功能:
- 使用 system
超级会员免费看
订阅专栏 解锁全文
3279

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



