diff --git a/content/zh/case/_index.md b/content/zh/case/_index.md index 8d939a741..26b4763ac 100644 --- a/content/zh/case/_index.md +++ b/content/zh/case/_index.md @@ -13,23 +13,23 @@ section2: icon: images/case/left.svg caseList: - icon: "images/case/case5.jpg" - content: "Anchnet is a leading Next-generation Cloud Managed Service Provider (Cloud MSP) in China, providing cloud native technologies and solutions for customers." + content: "安畅网络是中国市场领先的下一代云托管服务商(Cloud MSP),为客户提供云原生技术和解决方案。" link: "anchnet" - icon: "images/case/case3.jpg" - content: "Aqara is owned by Lumi United Technology, headquartered in China, with over 300 Aqara service providers and 300 smart home showrooms." + content: "Aqara 隶属于绿米联创科技有限公司,总部位于中国,拥有 300 多家 Aqara 服务提供商和 300 多家智能家居展厅。" link: "aqara" - icon: "images/case/case1.jpg" - content: "Founded in 2012, Benlai is an e-commerce website focused on food, including fruits and vegetables." + content: "本来生活网创办于 2012 年,是一家生鲜电商平台,提供蔬菜、水果、海鲜等优质生鲜果蔬食材食品网购服务。" link: "benlai" - icon: "images/case/case2.jpg" - content: "Huaxia Bank Co., Ltd. is a publicly traded commercial bank in China. It is based in Beijing and was founded in 1992." + content: "华夏银行股份有限公司是一家上市商业银行,于 1992 年在北京成立。" link: "huaxia-bank" - icon: "images/case/maxnerva.jpg" - content: "Maxnerva Technology Services, HK.0103 is affiliated and invested by Foxconn Technology Group." + content: "云智汇科技服务有限公司是富士康科技集团投资成立的子公司。" link: "maxnerva" - icon: "images/case/vng.jpg" diff --git a/content/zh/case/anchnet.md b/content/zh/case/anchnet.md index 4178ec784..ed8e8ed4b 100644 --- a/content/zh/case/anchnet.md +++ b/content/zh/case/anchnet.md @@ -1,95 +1,95 @@ --- -title: Anchnet +title: 安畅网络 description: css: scss/case-detail.scss section1: - title: Anchnet - content: Anchnet is a leading Next-generation Cloud Managed Service Provider (Cloud MSP) in China. + title: 安畅网络 + content: 安畅网络 (https://www.anchnet.com/) 是中国市场领先的下一代云托管服务商(Cloud MSP)。 section2: listLeft: - - title: Company and Platform Introduction + - title: 公司简介 contentList: - - content: As a customer-driven business, Anchnet provides cloud native technologies and digital solutions for enterprise customers on the basis of Tencent Cloud. More specifically, we enable our customers to build next-generation cloud infrastructure and technology architectures, and to develop modern cloud native apps. We also provide them with comprehensive hosting services, intelligent cloud operations and management services. This is how we work to create great user experiences for our customers in accessing, managing and using the cloud. Ultimately, we are committed to building a bridge between new ecosystems in the IT industry and industrial Internet. + - content: 安畅以客户需求驱动,以云计算为底座,面向企业客户提供云原生技术服务和数字化解决方案,帮助客户上好云、管好云和用好云(为客户构建下一代云基础设施和技术中台、提供智能化全托管云运维和管理服务、开发现代化云原生应用),致力于成为 IT 新生态和产业互联网的连接器。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611180506.png - - title: Transfer Platform + - title: 迁移平台 contentList: - - content: SmartAnt is a one-stop, lightweight transfer platform that helps users to transfer their business to the cloud in a rapid and convenient fashion. With visualized interfaces, SmartAnt supports one-click data transfer (e.g. host, database, and object storage), which has fundamentally solved the problem in the traditional ways of cloud transfer. + - content: SmartAnt 是一款一站式、轻量级的迁移平台,能帮助用户快速将业务迁移上云,摆脱繁琐的迁移上云过程。通过可视化界面,一键迁移,支持主机/数据库/对象存储等迁移类型,从根本上颠覆传统云迁移所带来的困扰。 image: - - title: Basic Architecture Development + - title: 基础架构演进 contentList: - - content: The basic architecture has evolved continuously along the road from a tool to a unimodule entity, a multi-module entity and finally a microservices architecture. Initially, high availability architecture deployment was achieved by servers in IDC machine rooms and now it is made possible by cloud servers. LB provided in public clouds and other SaaS products were used for high availability architecture before while the container orchestration tool Kubernetes is now used instead, which has seen technological advances one after another to satisfy different needs in the market. The process of microservice transformation is never an easy job, which covers infrastructure, declarative API, microservices and service network. + - content: 一路走来,迁移工具从单模块单体,到多模块单体,再到微服务架构,业务架构在顺应分布式的微服务技术潮流进行演进;同时,我们的基础设施架构也在不断变更,从传统的 IDC 物理机房服务器,到云服务器的虚拟化,利用公有云资源提供的负载均衡器及其他云产品完成高可用架构,再到以 Docker 和 Kubernetes 为基础的云原生架构,我们为了响应市场的快速需求而不断进行技术革新与演进。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611180616.png - - title: High Availability Infrastructure + - title: 基础设施高可用 contentList: - - content: We are using KubeSphere to create high availability architectures on the back of LB in public or private clouds. This open source platform features one-click deployment of high availability architectures in a convenient and efficient way. Nodes can be added dynamically after the deployment without the complexity of infrastructure deployment on Kubernetes. - - content: Ceph clusters will be created through cloud storage as KubeSphere provides a variety of storage plugins. Data can be easily integrated into the storage class of Kubernetes, providing consistent storage services. + - content: 我们直接采用了开源的 KubeSphere 容器平台,使用 KubeSphere Installer 一键部署了高可用架构的 Kubernetes 集群,配合我们在公有云和私有云的负载均衡器来实现高可用架构。通过 KubeSphere 内置的集群状态监控面板,实现了对节点的资源用量进行可视化管理。即使在安装后遇到节点资源不足,也能非常方便地通过 Installer 按需新增 Node 节点,免去了 Kubernetes 基础设施部署的复杂性。 + - content: 存储利用云盘自建 Ceph 集群,KubeSphere 提供丰富的存储插件,快速方便地继承到 Kubernetes 的 StorageClass中,为应用提供持久化的数据存储,并且在界面也可以非常方便地对 Ceph RBD 存储卷进行可视化管理。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611180633.png - type: 1 contentList: - - content: Smooth User Experience - - content: Cross-platform Support - - content: High Availability + - content: 流畅的用户体验 + - content: 支持跨平台 + - content: 高可用 - - title: Access Control in Different Environments + - title: 对不同环境的权限进行管控 contentList: - - content: Based on RBAC of native Kubernetes, KubeSphere provides the access control function for workspaces, with more detailed assignment of users, roles and access. For example, the Dev environment is for business development and developers can be authorized to access container logs. A test environment is for feature testing and a prod environment represents the official online environment, which can only be maintained by administrators. + - content: 由于 Kubesphere 对原生 Kubernetes 的 RBAC 基于企业空间层(Workspace)的权限管控设计,以及细粒度的基于用户与角色的权限分配,我们直接通过 KubeSphere 不同企业空间下的项目(Namespace)来进行开发、测试与生产环境的隔离。如下图,其中 Dev 环境为业务开发环境,开发人员授权可以登录容器终端查看容器日志等,test 环境为测试人员开放权限,方便测试人员进行业务功能的测试,prod 环境为线上正式环境,只有集群管理员可以登录维护。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611180719.png - - title: CI/CD in KubeSphere + - title: CI/CD 流水线的落地 contentList: - - content: Currently, the Dev environment is for collaborative development. With GitLab CI and GitOPS, automatic deployment can be achieved from end to end. Meanwhile, the DevOps pipeline of KubeSphere for the official environment makes it possible to release apps without any scaling. + - content: 目前针对 Dev 环境,为了方便开发人员进行协同开发,我们直接使用 Gitalb CI,利用 GitOPS 理念,端到端的开发自动部署。而正式环境则使用 KubeSphere 内置的 DevOps 流水线,天然继承,无需多余扩张即可实现应用的快速发布上线。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611180737.png - - title: Introduce Argo CD, looking forward to Tekton + - title: 使用 Argo CD, 期待 Tekton contentList: - - content: In the DevOps pipeline, the Jenkinsfile can be created with a simple Web configuration, which is convenient and efficient. We are also using Argo CD for part of our applications and we will try Tekton going forward. + - content: KubeSphere 的 Devops 流水线,WEB 简单配置即可生成 Jenkinsfile,快捷方便。另外,我们有一部分应用也使用了 Argo CD ,在未来也计划尝试 Tekton 等。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611180838.png - type: 2 - content: 'KubeSphere offers a whole package of cloud native solutions, including high availability infrastructure deployment, CI/CD, service governance, access control, monitoring, logging and alerting.' - author: 'Anchnet' + content: 'KubeSphere 提供了一整套云原生解决方案,包括高可用基础设施部署、CI/CD、服务治理、访问控制、监控、日志和告警。' + author: '安畅网络' - - title: Service Governance + - title: 服务治理 contentList: - - content: For north-south traffic, we use the open source platform Kong to provide the same API gateway. We offer Kubernetes infrastructure, black and white lists, and authentication and authorization features. For east-west traffic, Istio is used for service governance, load balancing, traffic monitoring, tracing analysis, circuit breaking and fallback. Fortunately, KubeSphere is an excellent platform for service governance, where we only need to submit Helm charts of our business apps to the platform as it features one-click deployment. + - content: 针对南北流量,利用开源 Kong 提供 API 网关,基础设施下沉到 Kubernetes 内,提供流量控制、黑白名单、认证鉴权等功能。在微服务间的东西流量管理上,我们使用了 KubeSphere 内置的 Istio 来实现微服务治理,帮助我们对 SmartAnt 平台满足了负载均衡、流量监控、链路追踪、熔断降级等非常典型的应用场景。可喜的是 KubeSphere 是一个优秀的服务治理平台,基于其一键部署的特点,只需将自己的业务应用制作成 Helm 的 charts 来提交到平台上。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611182110.png - - title: Grayscale Release + - title: 灰度上线 contentList: - - content: For frequently updated apps, we use Istio for governance in the case of a grayscale release. As canary release is also supported, it is very convenient for us to release app components of different versions by dragging and dropping in KubeSphere. + - content: 对于频繁更新的应用,灰度上线是必不可少的功能。基于 KubeSphere 内置的 Istio 提供的金丝雀发布的特性,我们可以非常方便地在 KubeSphere 控制台通过拖拽的方式对不同版本的应用组件的进行灰度发布上线。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611182140.png - - title: Monitoring and Alerting + - title: 监控与告警 contentList: - - content: Different types of alerting are supported for monitoring at different levels. Currently, the built-in monitoring feature of KubeSphere is used for Kubernetes and we are looking forward to more alerting solutions in the future. - - content: Other features, such as log management and app release, are all conducive to our quick transformation of cloud native apps. + - content: 不同级别的监控支持不同类型的告警。目前,集群维度的监控我们使用了 KubeSphere 内置的监控,希望 KubeSphere 在后续版本可以提供更多告警方式。 + - content: 其他功能,如日志管理、app 发布等,都有利于我们云原生 app 的快速转型。 image: - - title: Looking Forward + - title: 拥抱开源,共话云原生 contentList: - - content: The SaaS version of SmartAnt is completely free for enterprises and individual users. The private custom version now supports the seamless transfer of OpenStack and Any to Image. Ultimately, images will be imported in other private or public platforms. Besides, our company is committed to multi-cloud management with a self-developed cloud management platform SmartOps, helping enterprises to better manage their clouds. - - content: KubeSphere enables SmartAnt to devote more energy to the logic business development of our transfer platform. It offers a whole package of cloud native solutions, including high availability infrastructure deployment, CI/CD, Microservice governance, access control, monitoring, logging and alerting. With smooth user experiences, KubeSphere represents an open source platform and a vibrant community, where like-minded people can gather together and discuss their respective cloud native road that best suits their business. + - content: 目前 SmartAnt 的 SaaS 版本完全免费供企业及个人使用,私有定制化版本目前已支持 Openstack 无缝迁移及 Any to image,最终可以利用将镜像导入其他私有或公有平台,另外公司致力于多云管理,自研 SmartOps 云管平台,助力企业更好的进行多云管理。 + - content: KubeSphere 帮助我们打造了 SmartAnt 云原生迁移平台,我们能够把更多的精力放在迁移平台的业务逻辑开发,提供从基础设施高可用部署、CI/CD、服务治理、权限管控、监控日志告警等一整套完善的云原生解决方案,并且 KubeSphere 是完全开源的,社区也非常活跃,在这里可以遇到志同道合的友人,共同探讨适合自己的业务转型的云原生之路。 image: rightPart: icon: /images/case/section6-anchnet.jpg list: - - title: INDUSTRY - content: Cloud Computing - - title: LOCATION - content: China - - title: CLOUD TYPE - content: Private - - title: CHALLENGES - content: High Availability, Microservice Migration, Consistency - - title: ADOPTED FEATURES - content: DevOps, Grayscale Release, Monitoring and Alerting + - title: 行业 + content: 云计算 + - title: 地点 + content: 中国 + - title: 云类型 + content: 私有云 + - title: 挑战 + content: 高可用、微服务迁移、一致性 + - title: 采用功能 + content: DevOps、灰度发布、监控和告警 --- diff --git a/content/zh/case/aqara.md b/content/zh/case/aqara.md index 249cce335..4c63cc203 100644 --- a/content/zh/case/aqara.md +++ b/content/zh/case/aqara.md @@ -6,95 +6,95 @@ css: scss/case-detail.scss section1: title: Aqara - content: Aqara is owned by Lumi United Technology, headquartered in Shenzhen, China. Currently, we have over 300 Aqara service providers and 300 smart home showrooms across China. Our users include students, families, working professionals and multi-corporations spanning over 158 countries. + content: Aqara 隶属于绿米联创科技有限公司,总部位于中国深圳。目前,我们在全国拥有 300 多家 Aqara 服务提供商和 300 多家智能家居展厅。我们的用户包括学生、家庭、工作人员和遍布 158 个国家的跨国公司。 section2: listLeft: - - title: Company Introduction + - title: 公司简介 contentList: - - content: Five years ago, we set out to create a different kind of smart home solution, one that is reliable, eco-friendly, and available to anyone who wants to improve their homes and simplify their daily lives. We believe that building a smart home should not be complex or cost prohibitive, which is why we have over 200 Aqara R&D team members working tirelessly to make the most innovative and highest quality products we could at an affordable cost. + - content: 五年前,我们开始着手创造一种不同的智能家居解决方案,一种可靠、环保的解决方案,适用于任何想改善家居、简化日常生活的人。我们相信,建设一个智能家居不应该复杂或成本高昂,这就是为什么我们有 200 多名 Aqara 研发团队成员不知疲倦地工作,以我们可以负担得起的成本,制造最创新和最高质量的产品。 image: /images/case/aqara-1.jpg - - title: Background + - title: 背景 contentList: - - content: From adopting the traditional approach to operation and maintenance (O&M) to using Docker Swarm, to running microservices of Spring Cloud family on Kubernetes, and finally to embracing KubeSphere, Lumi United has come a long way in its endeavor to build its own IoT platform of microservices based on KubeSphere. It has been running KubeSphere and Kubernetes stably in the production environment for more than half a year. In this regard, Lumi United has acquired considerable expertise in microservice application development and application platform O&M. This article is contributed by Wei Hengjun and Xu Yangbing, both of whom are O&M engineers from Lumi United Technology Co., Ltd. Image assets in the article come from the official website of Aqara (https://www.aqara.com/). + - content: 从传统运维到容器化的 Docker Swarm 编排,从 Docker Swarm 转向 Kubernetes,然后在 Kubernetes 运行 SpringCloud 微服务全家桶,到最终拥抱 KubeSphere,并基于 KubeSphere 打造绿米联创自己的物联网微服务平台,绿米联创已在生产环境中稳定运行 KubeSphere 和 Kubernetes 半年多时间,积累了丰富的微服务应用开发以及应用平台运维的经验。本文由深圳绿米联创科技有限公司的运维工程师魏恒军与徐洋冰投稿,图片素材来自 Aqara 官网 (https://www.aqara.com/)。 image: - - title: Traditional Approach to Container Technology + - title: 从传统运维到容器技术 contentList: - - content: As an O&M engineer with multiple years of experience, Wei Hengjun understands the significance of O&M can never be overstated. At the beginning, he shouldered machines himself to the workplace, struggled to use even a cable clamp in his work, and torpidly installed operating systems. Deploying applications and improving services was never an easy job for him as he might suddenly wake up in the middle of a night just for a series of system warns. All of these have made him who he is now, always working just as a great firefighter. - - content: Rapid technological advances have seen us embrace microservices, virtualization, and containerization and cloud native technologies one after another. O&M has also come a long way from manual operation at the beginning to scripts, platforms and now, containers. Initially, O&M only included tens of machines and it has grown to nearly 1,000 machines operated and maintained all by myself. The traditional way of application deployment requires a large amount of time spent in the preparation of configuration files, caution lists and databases every time it is updated. After that, it has to go through a strict review and approval process before it can finally be released. The whole process can take more than half a month. In this Internet era where speed is highly valued, the conventional approach can no longer serve as an efficient solution. Against this backdrop, container technology has emerged to the spotlight of our time. + - content: 一入运维深似海,魏恒军作为一名多年工作经验的资深运维工程师,从最初的扛机器上机房,在工作中生疏的操作着网线钳,麻木地安装着操作系统,费力地部署应用程序和调试着应用服务,以及在那黑夜因一连串告警惊醒,永远感觉自己是个伟大消防员。 + - content: 技术的快速迭代更新,迎来了微服务,迎来了虚拟化技术,也迎来了容器化与云原生技术。运维也从最初的人肉运维发展到脚本运维,再到平台运维,最后到现在的容器运维。本人运维过的机器,不知不觉也从个人维护几十台到现在的近千台服务器,传统的应用部署方式,每次迭代一次,都需要花费大量的时间去准备配置文件、操作注意事项、数据库等等,然后再经过一群人层层审批,再发到线上,这期间已经过了半个月,在这个互联网比速度的时代,显然这种传统方式劣势非常明显,而容器应时势而生。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200514144227.png - - title: 'Docker Swarm: Build a Container Orchestration System' + - title: 使用 Docker Swarm 搭建容器编排系统 contentList: - - content: The traditional way of application deployment has haunted managers for so long as the resource utilization remains at a very low level. Against this background, container technology came to my awareness in 2017 and I tried to develop and test environments in my company, which directly resulted in a 50% increase in the resource utilization in the development and test environment. In 2018, we started to use the Docker container orchestration tool, also known as Docker Swarm, in the production environment, which also greatly improved resource utilization. - - content: 'There have been twists and turns along the road from the command line to scripts and ultimately to platforms. When I just joined the Lumi family, I found the O&M process was still at a primitive stage. At that time, all I could do was roll up my sleeves to analyze the condition under great pressure. It turned out to be that more than 80% of the microservice architecture was nearly based on memory with low resource utilization, especially CPU and disk storage. The update timeline was also unsatisfactory. All of these were extremely irritating. I determined to truly make a difference. Starting from continuous integration, I built environments with Jenkins and Harbor. I used Docker Swarm for orchestration in testing environments. Ultimately, my efforts paid off as the delivery speed and quality in the testing environment had been greatly improved. Nevertheless, as our business grew exponentially, we noticed that Docker Swarm has some apparent weaknesses:' - - content: 1. Inefficient cross-platform support; - - content: 2. Internal communications among services will run overtime in the traffic peak period. + - content: 传统部署应用方式,资源利用率非常低,时长让老板们本狠狠地咬牙切齿。在这种情况下,本人在 2017 年开始接触容器,尝试着在公司上开发与测试环境。当时直接给公司开发、测试环境的资源利用率提高了 50%。到 2018 年,开始在生产环境用 Docker Swarm 排编容器,更显著提高了资源的利用率。 + - content: 从命令行到脚本化,最后到平台化,一路走来步步艰辛。当刚开始加入绿米大家庭,发现绿米运维还处在原始野人阶段,回顾四周,我只能屡起袖子顶着压力分析情况,发现绿米的微服务架构 80% 以上都是偏内存型服务,资源利用率非常低,尤其是 CPU、磁盘存储,十分让人懊恼。且迭代速度也不尽人意。静心思静,决定大改这种状况。从持续集成开始、Jenkins、Harbor 搭建,到测试环境 Docker Swarm 排编。这大大改善了测试环境的交付速度以及交付质量,但慢慢发现,业务量曾涨速度太快,Docker Swarm 排编劣势明显: + - content: 1. 跨平台支持效果差; + - content: 2. 业务量访问高峰期的时候,内部 Service 通信的时候就会出现超时的问题。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200514150210.png - type: 1 contentList: - - content: Improved Resource Utilization - - content: Cross-platform Support - - content: Efficient Container Orchestration + - content: 提高资源利用率 + - content: 支持跨平台 + - content: 高效的容器编排 - - title: 'A Comprehensive Shift: Docker Swarm to Kubernetes' + - title: 从 Docker Swarm 全面转向 Kubernetes contentList: - - content: The time when the three giants dominated the container orchestration field had past as Kubernetes outpaced Docker Swarm and Mesos as the de facto standard in the area. Therefore, we have steered our business from Docker Swarm to Kubernetes in all respects. In fact, we have been thinking about the shift for several years, especially when we need nearly 1,000 machines for O&M. In this connection, an O&M-friendly and unified container cloud platform is necessary for us in terms of the large-scale deployment of cloud native microservice applications based on Kubernetes. + - content: 三架马车时代已是过去式,Kubernetes 击败 Docker Swarm 和 Mesos 成为容器编排领域的事实标准。因此,我们的业务架构从 Docker Swarm 全面转向 Kubernetes。选择 Kubernetes 几年前就在心里扎根,尤其是近来需要运维近千台机器的时候,一个运维友好与统一的容器云平台成为了我们基于 kubernetes 大规模落地云原生微服务应用的刚需。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200514002430.png - - title: 'Platform Selection: Embrace KubeSphere' + - title: 开源容器平台选型:拥抱 KubeSphere contentList: - - content: For the native installation and O&M of Kubernetes, open source solutions from a third party are still required. After careful consideration, Rancher and KubeSphere appeared to be our possible choices. - - content: KubeSphere is an open source project initiated by QingCloud and co-developed by multiple enterprises. Compared with Rancher, KubeSphere features a neater user interface and a useful wizard for resource creation. With applications as its kernel, KubeSphere focuses more on the management of Kubernetes cluster resources than Rancher. It provides elegant API ports and integrates common components for development and O&M based on Kubernetes, such as Jenkins, Harbor, Promethues and Apache SkyWalking. Besides, it can be deployed in any infrastructure environment. All of these explain why we have selected the KubeSphere container platform without any hesitation. - - content: We have deepened our understanding of different modules in Kubernetes amidst our use of KubeShpere which features great compatibility with multiple cloud platforms and plugins. It has also accelerated our path to put container orchestration of Kubernetes into practice for the production environment. Furthermore, KubeSphere has liberated us from repetitive work facing O&M, reducing the entire cost of application maintenance. It is truly a cutting-edge tool for the O&M team and provides tremendous benefits to Internet companies. + - content: 但是对于原生安装与运维 Kubernetes 还是借助第三方开源方案,我们经过反复的琢磨,最终选择了使用第三方开源项目。看来看去 Rancher 和 KubeSphere 成了考虑的选型。 + - content: KubeSphere 是由青云 QingCloud 发起并联合多个企业共同参与开发的开源项目。对比 Rancher 和 KubeSphere,后者不仅有清爽的操作界面,向导式的资源创建方式,完全以应用为中心,更倾向于 Kubernetes 集群资源的管理,提供优雅的 API 接口,并且在 Kubernetes 之上集成与包装了我们运维开发常用的功能组件,例如 Jenkins、Harbor、Promethues、Apache SkyWalking,还支持在任何基础设施环境部署,所以我们毫不犹豫的选择了 KubeSphere 容器平台。 + - content: KubeSphere 跨多云平台的兼容、以及支持多插件的选择,在使用过程中加深了我们对 Kubernetes 各个模块的理解、推进了我们对生产环境落地 Kubernetes 容器编排的步伐。并且,KubeSphere 解放了我们运维日常面临的重复的工作,减低了应用的整体维护成本。是运维的一把利器,是互联网公司的一道福音。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200620002443.png - - title: Deployment Architecture + - title: 绿米物联网微服务平台部署架构 contentList: - - content: Currently, our company is using 7 servers in Tencent Cloud to build the cluster. - - content: All stateless services are now running in KubeSphere. Besides, we are using Redis, HBase, Flink, Elasticsearch and MySQL in cloud for stateful data storage services. - - content: Our system has been running for over half a year so far without major issues. As a result, we are planning to transfer all stateful and stateless services in the development, testing and production environment of our company to KubeSphere in recent days. + - content: 目前公司主要是在腾讯云上用 7 台服务器来构建集群。 + - content: 目前所有的无状态的服务都运行在 KubeSphere,有状态的数据存储类服务,我们使用云上的 Redis、HBase、Flink、Elasticsearch、MySQL 等集群服务。 + - content: 截止目前为止已经运行半年多且无大问题出现,这推动我们计划近期把公司开发、测试、生产环境中所有的有状态和无状态服务全部迁移到 KubeSphere 上去。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200513002703.png - - title: Design Architecture + - title: 绿米物联网微服务平台设计架构 contentList: - - content: Let us take a look at the business architecture of Lumi United. Currently nearly all of its overseas services are running on KubeSphere, including Gateway, message sending and pushing, and IFTTT. - - content: As our business is mainly based on Java, we provide microservices on the basis of Spring Cloud, manage configurations with Apollo, a distributed system configuration center, and use Eureka for service registration and discovery. - - content: With Ribbon and Feign, load balancing and service calling is achieved for microservices. At the same time, we use Hystrix thread poop for isolation, circuit breaking, fallback and traffic limit (sentinel). Springcloud-gateway is used for route scheduling and ELK is used for logging solutions. We use Skywalking as the APM tool for Java microservices distributed system. + - content: 首先可以看看绿米物联网的业务架构图,目前绿米海外地区的服务,基本上全部都运行在 KubeSphere 之上,包括 Gateway 微服务路由调度、Push、Send 推送、iftt 定时等等。 + - content: 由于我们的业务以 Java 为主,因此绿米物联网微服务平台是基于 SpringCloud 框架进行微服务化,使用 Apollo 分布式配置中心管理配置,Eureka 注册中心服务注册与发现。 + - content: 结合 Ribbon、Feign 实现微服务负载均衡以及服务调用。同时,我们使用 Hystrix 线程池实现隔离、熔断以及降级、sentinel 限流,而 springcloud-gateway 网关路由则用来实现路由调度,日志使用的是经典的 ELK 组合,APM 使用 SkyWalking 作为 Java 微服务分布式系统的应用程序性能监视工具。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200514005601.png - title: contentList: - - content: We use Tencent Cloud for IaaS. Microservices are mainly included in the platform, where most applications are running on KubeSphere. All the sub-devices are linked to Hub devices (Smart Gateway, Smart Socket Gateway, Cameras, etc.) through the Zigbee protocol. Hub devices are connected to our microservice platform through the PRC protocol and the platform provides data for applications (SaaS). Reversely, applications can call the microservice platform through security authentication, which is how smart home devices are controlled. At the service level, we have plugins for tracing analysis, basic monitoring and CI/CD. - - content: KubeSphere makes it much easier for us to use Kubernetes, accelerating our step in deploying Kubernetes in the production environment. It has significantly improved our efficiency of business update, making it possible for our R&D engineers to quickly switch among different applications for the deployment and authentication of their features. + - content: 如上图所示,IaaS 我们使用的是腾讯云,Platform (平台层)主要是物联网业务平台的微服务,Platform 层的绝大多数应用都运行在 KubeSphere 容器平台之上,所有子设备通过 Zigbee 协议 连接 Hub 设备,即智能网关、智能插座网关、摄像头等,Hub 设备通过 RPC 协议与绿米智能家居的微服务平台通信,微服务平台为 App、SaaS 等应用提供数据,反向应用通过一系列安全鉴权、认证来调用绿米微服务平台,实现控制智能家居设备。服务层拥有链路追踪、基础监控、CI/CD 等插件。 + - content: KubeSphere 让我们对 Kubernetes 的入门变得更简单、加快推进生产环境 Kubernetes 的上线,对业务迭代有明显的效率提高,并且能够让研发更快地随意切换部署验证各个应用的功能模块。 image: - type: 2 - content: 'KubeSphere is truly a cutting-edge tool for the O&M team and provides tremendous benefits to Internet companies.' - author: 'Wei Hengjun' + content: 'KubeSphere 是运维的一把利器,是互联网公司的一道福音。' + author: '魏恒军' - - title: Our Future Plan + - title: 未来计划 contentList: - - content: The IoT microservice platform has been running in our production environment for over half a year so far without major issues. As a result, we are planning to transfer all stateful and stateless services in the development, testing and production environment of our company to KubeSphere in recent days. + - content: 截止目前为止,这一套物联网微服务平台已经在我们绿米联创的生产运行半年多且无大问题出现,因此,我们计划在近期把公司开发、测试、生产环境中所有的有状态和无状态服务全部迁移到 KubeSphere 上去。 image: rightPart: icon: /images/case/aqara-detail.jpg list: - - title: INDUSTRY - content: Smart Home - - title: LOCATION - content: China - - title: CLOUD TYPE - content: Hybrid - - title: CHALLENGES - content: Availability, Efficiency, Velocity - - title: ADOPTED FEATURES - content: Hosted + - title: 行业 + content: 智能家居 + - title: 地点 + content: 中国 + - title: 云类型 + content: 混合云 + - title: 挑战 + content: 可用性、效率、速度 + - title: 采用功能 + content: 托管 --- diff --git a/content/zh/case/benlai.md b/content/zh/case/benlai.md index 680e18e0e..07e2ea779 100644 --- a/content/zh/case/benlai.md +++ b/content/zh/case/benlai.md @@ -5,98 +5,98 @@ description: css: scss/case-detail.scss section1: - title: Benlai - content: Founded in 2012, Benlai is an e-commerce website focused on food, including fruits and vegetables. + title: 本来生活 + content: 本来生活网创办于2012年,是一家生鲜电商平台,提供蔬菜、水果、海鲜等优质生鲜果蔬食材食品网购服务。 section2: listLeft: - - title: Company Introduction + - title: 公司简介 contentList: - - content: We work closely with select food providers and supply bases. We are committed to improving food safety in China as we strive to provide cold chain delivery services and direct home delivery services from our bases. This is how we work to become a quality food provider in China. + - content: 从优质食品供应基地、供应商中精挑细选,剔除中间环节,提供冷链配送、食材食品直送到家服务。致力于通过保障食品安全、提供冷链宅配、基地直送来改善中国食品安全现状,成为中国优质食品提供者。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611182545.png - - title: 'Technology Condition: Infrastructure' + - title: '技术现状:基础设施' contentList: - - content: Deployed in IDC - - content: Over 100 physical machines - - content: Virtualized deployment + - content: 部署在 IDC 机房 + - content: 拥有 100 多台物理机 + - content: 虚拟化部署 image: - - title: Existing Issues + - title: 存在的问题 contentList: - - content: Occupancy rate of physical machines is over 95% - - content: Many idle resources - - content: Application scaling up process is relatively slow + - content: 物理机 95% 以上的占用率 + - content: 相当多的资源闲置 + - content: 应用扩容比较慢 image: - - title: Embrace DevOps and Kubernetes + - title: 为什么选择 DevOps 与 Kubernetes contentList: - - content: 'We have three main objectives as we embark on the road of DevOps:' - - content: 1. Improve resource utilization - - content: 2. Enhance release efficiency - - content: 3. Reduce the working cost of O&M - - content: The most important part is cost efficiency. Here is how we work to update our business toward DevOps. + - content: '公司走上容器平台的 DevOps 这条康庄大道主要目标有三:' + - content: 1、提高资源利用率 + - content: 2、提高发布效率 + - content: 3、降低运维的工作成本等等 + - content: 其实最主要的还是省钱。接下来介绍我们本来生活的 DevOps 升级之路。 image: - type: 1 contentList: - - content: Improved Resource Utilization - - content: Enhanced Release Efficiency - - content: Reduced Working Costs + - content: 提高资源利用率 + - content: 提高发布效率 + - content: 降低工作成本 - - title: 'Level 1: DevOps Tool Selection' + - title: 'Level 1: DevOps 工具选型' contentList: - - content: As we began to learn DevOps, an open-source platform KubeSphere had come to our awareness. KubeSphere is an enterprise-grade container platform built on Kubernetes with applications as its kernel. It supports multiple business scenarios, including agile development and automated O&M, DevOps, microservices governance, grayscale release, multi-tenant management, monitoring and alerting, log query and collection, application store, storage management and network management. - - content: The Jenkins-based DevOps pipeline built in KubeSphere is very appropriate for us to use as it provides all necessary cloud native tools across the whole ecosystem for O&M. - - content: Therefore, we began to create a proper CI/CD process by learning the operation, grammar and plugins related to KubeSphere and Jenkins. With the support of KubeSphere container platform, our level 1 CI/CD process had taken shape. - - content: At Level 1, we successfully achieved some processes, such as code pulling, application programming, pushing images to a local repository and deploying them to a Kubernetes cluster. + - content: 我们从初步接触 DevOps 相关知识,在此期间偶然了解到开源的 KubeSphere (kubesphere.io)。KubeSphere 是在 Kubernetes 之上构建的以应用为中心的企业级容器平台,支持敏捷开发与自动化运维、DevOps、微服务治理、灰度发布、多租户管理、监控告警、日志查询与收集、应用商店、存储管理、网络管理等多种业务场景。 + - content: KubeSphere 内置的基于 Jenkins 的 DevOps 流水线非常适合我们,并且还打通了我们日常运维开发中需要的云原生工具生态,这个平台正是我们当初希望自己开发实现的。 + - content: 于是,我们开始学习 KubeSphere 与 Jenkins 的各种操作、语法、插件等,开始构建适合我们自己的 CI/CD 的整个流程。最终结合 KubeSphere 容器平台,初步实现了第一级的 CI/CD 流程。 + - content: 在 Level 1 的流程中,我们主要实现了拉取代码、编译应用、发布镜像到本地仓库、部署到本地 Kubernetes 集群。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611182621.png - - title: Gaining Expertise + - title: 积累经验值 contentList: - - content: With a general CI/CD process in place, we continued to work on the pipeline. For example, we succeeded in the dynamical generation of application information after we studied how to customize a Jenkins pipeline. A large part of the reason why Jenkins becomes a major enterprise-grade CI/CD application is that it features an abundant plugin ecosystem. This has driven us to continue to work on Jenkins plugins, achieving a series of processes in the pipeline, such as FTP uploading, dynamic deployment of ConfigMap with commands and storage deployment. + - content: 在 KubeSphere 初步完成 CI/CD 流程后,我们继续研究和完善流水线。比如,在研究 Jenkins Pipeline 的自定义方法后,我们实现了动态生成应用相关信息。Jenkins 成为企业级的主流 CI/CD 软件很大一部原因是其拥有丰富的插件生态,因此我们继续研究 Jenkins 插件,并在流水线中实现了上传 FTP、通过命令动态部署 ConfigMap、部署存储等流程。 image: https://pek3b.qingstor.com/kubesphere-docs/png/20200611182839.png - type: 2 - content: 'The Jenkins-based DevOps pipeline built in KubeSphere is very appropriate for us to use as it provides all necessary cloud native tools across the whole ecosystem for O&M.' - author: 'Yang Yang' + content: 'KubeSphere 内置的基于 Jenkins 的 DevOps 流水线非常适合我们,并且还打通了我们日常运维开发中需要的云原生工具生态.' + author: '杨杨' - - title: 'Level 2: Improve the Pipeline' + - title: 'Level 2: 完善流水线' contentList: - - content: We had upgraded our CI/CD process to Level 2 as we learned more about the Jenkinsfile grammar and plugins. We added more elements in the pipeline, such as configuration deployment, storage deployment and CND uploading. - - content: Based on our business, our CI/CD process needs to be divided into varied types for release with different parameters for each type. At the beginning, we tried to use “when” first followed by “Input” to provide different parameters. However, the running order did not come the way we expected. Alternatively, we were aware of another kind of Input grammar to serve as a perfect solution to our issue. + - content: 经过不停的努力学习 Jenkinsfile 语法及插件后,我们的 CI/CD 流程升级到 Level 2。我们在流水线中,加入了 部署配置、部署存储、上传 CDN 等。 + - content: 因为业务需要,我们的 CI/CD 流程需要 分为几种类型的发布,而每种类型的发布都需要不同的参数;于是我们按照之前学习到的 Jenkins Pipeline 语法,想当然的使用 When 条件语句去判断传入的发布类型跳转到不同 Stage ,然后在通过 Input 输入参数语句实现不同参数的输入,但是发现 Input 参数语句的优先级高于 When 条件语句,也就是说不管我选择哪个发布类型都要先输入参数,然后系统才会去判断是否跳过该 Stage,这与我们想的完全不一样。于是我们各种 Google 和查官方文档,最后找到另外一种 input 语法,可以把 input 的优先级降低,使得 When 条件语句先判断,这样就满足了我们的需求。 image: - - title: 'Level 3: Rollback' + - title: 'Level 3: 回滚' contentList: - - content: After our struggle with the dynamic parameter, we had upgraded our CI/CD process to Level 3 where dynamic parameters could be generated for different types of tasks. - - content: For a rollback, the application and ConfigMap must both be included in the rollback while the ConfigMap version controlling feature is not supported in Kubernetes, which poses a great challenge for management. In this connection, we have to acquire the ConfigMap from the configuration center every time an application is released. When a ConfigMap is generated, the version number will be added following its name. This is how we work to perform a rollback for both the application and ConfigMap. + - content: 经过采坑动态参数,我们将 CI/CD  流程升级到 Level 3,即新增了根据不同发布类型的任务,满足动态生成所需的参数。 + - content: 在实际生成环境中我们回滚肯定是要将应用的程序和 ConfigMap 一起回滚的,但是 Kubernetes 的 ConfigMap 是没有版本控制的,这对于管理就会非常麻烦。于是,我们只能使用笨办法,在每次发布应用时,去配置中心抓取当前应用的配置生成 ConfigMap。并且,在 ConfigMap 名称后面跟上当前应用的发布版本,然后,在部署到 Kubernetes 时,会将该版本的 ConfigMap 挂载到当前发布的 Deployment 中,这样我们在回滚或发布时,就能直接将应用的镜像和 ConfigMap 一起回滚到指定版本。 image: - - title: Standardized Process + - title: 标准化流程 contentList: - - content: We have learned from our previous lessons and wondered whether we can standardize the whole process once we have a well-placed CI/CD process. That means all applications can go through the same process before they are released. This serves as a more efficient way than to write the CI/CD process into the pipeline of every application. This is because it will be quite difficult to change the process of various applications once the CI/CD process needs to be modified. - - content: We searched for related information of standardization and finally found Shared Libraries of Jenkins, which helped us to divide the CI/CD process into two parts. Now, we only need to input parameters in the Jenkins pipeline of each application and call the method to execute the process. What’s more, the code of the Jenkins pipeline for each application has decreased from over 500 lines to less than 30 lines. + - content: 经过前期各种学习和采坑,我们的 CI/CD 流程基本成熟了后,我们开始考虑是不是能把整个流程标准化,每个应用只需要调用这个标准化流程去执行发布就好;而不是把 CI/CD 流程写到每个应用的 Pipeline 中;不然以后应用多了,万一需要修改 CI/CD 流程,想想有那么多应用的流程要修改,会比较麻烦。 + - content: 我们搜索了标准化的相关信息,终于发现了一个叫 Jenkins 的扩展共享库。通过 Jenkins 扩展共享库我们把 CI/CD 流程拆分为 通用方法 和 流程逻辑 两块。然后每个应用的 Jenkins Pipeline 中只需按要求传入参数,然后调用要执行的流程方法即可;每个应用的 Jenkins Pipeline 的代码量从原来的 500 多行减少到了不到 30 行。 image: - - title: 'Level 9: One-click Deployment' + - title: 'Level 9: 实现一键发布' contentList: - - content: Through our unremitting efforts, we have developed great expertise all the way up to Level 9, as the CI/CD process sees a considerable improvement. - - content: For future releases, we only need to select the release type and environment and perhaps a cup of coffee ☕️, waiting for the service to be released by KubeSphere all with one click. + - content: 经过采坑和填坑的不懈努力,我们积累了很好的经验;一下子跳级到 Level 9,CI/CD 流程有了质的飞跃,化整为零了。 + - content: 以后的持续发布过程,只需要在 KubeSphere 平台点击运行,选择发布类型和环境,然后点击确定,就可以去喝一杯咖啡 ☕️ ,安静地等待服务发布上线! image: rightPart: icon: /images/case/section6-benlai.jpg list: - - title: INDUSTRY - content: E-Business - - title: LOCATION - content: China - - title: CLOUD TYPE - content: Private - - title: CHALLENGES - content: Resources Utilization, Delivery Efficiency, Costs - - title: ADOPTED FEATURES + - title: 行业 + content: 电商 + - title: 地点 + content: 中国 + - title: 云类型 + content: 私有云 + - title: 挑战 + content: 资源利用率、交付效率、成本 + - title: 采用功能 content: CI/CD, DevOps, Jenkins ---