查看其它 2 个回答bryan的回答

bryanbryan软件架构设计师金融研发

一个容器云平台经常有数十台甚至上百台的主机作为集群的计算资源,承担容器计算的负载。因为各种规范和约束,一个企业中往往存在不止一套的容器云集群实例,为防止单点失效,一方面需要考虑管理平台的高可用,一方面要考虑容器平台自身的高可用
1.主控节点的高可用:集群中一般分为master节点和node节点,master节点主要承担运行管理功能,此时如果节点出现单节点故障,不会影响正常容器运行,但是当运行容器出现问题时就会影响容器的正常调度,因此主节点在产品中一般采用多个节点的形式,通常是通过HAProxy作为负载,将多个主节点配置成集群,访问单点失效
2.计算节点的高可用:node节点主要用于容器运算,当一个节点因为各种原因出现故障时,需要管理节点发挥监控功能,将其容器迁移到其他节点从而保证整个应用的整体处理能力
3.组件高可用:在云平台中需要依赖docker registry,一般docker registry作为镜像集中存放地点也需要进行高可用,从而保证容器启动等过程与registry的通信和和同步;为了外部访问应用的方便,一般云平台采用域名访问访问,并且会有多个router固定运行在一些node节点上,这个router也需要有多个来保持高可用
4.应用服务高可用:在保证平台运行机制高可用的同时,应用自身也需要保持高可用,一般是通过多个容器,通过保持容器运行的最小个数大于1来实现业务的高可用,当发生故障时由K8S进行故障调度
总之,一个容器云平要实现企业级的高可用,在各个层面的设计和实现中需要实现没有单点的设计,从而避免由于单点失效而带来应用系统或者管理功能的功能不正常。

银行 · 2018-03-31
浏览1491

回答者

bryan
bryan0514
软件架构设计师金融研发
擅长领域: 云计算容器容器云

bryan 最近回答过的问题

回答状态

  • 发布时间:2018-03-31
  • 关注会员:3 人
  • 回答浏览:1491
  • X社区推广