来自社区用户(SRE运维手记)投稿

背景

在云原生的时代背景下,Kubernetes 已经成为了主流选择。然而,Kubernetes 的原生操作复杂性和学习曲线较高,往往让很多团队在使用和管理上遇到挑战。因此,市面上出现了许多对 Kubernetes 进行封装和优化的工具,其中 KubeSphere 是一个集成了多种开源工具、提供全方位解决方案的企业级容器管理平台。

我们团队早期在持续集成和持续交付(CI/CD)、微服务治理、多租户管理和 DevOps 自动化方面就遇到了不少挑战,如 Jenkins 的权限管理短板、开发调试交互困难、多集群管理分散增加运维成本等。为了提升开发效率和运维质量,我们决定评估和引入一个适合的 Kubernetes 平台工具。经过调研和比较,我们最终选择了 KubeSphere。

选型说明

我们选择了 KubeSphere 3.3.2 版本,在选型过程中,我们主要考量了以下几个因素:

  • 易用性:平台是否提供直观的用户界面和简单易懂的操作流程,能够降低学习成本。
  • 功能完备性:平台是否集成了 CI/CD、监控、日志管理、微服务治理等功能,能够满足我们现有和未来的需求。
  • 扩展性:平台是否支持插件机制,能够方便地集成第三方工具和服务。
  • 社区活跃度:平台的社区是否活跃,是否有及时的技术支持和丰富的文档资源。

在对比了几款主流的 Kubernetes 平台工具后,我们发现 KubeSphere 在上述几个方面表现得都非常出色。尤其是在易用性和功能完备性方面,KubeSphere 提供了用户友好的界面和全方位的功能集成,能够显著降低我们的运维难度和学习成本。

实践过程

基础设施与部署架构

我们使用的是公有云环境,划分了 3 个 VPC,分别为非生产网络、生产网络,以及运维网络,其中非生产和生产网络隔离,而运维网络与其他网络打通,我们在运维网络中部署了运维中控平台用于管理这 3 个 VPC 的资源,KubeSphere 则借助其联邦模式,以运维网络的集群为主,其余网络的集群为成员,实现多集群管理,为了方便运维中控平台的管理,服务器推行了标准化,保障规格和配置的一致性,统一采用 32 核 128G 的配置,操作系统为 Centos7.9。

KubeSphere 集群节点界面截图:

部署架构示意图:

相关业务与 KubeSphere 的契合点

在选择和使用 KubeSphere 的过程中,我们发现它与我们现有的业务需求有着高度的契合,具体表现在以下几个方面:

  • 持续集成与持续交付(CI/CD):我们的开发流程高度依赖于 CI/CD 流水线,以确保代码的快速构建、测试和部署。我们采用的是 Jenkins pipeline 的技术方案,恰好 KubeSphere 也集成了 Jenkins,支持 pipeline 的流水线发布,使我们能够快速迁移和集成现有的 CI/CD 流程。

  • 可观测性和日志管理:KubeSphere 集成了 Prometheus、Grafana 和 EFK(Elasticsearch、Fluentd、Kibana)等工具 ,与我们在用的运维技术框架非常相似,也方便我们快速迁移。

  • 易用性和用户体验:Kubernetes 的原生操作复杂性较高,而 KubeSphere 提供了直观的用户界面和简单易懂的操作流程,使得我们的开发和运维人员能够快速上手并高效使用。KubeSphere 的易用性大大降低了我们的学习成本,提升了团队的整体工作效率。

总的来说,KubeSphere 在多个方面与我们的业务需求高度契合,通过其全面的功能集成和优异的用户体验,显著提升了我们的开发和运维效率,确保了业务的持续稳定运行。

存储与网络

存储

因为是公有云环境,我们选择了阿里云 NAS 作为 K8s 集群的存储,走的是 NFS 协议,我们根据存储的性能(通用型和极速型)定义了两个 StorageClass,其中有状态应用使用的是极速型存储,延迟在 0.3ms 左右。另外还安装了 csi-provisioner 插件,赋予集群自动创建和删除卷的能力,提升运维效率。

网络

cni 插件用的是阿里云的 Terway 独占 ENI 模式,为每个 Pod 分配一个独立的 ENI 和 IP 地址,每个 Pod 都拥有自己的网络接口,并且网络性能更接近于传统虚拟机。

平台和应用的日志、监控、APM

日志

为了保持业务埋点数据采集流程不受影响,我们采用 Filebeat+Logstash+Elasticsearch+Kibana 的日志采集和分析方案,在 k8s 集群部署 filebeat deamonset 采集日志至外部 Logstash 集群,经过日志加工处理后存入 Elasticsearch 集群,Elasticsearch 集群采用冷热分层存储,最近 14 天的日志数据会被存储在热节点,超过 14 天的日志数据会被转移到冷节点。

日志告警使用 elastalert2,根据自定义的规则实现日志告警,为了方便规则配置和管理,我们在运维平台开发了 elastalert2 可视化管理界面

监控

使用 KubeSphere 平台集成的 Prometheus-operator+Grafana,多集群采集的监控指标数据通过 RemoteWrite 的方式传给 Thanos-Receive,再由 Alertmanager 根据策略进行告警,告警的数据会经过我们自主开发的 NotifyCenter 进行数据格式化、告警分组等,最终推送到电话或者聊天会话。

APM

前端使用 Sentry,后端使用 Skywalking,二者之间通过 RequestId 进行打通实现全链路监控,用于异常定位和性能分析。

CI/CD

在 KubeSphere 中,我们通过集成 DevOps 流水线功能和 Jenkins Shared Libraries 提高了 pipeline 的可管理性和代码的可复用性。Shared Libraries 的引入有效地解决了我们以往流水线杂乱和难以管理的局面,使得 CI/CD 流程更加高效和一致。

此外,为了进一步统一和管理 Kubernetes 配置,我们采用了 Kustomize 来管理 K8s YAML 文件。Kustomize 允许我们通过不同的 overlay 轻松管理各种环境的配置差异,确保配置的一致性和可维护性。

这种整合使得我们在 KubeSphere 中只需创建一个简单而高效的流水线,Jenkinsfile 的复杂度也大大降低,示例如下:

有状态服务管理

我们已经将 Mysql、Redis、Clickhouse、Zookeeper、Etcd 等有状态服务部署到 K8s,使用有将近一年多,很是稳定,同时也避免了传统服务器部署的单点隐患。

使用效果

使用效果主要总结为以下五点:

  • 稳定可靠:KubeSphere 在使用过程中表现出极高的稳定性,未出现任何异常。
  • 效率提升:KubeSphere 的自动化部署和流水线管理功能显著提升了开发和运维效率。通过集成 CI/CD 流程,减少了手动操作和人为错误,加快了代码发布和部署速度。
  • 用户体验:KubeSphere 的直观用户界面简化了操作,降低了学习曲线。统一的管理平台使团队成员能够更高效地进行日常运维和监控管理,提升了整体工作体验。
  • 安全管理:KubeSphere 提供了细粒度的权限控制和全面的审计日志功能,增强了系统的安全性。通过统一的安全策略管理,我们能够更好地保护敏感数据和关键应用。
  • 降低成本:通过 KubeSphere 的便捷可视化管理,运维可以将部分工作实现开发人员自助化管理,有效降低了运维成本。

未来规划

随着 AI 智能领域的崛起,出现了不少优秀的 AI Agent,也让我们不得不去思考和探索 AIOPS,我们希望未来的运维场景可以跟 AI 有更多的结合,如故障分析、告警自愈和预测分析等等,同时也希望 KubeSphere 有 AI 功能的出现,相信未来的运维会更加精彩。

本文由博客一文多发平台 OpenWrite 发布!

