安畅网络借助青云QingCloud容器平台构建云原生迁移实践
对于频繁更新的应用,灰度上线是必不可少的功能。基于 KubeSphere 内置的 Istio 提供的金丝雀发布的特性,我们可以非常方便地在 KubeSphere 控制台通过拖拽的方式对不同版本的应用组件的进行灰度发布上线。 灰度上线 9.CI/CD 流水线如何落地 在 CI/CD 的方案实施上,我们勇于尝鲜,在不同的项目环境中使用了不同 CI/CD 工具方案。 例如,目前针对 Dev 环境,为了方便开发人员进行协同开发,我们直接使用 Gitalb CI,利用 GitOPS 理念,端到端的开发自动部署。 GitLab CI 而正式环境则使用 KubeSphere 内置的 DevOps 流水线,天然继承,无需多余扩张即可实现应用的快速发布上线。 如图, KubeSphere 的 Devops 流水线,WEB 简单配置即可生成 Jenkinsfile,快捷方便。另外,我们有一部分应用也使用了 Argo CD ,在未来也计划尝试 Tekton 等。 KubeSphere 流水线 CI/CD 流水线 10.如何落地监控与告警 集群维度的监控我们使用了 KubeSphere 内置的监控,希望 KubeSphere 在后续版本可以提供更多告警方式。 我们也自研了一套监控告警系统,实现了对 Kubernetes 集群、 Node、事件(Events)、以及业务本身的监控,通过短信、微信、钉钉和邮件的方式发送告警通知给运维人员。 监控与告警 11.日志如何查询与管理 KubeSphere 也提供了开箱即用的解决方案 FluentBit Operator,在集群所有节点以 DaemonSet 运行,并统一部署配置了 Fluent Bit。 我们的迁移平台在容器化的时候就一些考虑到后期的日志继承方式,为适配多种类型的日志,我们将日志分为两个地方输出,一份输出到 stdout,一份以文件形式持久化到 logs 目录,万一需要 filebeat 方式继承,那么无需后期对应用做其他修改,可借助 KubeSphere 的日志收集,方便快捷地在平台上查看日志,也可以将日志发送到集群外的 ES/Kafka 等接收者中,对日志进行持久化保存,以供后期分析处理。 同时,KubeSphere 提供了一键日志索引与定位的特性,利用该特性,我们可以从日志控制台搜索关键字,通过日志输出信息发现问题后,一键下钻到出现异常的容器,或项目的详情页,快速定位容器异常问题。 日志查询 12.KubeSphere 排错实战三连载 当然在真实的微服务改造及应用中困难也不少,之前我也精心整理了 KubeSphere 实战排查三连载,希望可以帮助到用 KubeSphere 的用户朋友。 13.拥抱开源,共话云原生 KubeSphere 帮助我们将打造了 SmartAnt 云原生迁移平台,我们能够把更多的精力放在迁移平台的逻辑业务开发。 同时,KubeSphere 提供从基础设施高可用部署、CI/CD、服务治理、权限管控、监控日志告警等一整套完善的云原生解决方案,并且 KubeSphere 是完全开源的,社区也非常活跃,在这里可以遇到志同道合的友人,共同探讨适合自己的业务转型的云原生之路。 (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |