我的编程空间,编程开发者的网络收藏夹
学习永远不晚

容器化 | ClickHouse on K8s 基础篇

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

容器化 | ClickHouse on K8s 基础篇

容器化 | ClickHouse on K8s 基础篇

作者:苏厚镇 青云科技数据库研发工程师

目前从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。

ClickHouse[1] 是一款用于联机分析(OLAP)的列式数据库管理系统(DBMS)。由号称“俄罗斯 Google”的 Yandex 公司开发,并于 2016 年开源,近年在计算引擎技术领域受到越来越多的关注,算是数据库后起之秀。

Kubernetes[2] 是 Google 公司于 2014 年 6 月开源的一款容器集群管理系统。适用于管理云平台多个主机的容器化应用,旨在让部署容器化的应用简单并且高效,努力成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。

借助 K8s 和容器化技术,我们不仅可以使得应用的部署和管理更加简单高效、提高硬件资源利用率等,还可以实现健康检查和自修复、自动扩缩容、负载均衡等高级功能。

那么,如果黑马数据库 ClickHouse 遇上火热的容器化管理技术 K8s,会擦出怎样的火花呢?

| ClickHouse 容器化方案概览

当前 ClickHouse 的主流容器化方案包括 原生(Kubectl)部署Helm 部署 两种,而每种又包括 是否使用 Operator 两种情况。

部署方式 Kubectl 原生部署 Kubectl 原生部署 Helm 部署 Helm 部署
是否使用Operator × ×
部署方便程度
管理方便程度

| Helm 部署方案

Kubernetes 基于服务力度提供了很多资源类型,比如 Service、Deployment 等。当需要部署一个应用时,尤其是有状态应用,需要组合使用大量的 Kubernetes 资源,部署之后还需要管理它们,包括升级、更新换代、删除等等。这时我们会想,是否有这样一个工具可以在更上层的维度去管理这些应用呢?这个时候就有了社区的一个包管理工具:Helm[3]。

简单来讲,可把 Helm 看作是 Linux 中的 Yum,Java 中的 Maven。 对于应用发布者而言,可以通过 Helm 打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库。对于使用者而言,使用 Helm 后不用需要了解 Kubernetes 的 Yaml 语法并编写应用部署文件,可以通过 Helm 下载并在 Kubernetes 上安装需要的应用。

| ClickHouse Operator 管理方案

Operator in Kubernetes 是一个 Kubernetes 扩展,可以简化应用的配置、管理和监控等。目前已经有很多应用开发了其 Operator in Kubernetes,比如 MySQL、PostgreSQL、MongoDB 等等,ClickHouse 也启动了 ClickHouse Operator [4] 项目,用于在 K8s 上部署和管理 ClickHouse。

可提供如下功能:

  • 创建 Replicated 集群;
  • 管理用户、配置文件;
  • 管理版本升级;
  • 管理数据持久化的存储卷;
  • 导出 ClickHouse metrics 到 Prometheus;
  • 配置 Pod Deployment,如 Pod 模板,关联规则等;
  • ……

通过这些功能,可以让 ClickHouse 集群部署和管理过程不再繁琐,用户只需关心如何创建以及管理 CR 即可。

| RadonDB ClickHouse

RadonDB ClickHouse[5] 是由 RadonDB 研发团队研发并开源的,基于原生 ClickHouse 的高可用、云原生集群解决方案。RadonDB ClickHouse 实现了将 Operator 管理和 Helm 部署方案相结合,并支持在 Kubernetes 上轻便快速地创建和管理 ClickHouse 集群。

简单说,如果想在 Kubernetes 上使用 ClickHouse 集群,那么 RadonDB ClickHouse 是一个不错的选择。

结语

本文介绍了 Kubernetes 平台上搭建 ClickHouse 集群的几种方案,以及 Operator 和 Helm 的基本概念等内容。

下期预告

下期【部署篇】我们将 具体实践 文中提到的几种 ClickHouse + K8s 的部署方案。

尽请期待……

参考

[1]. ClickHouse:https://clickhouse.tech/

[2]. Kubernetes:https://kubernetes.io/

[3]. Helm:https://helm.sh/docs/

[4]. ClickHouse Operator:https://github.com/Altinity/clickhouse-operator/tree/master/docs

[5]. RadonDB ClickHouse:https://github.com/radondb/radondb-clickhouse-kubernetes

关于 RadonDB

RadonDB开源社区 是一个面向云原生、容器化的数据库开源社区。为数据库技术爱好者提供围绕主流开源数据库(MySQL、PostgreSQL、Redis、MongoDB、ClickHouse 等)的技术分享平台,并提供企业级 RadonDB 开源产品及服务。

目前 RadonDB 开源数据库系列产品已被 光大银行、浦发硅谷银行、哈密银行、泰康保险、太平保险、安盛保险、阳光保险、百年人寿、安吉物流、安畅物流、蓝月亮、天财商龙、罗克佳华、升哲科技、无锡汇跑体育、北京电信、江苏交通控股、四川航空、昆明航空、国控生物 等上千家企业及社区用户采用。

