深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读

这篇具有很好参考价值的文章主要介绍了深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

各位好,这里是难忘,本人对云原生也是研究了2年多了,算是略有所得,本次就来深入云原生—基于KubeWharf深度剖析场景与解读。我们需要先了解一下 KubeWharf,可能很多人都感觉到有点陌生吧,下面我们来一起学习!

深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读,IT分享/测评/交流,云原生,KubeWharf,元数据存储系统,字节开源,开源

🌰一.KubeWharf详解

KubeWharf 是字节跳动基础架构团队在对 Kubernetes 进行了大规模应用和不断优化增强之后的技术结晶。这是一套以 Kubernetes 为基础构建的分布式操作系统,由一组云原生组件构成,专注于提高系统的可扩展性、功能性、稳定性、可观测性、安全性等,以支持大规模多租集群、在离线混部、存储和机器学习云原生化等场景。

KubeWharf 由以下项目组成:

  • KubeBrain 是一个高性能的 Kubernetes 元数据系统,用于存储和管理 Kubernetes 集群的元数据。 

深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读,IT分享/测评/交流,云原生,KubeWharf,元数据存储系统,字节开源,开源

  • KubeZoo 是一个轻量级的 Kubernetes 多租户网关,用于在 Kubernetes 集群之间进行安全隔离。 

深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读,IT分享/测评/交流,云原生,KubeWharf,元数据存储系统,字节开源,开源

  • KubeGateway 是一个 Kubernetes 网关,用于在本地和云端 Kubernetes 集群之间进行通信。
  • Godel Scheduler 是一个高性能的 Kubernetes 调度器,用于在 Kubernetes 集群中智能地调度容器。

KubeWharf是一个分布式操作系统,由字节跳动基础架构团队在应用和优化增强Kubernetes之后创建。这个系统是一套以Kubernetes为基础构建的分布式操作系统,由一组云原生组件构成,专注于提高系统的可扩展性、功能性、稳定性、可观测性、安全性等,以支持大规模多租集群、在离线混部、存储和机器学习云原生化等场景。

深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读,IT分享/测评/交流,云原生,KubeWharf,元数据存储系统,字节开源,开源

🌰二.一个真实的KubeWharf应用场景

这是一个真实的应用场景哈,因为涉及业务,这里只能脱敏化的描述了。

一家大型互联网公司某某X需要构建一个可扩展、稳定、安全的 Kubernetes 集群,用于支持其在线业务和离线业务。

需求:

  • 需要支持数万个节点。
  • 需要提供丰富的功能,满足各种业务需求。
  • 需要经过大规模生产环境的验证。
  • 需要提供强大的可观测性功能。
  • 需要提供多种安全功能。

最后的解决方案是:

某某X使用了KubeWharf来构建其Kubernetes集群。

操作步骤:

  • 部署KubeBrain、KubeZoo、KubeGateway和Godel Scheduler。
  • 创建Kubernetes集群。
  • 部署业务应用。

该公司使用KubeWharf成功构建了一个可扩展、稳定、安全的Kubernetes集群。该集群支持了该公司的在线业务和离线业务,满足了该公司的所有需求。

我总结了一下KubeWharf在这个业务场景的优势:满足了该公司的所有需求。

  1. KubeWharf可以扩展到数万个节点。
  2. KubeWharf提供了丰富的功能,包括多租户、资源隔离、安全控制等。
  3. KubeWharf经过了字节跳动大规模生产环境的验证。
  4. KubeWharf提供了强大的可观测性功能,包括日志、监控、告警等。
  5. KubeWharf提供了多种安全功能,包括访问控制、数据加密等。

完全的满足了公司的业务需求!

公司业务,我着重对这部分(逻辑时钟)有很深的影响,来具体的写一下:

深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读,IT分享/测评/交流,云原生,KubeWharf,元数据存储系统,字节开源,开源

元数据存储系统需要监听指定逻辑时钟之后发生的所有修改事件,以保证系统整体的数据最终一致性。注册监听时,需要传入起始revision和过滤参数。过滤参数包括但不限于前缀过滤,即只接受Key包含指定前缀的变更事件。

处理监听注册请求时,首先创建事件队列,并根据过滤参数构造过滤器。然后,将事件队列注册到事件生成组件中,获取下发的新增事件。接着,从事件缓存中拉取事件的revision大于等于给定要求revision的所有事件到事件队列中。最后,将事件去重之后,按照revision从小到大的顺序使用过滤器进行过滤,并将过滤后的事件通过事件流推送到元数据存储系统外部的监听方。

深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读,IT分享/测评/交流,云原生,KubeWharf,元数据存储系统,字节开源,开源

这块业务比较熟悉,对(逻辑时钟)这块记忆犹新。

🐹2.1KubeBrain编译与启动学习记录

KubeBrain编译与启动这块我当时还特意的做了笔记,有所记录(比官网的介绍更加贴合我们开发者学习的角度上记录的)。

编译启动命令:

make tikv./bin/kube-brain --key-prefix "/" --pd-addrs=127.0.0.1:2379 --port=3379 --peer-port=3380 --compatible-with-etcd=true

多个 KubeBrain 共用一个 TiKV 集群时,需要注意以下两个配置:

  • key-prefix 参数和 APIServer 对应的 APIServer 的 etcd-prefix 参数必须保持一致。 这是为了保证多个 KubeBrain 能够正确访问 TiKV 集群中的元数据。
  • compatible-with-etcd 参数必须设置为 true。 这是为了开启从节点的支持 txn 和 watch,从而实现对 etcd 功能的完全兼容。

具体配置如下:

## key-prefix 参数
key-prefix = "/kubebrain"

## compatible-with-etcd 参数
compatible-with-etcd = true

KubeBrain 编译与启动只是整个使用流程中的第一步,接下来还需要进行以下操作:

  • 配置 KubeBrain:需要配置 KubeBrain 的各种参数,例如元数据存储、事件生成、事件流等。
  • 创建 Kubernetes 集群:需要创建 Kubernetes 集群,并将其加入 KubeBrain 的管理范围。
  • 部署 Kubernetes 应用:可以使用 KubeBrain 来部署 Kubernetes 应用,包括创建 Deployment、Service、Pod 等。
  • 管理 Kubernetes 集群:可以使用 KubeBrain 来管理 Kubernetes 集群,包括查看集群状态、修改集群配置等。

比如说:

配置 KubeBrain

配置 KubeBrain 需要修改 KubeBrain 的配置文件,该文件位于 /etc/kubebrain/config.yaml。配置文件中包含了 KubeBrain 的各种参数,例如:

  • key-prefix:元数据存储的键前缀。
  • etcd-prefix:APIServer 对应的 APIServer 的 etcd-prefix 参数。
  • compatible-with-etcd:是否开启从节点的支持 txn 和 watch。

创建 Kubernetes 集群

可以使用 Kubernetes 官方提供的工具来创建 Kubernetes 集群,例如 kubeadmminikube 等。

部署 Kubernetes 应用

可以使用 KubeBrain 提供的 API 或 CLI 来部署 Kubernetes 应用。

管理 Kubernetes 集群

可以使用 KubeBrain 提供的 UI 或 API 来管理 Kubernetes 集群。

我们需要学习的:

配置 KubeBrain

YAML

key-prefix: "/kubebrain"
etcd-prefix: "/kubebrain"
compatible-with-etcd: true

创建 Kubernetes 集群

kubeadm init

部署 Kubernetes 应用

kubectl create deployment nginx --image=nginx

管理 Kubernetes 集群

kubectl get nodes

🌰三.KubeWharf应用场景探索

我觉得KubeWharf应用场景是非常多,因为它的优势非常明显。

KubeWharf 是一个开源分布式操作系统,基于 Kubernetes。它可以用于构建和管理各种 Kubernetes 集群,包括:

  • 大规模多租集群:KubeWharf 可以扩展到数万个节点,满足大规模多租集群的需求。
  • 在离线混部:KubeWharf 可以用于在本地和云端混合部署 Kubernetes 集群,满足在离线混部的需求。
  • 存储和机器学习云原生化:KubeWharf 可以用于云原生化存储和机器学习应用,满足存储和机器学习云原生化的需求。

