由于容器化实践当前还处于摸索阶段,请有丰富实践经验的专家们给予解答以下三个疑惑。
一,应用容器化的是否存在一定适用范围?存在一些限定条件?
二,应用容器化后的监控思路及常用的监控方案?
三,应用容器化后的日常维护及自动化工具选择?
一,应用容器化的是否存在一定适用范围?存在一些限定条件?
a、微服务架构应用,天然易于容器化部署
b、无状态服务的应用,也可以上容器
c、有强弹性伸缩需求的应用,可以讨论上容器
d、需要敏捷迭代的应用,也建议上容器
目前,数据库一般都是放到容器集群以外。一方面是技术不足够成熟,一方面是企业内部数据库管理要求所致。
二,应用容器化后的监控思路及常用的监控方案?
目前,主流的监控的方案都是Prometheus实现对资源层的监控,如:CPU、内存、流量等。
应用性能监控一般采用skywalking来实现。
三,应用容器化后的日常维护及自动化工具选择?
如果对K8s比较熟悉,可以直接使用开源k8s来维护。
如果想简化日常运维工作,可以购买博云的容器云管理平台。
http://www.bocloud.com.cn/product/BeyondContainer
1、无状态应用接入容器最为简单,数据库特别是大型关系型数据库较难。
2、社区有大量开源的exporter, 基本都是开箱即用,不管是常用的服务监控,还是对容器自身都能轻松实现(node_exporter,cAdvisor,kube-stat-metrics)。
3、K8S已经做的很全面了,上了容器之后工作量相较原有基于虚拟化或物理机的管理维护,工作量本身就能减轻很多,如果喜欢 界面化工具,那么开源社区有rancher,商业化方式有灵雀/博云等。