容器化后,应用都是容器化的,也就是以前直接运行在操作系统之上大的单体应用程序,需要根据单体应用架构,拆分为许多微服务,基本上每个微服务都运行在独立的一个容器里面,紧密耦合的微服务,考虑到通信性能,也可以运行在同一个容器里面。通过上面的分析,容器化后,要求运维人员具备docker的诸多知识。还有微服务之间的调度关系, 容器的调度,需要用到容器生态圈里面的容器编排引擎,现在最火的当属kubernetes了。存储镜像使用的镜像仓库,也需要搭建,维护,清理。总之 ,容器化之后,对运维人员提出了新的要求,需要运维人员具备专业的容器化技能,还需要转变原来传统的思维方式。
收起微服务,容器化的实质是解决了业务复杂性问题(通过微服务降低单模块的复杂度),提高了企业敏捷性,但代价是增加了运维的复杂度,因为微服务是分布式,而分布式是复杂,好在OpenShift/K8S提供了好多工具,能够帮助运维人员面对这种情况。所以运维人员需要具备一些新技能:
1. 首先是K8S,这个不用多说,PaaS平台的基础,什么pod, service, replicateset, statefulset, pv, pvc, K8S软件定义网络等等。
2. 容器技术: docker, CRI-O
3. ELK/EFK如何管理日志
4. 普罗米修斯/Grafana 监控
5. istio微服务治理框架
6. 分布式跟踪
7. 微服务网关