AI智能总结
实时分析使用 ClickHouse 的 Kubernetes 罗伯特 · 霍奇斯数据峰会波士顿 - 2024年 5 月 9 日 让我们做一些介绍 罗伯特 · 霍奇斯 Altinity Engineering 数据库极客在 DBMS 系统上有 30 多年的经验。日常工作: Altinity CEO 在 DBMS 和应用程序方面拥有数百年经验的数据库极客 ClickHouse 支持和服务 , 包括Altinity. Cloud作者ClickHouse 的 Altinity Kubernetes 运算符 和其他开源项目 ClickHouse 是一个实时分析数据库 了解 SQL在裸机上运行到云无共享架构按列存储数据并行和矢量化执行扩展到许多 PB是开源的 (Apache 2.0) 这是一个流行的引擎实时分析 我们可以用 ClickHouse 这样的数据库做什么 ? 为什么不直接使用 PostgreSQL ? PostgreSQL, MySQL ClickHouse 读取行中的所有列 只读选定的列 ClickHouse 在分析查询上的速度通常快 1000 倍 Kubernetes 、运算符和 ClickHouse Kubernetes 管理基于容器的应用程序 Kubernetes 将资源定义映射到基础架构 ClickHouse 通常有点复杂 ! 操作员使复杂的数据库在 Kubernetes 上工作 设置您的fi rst ClickHouse群集在Kubernetes 从 GitHub 安装 ClickHouse 运算符 kubectl apply -f \ https://raw.githubusercontent.com/Altinity/clickhouse-operator/master/deploy/operator/clickhouse-operator-install-bundle.yaml 设置 ZooKeeper 获取 Zookeeper 有状态集 de fi nition: 您提供的文本似乎是一个 YAML 文件的路径,而不是一段描述性的文本。因此,不需要进行翻译。以下是您提供的文本: ``` 安装 Zookeeper 。仅限 Devhttps://raw.githubusercontent.com/Altinity/clickhouse-operator/master/deploy/zookeeper/zookeeper-manually/quick-start-persistent-volume/zookeeper-1-node.yaml``` kubectl 创建 ns zoo1ns kubectl apply - f zookeeper - 1 - node. yaml - n zoo1ns De fi ne 您的集群 (集群配置 , 第 1 页) apiVersion: "clickhouse. altinity. com / v1"种类: "ClickHouseInstallation"元数据:名称: "demo"spec:配置:群集:- 名称: "cl"布局:replicasCount: 1shardsCount: 1模板:volumeClaimTemplate: storagepodTemplate: 副本动物园管理员:节点:- host: keeper De fi ne 您的集群 (pod de fi nition , 第 2 页) 模板:服务器版本podTemplates:- 名称: 副本spec:容器:- 名称 : clickhouse图像: altinity / clickhouse - server: 23.8. 8.21. altinitystable De fi 和您的集群 (存储 de fi nition , 第 3 页) volumeClaimTemplates:- 名称: 存储# Do not delete PVC if installation is dropped.声明政策: 保留spec:accessModes:- ReadWriteOnce资源:要求:存储 : 50Gi 演示时间 ! 操作员如何管理添加副本 ? 向上扩展到生产上Kubernetes 选择 Kubernetes 发行版 您的 Kubernetes 设置需要做一些正确的事情 只要你有正确的魔法配置... 我们可以控制 VM 类型、区域和存储类型 将 pod 分配给 VM 类型 模板: pod模板:- 名称: server规格:容器:- 名称: clickhouse镜像: altinity/clickhouse-server:23.3.13.7.altinitystable节点选择器:node.kubernetes.io/instance-type: m6i.largeVM 类型 然后让 VM 更大 ! 模板: podTemplates: - name: server spec: containers: - name: clickhouse image: altinity/clickhouse-server:23.3.13.7.altinitystable nodeSelector: node.kubernetes.io/instance-type:m6i. xlarge AF fi 与反 AF fi 的关系 将副本分配给特定可用区域 为每个 pod 添加 af fi nity 规则 模板: 建筑完成分析堆栈 我们如何以云原生方式部署分析堆栈 ? ArgoCD 将部署从 Git [Hub] 映射到 K8s 将您的配置保持在 GitHub 中并安装在任何地方 (安装 Argo CD) argocd app create clickhouse --repo https://github.com/Altinity/argocd-examples-clickhouse.git --path apps/clickhouse --dest-server https://kubernetes.default.svc --dest-namespace default Argocd 应用程序同步 clickhouse 使用 GitHub 、 ArgoCD 和 Kubernetes 的高级 GitOps 最后的想法 如何在 Kubernetes 上开始使用 ClickHouse ●●Altinity Kubernetes 操作员管理 ClickHouse 集群在 Minikube 或其他开发版本的 ClickHouse 上尝试一下● 大多数人将托管的 Kubernetes 服务用于生产系统○ 但是 OpenShift 、 Rancher 、 KOPS 也可以... ● 清单上的刺绣功能 , 用于交付生产集群○ 自动扩展计算和存储 ○ 跨可用区域扩展服务器 ○ 向上扩展分片和副本 ● 使用 Argo CD(或您最喜欢的 GitOps 工具) 构建整个堆栈 更多信息 ! ● GitHub 上 ClickHouse 的 Altinity Kubernetes Operator○https: / / github. com / Altinity / clickhouse - operator● Altinity documentation (https: / / docs. altinity. com) ● Altinity博客 (https: / / altinity. com / blog) ● Kubernetes 文档 (https: / /kubernetes. io / docs / home /) ● EKS 、 GKE 和 AKS 文档 Altinity. Cloud 谢谢 ! 有问题吗 ? ClickHouse的 Altinity Kubernetes 运算符 https: / / altinity. com rhges 在 altinity. com 与我联系LinkedIn 我们在招聘 !




