mdo架构如下, 通过manager + agent两个概念管理集群,manager 和 agent上运行的都是无状态的服务,集群状态持久化到etcd中。
devops架构.png
image.png
k8s架构如下也是manager + agent两个概念管理集群(我个人理解master +
slave和manager+agent是一个意思,只不过狗屁的政治正确导致还是叫manager,
agent文明一些)。集群的状态持久化到etcd中,这样天然好做高可用。
k8s-components.png
从架构上来看MDO和k8s基本一致,如果k8s加监控告警也基本上使用prometheus+altermanager+exporter三件套,时钟同步也会用ntp
server+client两件套。但是,k8s的容器运行时和网络都采用组件化的方式。
k8s_components.png
* Runonce 只运行一次的job,job的运行状态会被记录到etcd中,如果失败不会自动retry,运行失败需要手动retry。* Normal 可以retry,运行时exit code为0时标识Done否则会retry,和runonce区别在于normal job是幂等或者是可以重复执行的。通常用来处理数据库初始化等。
* 高可用 使用KeepAlived + VIP + nginx提供高可用入口,其他高可以服务。etcd自身高可用,备份,恢复* 单向网络 通过隧道的方式实现manager到agent的单向网络。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。