RadonDB 可基于云平台与 Kubernetes 容器平台交付,不仅提供覆盖多场景的数据库产品解决方案,而且提供专业的集群管理和自动化运维能力,主要功能特性包括:高可用主从切换、数据强一致性、读写分离、一键安装部署、多维指标监控&告警、弹性扩容&缩容、横向自由扩展、自动备份&恢复、同城多活、异地灾备 等。RadonDB 仅需企业及社区用户专注于业务层逻辑开发,无需关注集群高可用选型、管理和运维等复杂问题,帮助企业及社区用户大幅度提升业务开发与价值创新的效率!

GitHub:https://github.com/radondb

微信群: 请搜索添加群助手微信号 radondb

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

容器化 | ClickHouse on K8s 基础篇

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

容器化 | ClickHouse on K8s 基础篇

作者:苏厚镇 青云科技数据库研发工程师目前从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。ClickHouse[1] 是一款用于联机分析(OLAP)的列式数据库管理系统(DBMS)。由号称“俄罗斯 Google”的 Yande
容器化 | ClickHouse on K8s 基础篇
2019-11-30

容器化 | ClickHouse on K8s 部署篇【建议收藏】

作者:苏厚镇 青云科技数据库研发工程师目前从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。延续上篇《容器化 ClickHouse on K8s 基本概念解析篇》,可以了解到 Operator 提供简便管理 ClickHouse
容器化 | ClickHouse on K8s 部署篇【建议收藏】
2017-02-23

浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)

1、打开指定的网页地址 我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现from selenium import webdriver driver = webdriver.
2022-06-02

轻量化云服务器基础设施项目内容

1.虚拟化技术虚拟化技术是轻量化云服务器基础设施的核心。通过虚拟化技术,物理服务器可以被划分为多个虚拟机,每个虚拟机都可以独立运行操作系统和应用程序。常见的虚拟化技术包括VMware、KVM和Hyper-V等。2.容器化技术容器化技术是一种更轻量级的虚拟化技术,它将应用程序及其依赖项打包到一个独立的容器中,使其可以在任
2023-10-27

服务器容器化:从基础到精通的进阶指南

服务器容器化进阶指南:从基础到精通
服务器容器化:从基础到精通的进阶指南
2024-03-06

轻量化云服务器基础设施有哪些内容

轻量化云服务器基础设施通常包括以下内容:服务器硬件:包括处理器,内存,存储,网络以及电源等,通常采用主流的服务器硬件产品,例如Intel至强处理器系列,NVIDIAGeForceRTX20系列,AMDRyzen53200系列等等。操作系统和应用程序框架:轻量化云服务器通常采用开源的操作系统和应用程序框架,例如Linux操作系统,Fedora和Postgres-Red,以及Debian和Ub
2023-10-26

轻量化云服务器基础设施包括什么内容

轻量化云服务器基础设施通常包括以下内容:网络连接:使用高速、可靠和安全的网络连接,以确保云服务器可以在远程设备上快速访问。内存和存储:提供高性能内存和存储,以满足云服务器对存储容量和可扩展性的需求。服务器硬件:选择合适的服务器硬件,例如高性能、低能耗的服务器CPU、存储系统和网络设备,以确保云服务器的运行速度和稳定性。软件管理工具:使用集中管理工具和云软件管理工具,例如CloudStack等云平台的云管理工具,可以帮...
2023-10-27

轻量化云服务器基础设施有哪些内容呢

轻量化云服务器基础设施通常包括以下内容:硬件:云服务器通常使用标准的服务器硬件,包括硬盘、内存和处理器等,同时也支持虚拟化技术和存储技术。云存储:云服务器通常支持多种类型的云存储,如文件存储、对象存储和消息存储等。它们可以是本地文件系统、本地数据库或者云存储服务。网络:云服务器通常支持多种类型的网络连接,如虚拟专用网络、互联网连接等,以便与其他用户和应用程序进行通信。API和SDK:云服务器通常与第三方应用...
2023-10-27

轻量化云服务器基础设施包括哪些内容

轻量化云服务器基础设施通常包括以下内容:服务器硬件和软件:服务器硬件包括服务器的CPU、存储器、内存和IO等。其中,服务器的CPU是轻量化云服务器的核心部件,它直接决定了服务器的性能和稳定性,而内存和存储器则是轻量化云服务器的“粮草”,保证服务器的正常运行,同时也需要定期更换,确保性能和可用性。服务器操作系统:轻量化云服务器操作系统通常为Linux或其他开源操作系统,用户无需自行安装服务器
2023-10-26

轻量化云服务器基础设施包括哪些内容呢

轻量化云服务器基础设施通常包括以下内容:网络连接:确保云服务器的基础设施连接到互联网,使用高速网络连接以提供更快的通信速度。负载均衡:采用多台机器的负载均衡机制,以平衡多个请求并提供快速响应。存储选项:选择适合数据存储的存储选项,以确保其能够在高负载情况下保持高性能。监控和报警:对云服务器进行日志记录和监控,以及对服务出现故障的情况进行报警和记录。数据存储:将数据存储在高可靠性的存储系统上,确保数据的安全性和...
2023-10-27