KubeSphere 在互联网电商行业的应用实践的更多相关文章

  1. JAVAEE——宜立方商城01:电商行业的背景、商城系统架构、后台工程搭建、SSM框架整合

    1. 学习计划 第一天: 1.电商行业的背景. 2.宜立方商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建-后台工程 a) 使用maven搭建工程 b) 使用maven的tomcat插件启 ...

  2. JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建

    1. 学习计划 1.电商行业的背景. 2.电商行业的技术特点 3.商城的介绍 a) 常用的名词介绍 b) 系统功能介绍 4.淘淘商城的系统架构 a) 传统架构 b) 分布式架构 c) 基于服务的架构 ...

  3. 原创:《Excel在零售及电商行业数据化管理中的应用》之“什么是数据化管理?

    <Excel在零售及电商行业数据化管理中的应用>之“什么是数据化管理?”                     各位: “随着全零售时代的到来,传统商业的每一个供应链细节都离不开数据的支 ...

  4. HR,OA,CRM,DRP,ERP什么意思?电商行业的特点?电商行业模式?专业术语?

    HR,OA,CRM,DRP,ERP HR----Human Resource人力资源管理 OA----Office Automation办公自动化 CRM---Customer Relationshi ...

  5. 转)SSO单点登录在互联网电商应用中的解决方案(基于CAS的改造)

    电商平台中无论是前端还是后端会存在大量的业务应用,在整个交易的过程中请求是在各个业务应用中流转的,对于用户来讲只需要登录一次就可以访问所有的业务,这就是单点登录SSO. 单点登录开源有很多的解决方案, ...

  6. Docker部署大型互联网电商平台

    1.Docker简介 1.1虚拟化 1.1.1什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象 ...

  7. day68_淘淘商城项目_01_电商介绍 + 互联网术语 + SOA + 分布式 + 集群介绍 + 环境配置 + 框架搭建_匠心笔记

    课程计划 第一天: 1.电商行业的背景介绍--电子商务 2.淘淘商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建--后台工程 a) 使用maven搭建工程(工程大) b) 使用maven的 ...

  8. HMS Core电商与游戏行业解决方案,全流程赋能开发者创新

    2021年12月29日,"华为云&华为终端云服务创新峰会2022"在北京柏悦酒店成功举办.华为HMS Core电商与游戏行业解决方案亮相本次峰会的线下展区,为行业开发者们解 ...

  9. 谈B2B电商平台与大数据

    数据为王,服务为本——谈B2B电商平台与大数据 2013-06-27 11:10:41 作者:B2B行业资讯 标签:                             大数据           ...

  10. 电商app开发新趋势!如何突显竞争力?

    2017年是电商变化最大的一年,同时,也是最多机遇的一年,更是电商最好的时代,如最近所看到的亚马逊的市值已经超过了美国8大零售商的总和,带领美国率先走向了新零售时代;马云也在做改变,试图与线下的大卖场 ...

随机推荐

  1. 伪代码中ties broken arbitrarily是什么含义?

    最近在看一个物联网的论文,论文的伪代码中有这么一个地方标有:ties broken arbitrarily,对这个写法有些搞不清楚含义,于是网上找到了下面的资料: https://www.zhihu. ...

  2. 高校校园网下电脑IP是不是公网IP

    突然想到一个问题,那就是高校校园网中的IP地址是不是公网IP,如果不是公网IP那么就是使用net后的共享IP,还或者是部分人用公网IP然后另一部分人使用net后的共享IP??? =========== ...

  3. 【转载】Ubuntu20.04安装Bazel

    原文地址: https://zhuanlan.zhihu.com/p/311406177 ====================================== sudo apt install ...

  4. 需要多久才能看完linux内核源码?

    代码中自由颜如玉!代码中自有黄金屋! 一.内核行数 Linux内核分为CPU调度.内存管理.网络和存储四大子系统,针对硬件的驱动成百上千.代码的数量更是大的惊人. 先说说最早的内核linux 0.11 ...

  5. Elsa V3学习之Flowchart详解(上)

    前面我们通过界面学习了Elsa的一些基本使用,若是有实操的小伙伴们,应该可以发现,我们工作流定义中的root,既我们的工作流画布其实也是一个activity,就是Flowchart.那么本文将来解读以 ...

  6. mariadbl数据库环境迁移

    前言: 数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作.为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,数据库系统提供了备份和恢复策略.保证数据安全的最重要的一个措 ...

  7. MarginNote 4 内存泄露?

    在床上用电脑的时候突然发现电脑风扇呼呼响,一摸很烫,以为是被子把出风口堵住了,于是调整角度继续用.结果一段时间之后风扇还是狂转不停,然后收到了这样的提示.不看不知道一看吓一跳,MarginNote 4 ...

  8. C#项目—彩票选号

    C#彩票选号软件 今天做了一个彩票选号的小软件,将学到的知识点总结如下(新手小白,多提意见): 1.写程序的思路 实体类(属性.方法) No1. 随机数组集合(属性) No2. 创建集合对象(构造方法 ...

  9. Java并发编程学习前期知识上篇

    Java并发编程学习前期知识上篇 我们先来看看几个大厂真实的面试题: 从上面几个真实的面试问题来看,我们可以看到大厂的面试都会问到并发相关的问题.所以 Java并发,这个无论是面试还是在工作中,并发都 ...

  10. 【YashanDB知识库】YMP元数据阶段二报错YAS-04204

    [问题分类]YMP迁移 [关键字]YMP迁移,YAS-04204 [问题描述]数据库采用最小规格部署,机器配置2C8G,使用YMP进行数据和对象迁移,在元数据阶段二创建索引时报错:YAS-04204 ...