在本次的 KubeCube 新版本中,日志模块集成了 Loggie,它是一个基于Golang的轻量级、高性能、云原生日志采集Agent和中转处理Aggregator,支持多Pipeline和组件热插拔。
在部署方面 KubeCube 提供了通过 Helm 安装 KubeCube 的方式,这使得 KubeCube 更加专注容器平台自身。关于 K8s 的安装,KubeCube 保留了通过 All-In-One 部署脚本进行的单节点 K8s 集群的安装。关于自定义的 K8s 集群安装,可以使用 kubeadm、kubez-ansible 等开源工具,之后 kubez-ansible 中也会集成 KubeCube。
除此之外,KubeCube 新增了一些 Features,比如支持自定义启用 controller、支持删除租户项目、支持使用 http 模式启动等特性。在稳定性方面,进行了一些 Bug 修复。
KubeCube 在 1.8 之前使用 filebeat 作为日志 agent,在使用过程中,我们遇到了一些特性的短板,比如容器内部日志文件的采集,多 pipeline 和多输出源,以及在 K8s 场景下,我们更希望通过原生的方式进行动态的配置变更。出于以上考量,我们决定在 1.8 版本使用 loggie 替换 filebeat,loggie 的性能优异,轻量,并且提供了:
关于 Loggie 的更多特性以及使用方式,请参考 Loggie 官方文档。
请参考 开启loggie文档 来在 KubeCube 中开启 Loggie 特性。
请参考 日志使用文档 来进行采集任务的管理和相关的日志查询。
KubeCube 新增了 kubecube-chart 工程,用于维护 KubeCube 的部署 chart,用户可以直接使用该工程进行 KubeCube 的管控面和计算面的部署。
KubeCube 新增了 hotplugs 工程,用于维护 KubeCube 所用的热插拔部署包,上文提到的 Loggie,就是作为 KubeCube 的一个热插拔组件,维护在该工程中。后期,用户也可以通过自己的热插拔部署包,使用 KubeCube 的热插拔框架进行能力拓展。
KubeCube 更加专注容器平台自身,提供通过 helm 的方式在已有的 k8s 上安装 KubeCube,同时,为了让用户在裸机上快速体验 KubeCube,KubeCube 保留了 All-In-One 的安装方式,注意,All-In-One 的部署模式,只能用作 POC,不能用于生产。关于 K8s 的安装,社区已经有许多成熟的方案,比如标准的 kubeadm 安装方式,更加自动化的 kubez-ansible 方式等,用户可以根据自己的需求,进行自定义的 K8s 集群安装,随后在已有的 K8s 上安装 KubeCube。
除了上述内容外,KubeCube 还进行了一些问题修复和功能增强。
未来我们会持续提供更多功能,帮助企业简化容器化落地。也欢迎大家参与贡献,提出宝贵的建议。添加以下微信进入 KubeCube 交流群。
作者简介: 蔡鑫涛,网易数帆轻舟容器平台资深开发,KubeCube Committer,Kubernetes Member