1、使用sidercar 这种形式采集,是否会重复采集,因为每个pod都有一个sidecar,但是目录都是同一个。
2、基于Springcloud 的微服务体系,容器化迁移时,是一个个应用平滑迁移上去,还是一次性所有应用迁移进去。如果平滑迁移到容器,怎么实现容器外应用服务化的方式调用容器内的应用?
1、如果是指sidercar采集主容器日志的话,两个容器之间是共享emptydir模式的文件夹,只在pod中共享,故不存其余pod重复的情况
2、迁移的形式,取决于网络模式的选择。如果能实现容器与非容器的互通,例如macvlan或者nethost方式,则简易逐步迁移。如果整体系统规模较小,也可以全量迁移,完整的再搭建一套,在前端入口做好容器集群与非容器集群的负载均衡,使其并行运行。
1、不会重复
一般来说是一个实例一个sidecar,每个sidecar采集的都是自己对应的实例的信息。每个实例的日志肯定都是不同的。
2、容器迁移策略,建议先局部试点,在广泛推广
试点应用,可以选择管理类应用或者已经微服务化的应用。
容器化,可以分全部容器化和部分容器化。全部容器化,就是将应用所有服务都放到容器上,其中数据库、中间件这类有状态的应用容器化有一定难度;部分容器化,就是将应用中无状态服务容器化。
3、关于容器内外网互访问题
一般分overlay和underlay两种网络模式选择。
overlay,采用类似VXLAN方式实现内外网互通,优点不占用内网IP,缺点网络性能消耗约20%
underlay,可以实现容器内外网在同一地址池中,优点网络性能好损耗低约3~5%,缺点占用大量内网IP地址,要提前预留容器集群使用的地址段。
另外,如果应用原来是通过IP地址直接互联,建议使用underlay会好些。