经过我的不断学习,KubeWharf 可以应用在以下几个场景:

  • 在线业务:KubeWharf 可以用于部署各种在线业务应用,例如 Web 应用、后端服务等。
  • 离线业务:KubeWharf 可以用于部署各种离线业务应用,例如数据分析、机器学习等。
  • 云原生应用:KubeWharf 可以用于部署各种云原生应用,例如容器应用、微服务应用等。
  • 混合云:KubeWharf 可以用于在本地和云端混合部署 Kubernetes 集群。
  • 边缘计算:KubeWharf 可以用于部署边缘计算 Kubernetes 集群。

KubeWharf 是一个强大的工具,可用于构建和管理各种 Kubernetes 集群。它可以满足各种场景的需求,是构建可扩展、功能强大、稳定、可观测和安全的 Kubernetes 集群的理想选择。

🌰四.心得与总结

🐹4.1心得

我深入探讨了云原生领域中的一个重要工具——KubeWharf,并通过详细解读其组成部分和一个真实的应用场景,展示了它在构建可扩展、功能强大、稳定、可观测和安全的 Kubernetes 集群方面的优势。以下是我的心得:

  • KubeWharf基于Kubernetes,专注于提高系统的各项性能,包括可扩展性、功能性、稳定性、可观测性和安全性。
  • 它由多个项目组成,如KubeBrain、KubeZoo、KubeGateway和Godel Scheduler,每个项目都有特定的功能,共同构建了一个强大的分布式操作系统。

我通过一个真实的应用场景,文章展示了KubeWharf在构建大型、可扩展、稳定、安全的Kubernetes集群方面的成功经验。

强调了KubeWharf的优势,包括可扩展性、丰富的功能、经过大规模验证、强大的可观测性和多种安全功能。这个案例为读者提供了一个具体的实例,说明KubeWharf在实际业务中的应用效果。

我对KubeWharf的一个关键应用领域——元数据存储系统进行了深入剖析。特别是对逻辑时钟的影响,我详细描述了元数据存储系统如何监听逻辑时钟,以保证系统的数据最终一致性。这一部分的具体实现细节使读者更深入地理解了KubeWharf的内部机制。

我通过对KubeBrain的编译与启动以及KubeWharf的应用场景进行探索,为大家提供了进一步学习的方向。通过展示编译与启动命令以及相关配置,大家可以更好地理解如何在实际中使用KubeWharf。同时,对KubeWharf的应用场景进行了分类,涵盖了在线业务、离线业务、云原生应用、混合云和边缘计算等多个领域,强调了KubeWharf的通用性和灵活性。

🐹4.1总结

这篇文章深入剖析了云原生领域中基于KubeWharf的分布式操作系统。通过对KubeWharf的构建背景、组成部分和真实应用场景的详细介绍,读者能够深刻理解这一工具在构建强大、可扩展、稳定的Kubernetes集群方面的重要性。我通过清晰的步骤和实例演示,使得即使是对KubeWharf陌生的读者也能够快速入门🐹

在实际应用场景中,KubeWharf在大规模多租户、离线混部、存储和机器学习云原生化等领域的优越表现。通过一家大型互联网公司的案例,读者不仅了解了KubeWharf的具体应用流程,还明白了它在多个方面的优势,包括扩展性、功能丰富性、稳定性、可观测性和安全性。这为读者提供了一个清晰的实际应用场景,帮助他们更好地理解KubeWharf的实际作用。

对于KubeWharf中一个关键领域——元数据存储系统的深入剖析,更是为读者提供了深入了解KubeWharf内部工作机制的机会。透过对逻辑时钟的具体影响和实现细节的描述,读者能够更好地理解元数据存储系统的工作原理,从而加深对KubeWharf整体架构的理解。

通过对KubeBrain编译与启动的学习记录以及对KubeWharf应用场景的探索,文章为读者提供了进一步学习和应用的指导。这些内容不仅仅是理论性的介绍,更是实际操作的具体步骤和场景应用的分类,使得读者能够更好地掌握KubeWharf的使用和适用范围。

作为一个研究云原生多年的我来说,我是非常的看好KubeWharf,我相信KubeWharf随着版本的优化迭代,会变的越来越好的!!!

深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读,IT分享/测评/交流,云原生,KubeWharf,元数据存储系统,字节开源,开源文章来源地址https://www.toymoban.com/news/detail-818576.html