轻量化云服务器基础设施包括什么内容呢

首先,轻量化云服务器可以提供更高的性能。与传统的高性能服务器相比,轻量化云服务器在功耗、内存、存储和处理能力等方面都有了显著的减轻。例如,一些轻量化云服务器的功耗可以降低至10瓦以下,同时可以更好地处理高性能计算任务。其次,轻量化云服务器可以实现更好的可扩展性。由于它们的硬件架构相对较轻,因此可以轻松地扩展和升级,以满
2023-10-27

轻量化云服务器基础设施包括哪些方面内容

轻量化云服务器基础设施(LightweightAloudServerInfrastructure,简称LNA)是指在服务器基础设施中包括了云服务器、存储和网络等基础设施,使得服务器能够在一个较小的硬件平台上运行。LNA旨在提高服务器的能效,减少服务器的能耗和维护成本,从而实现更高的可扩展性和灵活性。以下是LNA的一些方
2023-10-27

轻量化云服务器基础设施有哪些内容和要求

轻量化云服务器基础设施通常包括以下内容和要求:服务器:服务器是轻量云服务器的核心部分,主要提供高性能、高可用、高扩展性、高可靠性等功能。操作系统:云服务器需要支持多种操作系统,如Linux、Windows、MacOS等,以满足不同用户群的需求。存储:云服务器提供海量、快速的数据存储服务,需要支持高性能、高可用、高可靠性的存储设备。网络:云服务器需要支持多种类型的网络设备,包括网络设备、路由器、网卡等。安全:云服务器需要支...
2023-10-27

轻量化云服务器基础设施有哪些内容和功能

轻量化云服务器基础设施通常包括以下内容和功能:负载均衡(L3):负载均衡是为了将多台服务器(虚拟机)组合成一组服务器(集群),以提高系统的性能和可靠性。L3负载均衡可以通过软件实现,也可以通过硬件实现。负载均衡可以在主服务器故障时,自动将其分配到其他服务器上。高可用性(HA):高可用性是指系统在遭受不可预见的故障后,仍然能够在可接受的时间段内恢复运行。HA通常是通过软件实现,或者可以通过硬件实现。HA通常需要在主服...
2023-10-27

轻量化云服务器基础设施有哪些内容和要求呢

服务器硬件轻量化云服务器需要具备高性能和低功耗的硬件配置。高性能的硬件配置包括CPU、内存、硬盘等,可以满足用户对计算性能的要求;低功耗的硬件配置包括电池、风扇、散热器等,可以降低用户的电力消耗和设备功耗,延长设备使用寿命。网络轻量化云服务器需要具备高性能的网络配置。云服务器可以采用多种网络协议,如TCP/IP、HTT
轻量化云服务器基础设施有哪些内容和要求呢
2023-10-28

轻量化云服务器基础设施包括哪些内容和功能

轻量化云服务器基础设施是一个为小型或中型企业提供云计算服务的基础设施。它包括以下内容和功能:虚拟化云计算技术:云计算服务器将计算资源进行虚拟化,以便将资源分配给需要特定数量和类型计算资源的用户。这些虚拟化技术包括:硬件虚拟化:将计算资源划分为物理硬件资源,如处理器、存储和网络资源,并将其分配给特定的虚拟机。软件虚拟化:将计算资源分配给虚拟机软件,例如NativeApp。弹性云计算服务(RAS):云计算服务器能够动态地...
2023-10-27

轻量化云服务器基础设施包括什么内容和功能

轻量化云服务器包括以下内容和功能:轻量级CPU和内存:轻量化云服务器使用轻量级CPU和内存,使得它们更容易管理和使用。这些CPU和内存可以被集成到一个单独的板卡中,从而节省了安装和管理服务器硬件的时间和精力。可扩展性:轻量化云服务器具有可扩展性,因为它们可以通过添加更多的硬件来扩展其性能。例如,轻量化云服务器可以添加更
2023-10-27

轻量化云服务器基础设施包括哪些内容和方法

轻量化云服务器基础设施包括以下内容和方法:硬件:云服务器通常使用多种硬件平台,如处理器、内存、硬盘和网络组件。不同的硬件平台可能需要不同的配置和设置。软件:云服务器提供商通常提供各种软件,例如操作系统、数据库、应用程序服务、安全软件等。这些软件需要根据需求进行定制化。数据库:云服务器通常支持多种数据库,如MongoDB、Redis、MySQL等。这些数据库通常可以通过互联网访问和使用,并且可以进行数据备份和复制。应...
2023-10-27

轻量化云服务器基础设施有哪些内容和功能介绍

轻量化设计:轻量化云服务器采用模块化设计,可按需扩展和升级,从而降低服务器硬件的使用成本。这种设计有助于降低系统的能耗,同时提高系统的可用性和可靠性。轻量化处理器:轻量化云服务器通常采用高性能处理器,如英特尔至强处理器、AMDRyzen和Corei7处理器等,以及少量的缓存和指令集,以提高系统的性能。轻量化内存:轻量化
轻量化云服务器基础设施有哪些内容和功能介绍
2023-10-28

编程热搜

目录