实例间资源隔离。尤其是在业务高峰期,虚拟机宿主实例间CPU/内存资源争抢。
应用出异常时需要人工干预,导致项目可用率降低。
回滚应用过程耗时较长公司业务发展快,对系统稳定性要求越来越高,我们急需解决上述问题。
技术选型容器技术近年来已经趋于成熟,越来越多的企业已经开始使用Docker。所以我们采用项目容器化来解决上述问题,对于容器集群的管理和编排工具,我们选择了Google开源的项目Kubernetes,优势如下:服务负载均衡
服务发现
应用高可用
滚动升级
自动伸缩
快速部署
资源限制
网络隔离
使用到的Kubernetes组件如下:镜像仓库(Harbor,VMware开源产品)
网络插件Calico(使用BGP模式,方便业务定位故障源)
日志收集(Filebeat-Kafka–Logstash-Elasticsearch-Kibana)
DNS插件CoreDNS
服务暴露(NginxIngress)
监控(Prometheus+Grafana)
自研部署系统集成Kubernetes应用部署
集群架构Kubernetes高可用架构图(借用官方架构图转载请注明:http://www.aoshaliwen.com/zljd/21760.html