到了这里,关于深入云原生—基于KubeWharf深度剖析-以公司实际应用场景为例深度解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解Java LinkedList:使用场景与实际应用

    在Java的世界里,集合框架是不可或缺的一部分,它提供了一系列用于存储和操作数据集合的接口和类。其中, LinkedList 作为List接口的一个实现,经常被拿来与 ArrayList 做对比。尽管在实际业务开发中 LinkedList 的使用频率可能不如 ArrayList 高,但这并不意味着它是一个冷门或无

    2024年01月24日
    浏览(57)
  • 构建现代化的Java应用: 深入探讨Spring Boot实际应用

    Spring Boot 是一个快速构建基于 Spring 框架的应用程序的框架。它提供了自动配置、代码生成器和快速开发工具,使得创建现代化的 Java 应用程序变得非常容易。在这里,我们将深入探讨 Spring Boot 实际应用的一些关键方面。 1. 数据库访问: 2. Web 应用程序开发: 3. 安全性: 4

    2024年02月02日
    浏览(67)
  • 构建现代化的Java应用:深入探讨Spring Boot实际应用

            Spring Boot作为Spring框架的一部分,是一款用于简化Java应用开发的框架。它通过提供约定大于配置的原则,使得开发者能够更加迅速、高效地搭建和部署应用。本文将深入探讨Spring Boot的实际应用场景,以及一些最佳实践,助力开发者更好地利用这一现代化的Java开发

    2024年02月03日
    浏览(77)
  • 深入剖析 深度学习中 __init()__函数和forward()函数

    再看代码时,发现init函数和forward函数都有参数,具体是怎么传参的呢? 为了更方便的讲解,会举简单的代码例子结合讲解。 forward() 和 __init__() 是神经网络模型类中的两个重要函数。它们通常是通过类的实例化和调用来执行的。 __init__() 函数是Python类中的构造函数,用于初

    2024年02月07日
    浏览(47)
  • 深度学习实战应用:分享一些深度学习在实际问题中的应用案例和经验

    目录 一、引言 二、案例一:计算机视觉——图像分类

    2024年02月02日
    浏览(38)
  • C语言递归:深入剖析与实战应用

    一、引言 递归是计算机科学中一种重要的编程思想,它通过将大问题分解为小问题,实现了代码的简洁与高效。在C语言中,递归也有着广泛的应用。本文将对C语言中的递归进行深入剖析,带你领略递归的魅力。 递归是指在函数中调用自身的过程。一个函数直接或间接调用自

    2024年02月21日
    浏览(43)
  • 深入剖析 Qt QMultiMap :原理、应用与技巧

    随着软件开发的不断演进,数据结构在程序设计中扮演着至关重要的角色。它们为开发人员提供了丰富的工具来有效地管理和操纵数据。在这个博客中,我们将重点关注一种特殊的数据结构——QMultiMap,这是Qt框架中提供的一个强大且实用的容器类。在接下来的文章中,我们

    2023年04月21日
    浏览(32)
  • 深入剖析 Qt QMap:原理、应用与技巧

    QMap是Qt框架中的一个关联容器类,用于存储键值对。它提供了高效且易于使用的方法来处理键值对数据,使得开发者可以在各种实际场景中轻松地存储和检索数据。QMap内部使用平衡二叉树(红黑树)作为底层数据结构,提供了高效的插入、删除和查找操作。掌握QMap及其基本

    2023年04月21日
    浏览(50)
  • 虚拟现实(VR)技术的深度解读及实际应用

    一、虚拟现实(VR)技术深度解读 虚拟现实(VR)技术是一种模拟真实环境的高科技技术,通过计算机生成的三维立体图像,使用户沉浸在计算机生成的虚拟环境中。这种技术利用了人类的视觉、听觉、甚至触觉,创造出一种超越现实的体验,使用户仿佛置身于另一个世界。

    2024年02月19日
    浏览(63)
  • 深入解读 Axios 拦截器:全面了解它的工作原理和实际应用

     Axios提供了一种称为 “拦截器(interceptors)” 的功能,使我们能够在请求或响应被发送或处理之前对它们进行全局处理。拦截器为我们提供了一种简洁而强大的方式来转换请求和响应、进行错误处理、添加认证信息等操作。在本文中,我们将深入探讨如何使用 Axios 的拦截器

    2024年04月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包