💡
原文英文,约500词,阅读约需2分钟。
📝
内容提要
Agoda通过开发macOS虚拟化Kubelet(macOS-vz-Kubelet)将macOS基础设施与Kubernetes集成,解决了可扩展性和性能问题,支持高效的CI/CD流程,并引入符合OCI标准的macOS VM镜像格式,提升了部署效率。
🎯
关键要点
- Agoda通过开发macOS虚拟化Kubelet(macOS-vz-Kubelet)将macOS基础设施与Kubernetes集成。
- Agoda依赖Apple基础设施进行开发,之前管理200台Mac Minis用于持续集成(CI)流程。
- 传统方法面临可扩展性和性能问题,尤其是在Apple Silicon推出后。
- 现有的虚拟化框架(如QEMU/KVM)存在一定限制,之前的Kubernetes解决方案无法满足需求。
- macOS-vz-Kubelet允许Kubernetes直接管理原生macOS工作负载,使用Go构建,利用Apple的虚拟化框架。
- 该项目支持创建混合运行时Pods,第一个容器为macOS VM,其他容器由Docker管理。
- 引入符合OCI标准的macOS VM镜像格式,提升了镜像创建、打包和管理的效率。
- Agoda采用了从单体GraphQL API到微服务架构的转型,减少了干扰,增强了团队对全栈的控制。
- Agoda实现了桥接网络与DHCP,以便通过远程IP直接访问VM。
- 使用移动设备管理(MDM)解决方案如JAMF进行Mac Minis的初始配置和设置。
- macOS-vz-Kubelet的推出是Agoda在大规模管理macOS工作负载方面的重要一步。
➡️