作者:Kyle Allan和Carl Quinn(文章来源:Riot Games) 译 者:TF中文社区

这些技术已经相当成熟并且可以大规模使用,但是安装起来却复杂且棘手,这使得它们难以进行尝试和评估。
当时,它们对容器的支持还非常有限,没有跟踪Docker的快速发展,并且在Docker生态系统中表现不佳。
它们不支持容器组(pods)——我们认为需要将sidecar容器与许多服务捆绑在一起(附注:sidecar是容器日志的一种模式)。
Kubernetes刚刚从LMCTFY演变而来,尽管它看起来很有希望,但尚不清楚它的未来发展是否能满足我们的需求。
Kubernetes还没有一个约束系统可以像我们需要的那样进行容器放置。
Fleet是后来开放源代码的,当时还不够成熟。
Fleet似乎更专注于系统服务的部署,而不是常规应用程序服务。
集群——一组Docker主机。
打包(Packs)——启动一组一个或多个容器所需的元数据。类似于Kubernetes Pod加Replication控制器。
从某些外部事实来源(如来源控制)发布到Admiral
一经交付给Admiral便一成不变
Spec集群和主机描述了集群中可用的资源
Spec打包描述了运行服务所需的资源、约束和元数据
镜像实际的运行对象
Live集群和主机镜像正在运行的Docker守护程序
Live打包镜像正在运行的Docker容器组
通过与Docker守护进程通信,实现可恢复性
Admiral用Go编写,并且在生产数据中心中运行时,被编译并打包到Docker容器中。Admiral有几个内部子系统,其中大部分如下图所示。

从用户的角度来看,与Admiral的交互是通过其提供的admiralctl命令行工具进行的,该工具通过REST API与Admiral进行通信。借助admiralctl,用户可以通过标准指令访问Admiral的所有功能:POST新的Spec打包以进行调度,DELETE旧包(Packs),以及GET当前状态。

在整个集群中的每个主机上
在名为“myhost.riotgames.com”的特定主机上
在集群里每个标记的区域中
·END·
更多“揭秘LOL”系列文章

关注微信:TF中文社区

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69957171/viewspace-2677175/ ,如需转载,请注明出处,否则将追究法律责任。