首页 > 其他分享 >云原生数据基础设施之kubeblocks

云原生数据基础设施之kubeblocks

时间:2024-08-05 15:51:44浏览次数:15  
标签:原生 基础设施 demo Disabled kubeblocks mysql Helm KubeBlocks

一、kubeblocks简介

参考文档:https://kubeblocks.io/docs/release-0.9/user_docs/overview/introduction

1.KubeBlocks 是什么?

KubeBlocks 是基于 Kubernetes 的云原生数据基础设施,将顶级云服务提供商的大规模生产经验与增强的可用性和稳定性改进相结合,帮助用户轻松构建容器化、声明式的关系型、NoSQL、流计算和向量型数据库服务。

KubeBlocks 的名字源自 Kubernetes(K8s)和乐高积木,致力于让 K8s 上的数据基础设施管理就像搭乐高积木一样,既高效又有趣。

2.为什么需要 KubeBlocks?

Kubernetes 已经成为容器编排的事实标准。它利用 ReplicaSet 提供的可扩展性和可用性以及 Deployment 提供的推出和回滚功能来管理日益增加的无状态工作负载。然而,管理有状态工作负载给 Kubernetes 带来了巨大的挑战。
尽管 StatefulSet 提供了稳定的持久存储和唯一的网络标识符,但这些功能对于复杂的有状态工作负载来说远远不够。 为了应对这些挑战,并解决复杂性问题,KubeBlocks 引入了 ReplicationSet 和 ConsensusSet,具备以下能力: 1.基于角色的更新顺序可减少因升级版本、缩放和重新启动而导致的停机时间。 2.维护数据复制的状态,并自动修复复制错误或延迟。

3.主要功能

支持多云,与 AWS、GCP、Azure、阿里云等云平台兼容。
支持 MySQL、PostgreSQL、Redis、MongoDB、Kafka 等 32 个主流数据库和流计算引擎。
提供生产级性能、弹性、可扩展性和可观察性。
简化 day-2 操作,例如升级、扩展、监控、备份和恢复。
包含强大且直观的命令行工具。
仅需几分钟,即可建立一个适用于生产环境的完整数据基础设施。

二、安装 KubeBlocks

版本要求 1.22,具体根据官方文档

1.安装kbcli

curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash
kbcli version
echo "source <(kbcli completion bash)" >> ~/.bashrc
.  ~/.bashrc

2.安装KubeBlocks

需要等待几分钟

#查看可用的版本
kbcli kubeblocks list-versions
#使用 --version 指定版本,如果不指定则是最新版本
kbcli kubeblocks install --version=x.x.x

#验证 KubeBlocks 安装

kbcli kubeblocks status

KubeBlocks is deployed in namespace: kb-system,version: 0.9.0

KubeBlocks Workloads:
NAMESPACE   KIND         NAME                           READY PODS   CPU(CORES)   MEMORY(BYTES)   CREATED-AT                   
kb-system   Deployment   kb-addon-snapshot-controller   1/1          N/A          N/A             Aug 05,2024 13:40 UTC+0800   
kb-system   Deployment   kubeblocks                     1/1          N/A          N/A             Aug 05,2024 13:38 UTC+0800   
kb-system   Deployment   kubeblocks-dataprotection      1/1          N/A          N/A             Aug 05,2024 13:38 UTC+0800   

KubeBlocks Addons:
NAME                           STATUS     TYPE   PROVIDER   
alertmanager-webhook-adaptor   Disabled   Helm   N/A        
apecloud-mysql                 Enabled    Helm   N/A        
apecloud-otel-collector        Disabled   Helm   N/A        
aws-load-balancer-controller   Disabled   Helm   N/A        
csi-driver-nfs                 Disabled   Helm   N/A        
csi-hostpath-driver            Disabled   Helm   N/A        
csi-s3                         Disabled   Helm   N/A        
external-dns                   Disabled   Helm   N/A        
fault-chaos-mesh               Disabled   Helm   N/A        
grafana                        Disabled   Helm   N/A        
kafka                          Enabled    Helm   N/A        
kubebench                      Disabled   Helm   N/A        
kubeblocks-csi-driver          Disabled   Helm   N/A        
llm                            Disabled   Helm   N/A        
loki                           Disabled   Helm   N/A        
migration                      Disabled   Helm   N/A        
minio                          Disabled   Helm   N/A        
mongodb                        Enabled    Helm   N/A        
mysql                          Enabled    Helm   N/A        
nvidia-gpu-exporter            Disabled   Helm   N/A        
nyancat                        Disabled   Helm   N/A        
postgresql                     Enabled    Helm   N/A        
prometheus                     Disabled   Helm   N/A        
pulsar                         Enabled    Helm   N/A        
pyroscope-server               Disabled   Helm   N/A        
qdrant                         Disabled   Helm   N/A        
redis                          Enabled    Helm   N/A        
snapshot-controller            Enabled    Helm   N/A        
victoria-metrics-agent         Disabled   Helm   N/A   

3.插件启用/禁用

#查看支持的插件
kbcli addon list

#启用插件
kbcli addon enable plugin-name

#禁用插件
kbcli addon disable plugin-name

三、安装MySQL验证kubeblocks

1.安装MySQL

kubectl create namespace mysql-demo
kbcli cluster create mysql mysql-demo -n mysql-demo  #集群名称mysql-demo,我这里由于演示只创建一个节点,如果创建集群,参考官方文档
kubectl get pods -n mysql-demo 
NAME                 READY   STATUS    RESTARTS   AGE
mysql-demo-mysql-0   4/4     Running   0          6m41s

2.连接MySQL

#kbcli 方式
kbcli cluster connect mysql-demo -n mysql-demo  #会自动登录MySQL

#kubectl方式
kubectl get secrets -n mysql-demo |grep credential
mysql-demo-conn-credential                  Opaque   5      28m

kubectl get secrets -n mysql-demo mysql-demo-conn-credential -o  jsonpath='{.data.\username}' | base64 -d
root
kubectl get secrets -n mysql-demo mysql-demo-conn-credential -o  jsonpat.data.\password}' | base64 -d
rtbc8zdd

kubectl exec -ti -n mysql-demo mysql-demo-mysql-0 -- bash
mysql -uroot -p

标签:原生,基础设施,demo,Disabled,kubeblocks,mysql,Helm,KubeBlocks
From: https://www.cnblogs.com/panwenbin-logs/p/18343105

相关文章

  • 精品PPT | 微信云原生大数据平台构建及落地实践.pptx
    一、大数据上云概述1.为什么大数据要上云2.微信大数据平台架构演进二、大数据上云基础建设1.统一编排2.Pod设计及大数据配套能力3.计算组件云环境适配三、稳定性及效率提升1.K8S集群稳定性与弹性配额2.可观测性与智能运维......
  • uniapp动态修改原生tabbar栏样式
    最近使用uniapp开发app应用时遇到一个需求,app底部tabbar的高度和字体图标大小都是固定的,当在平板或高分辨率的设备上tabbar的高度和字体大小都显得很小了,虽然可以在pages.json中配置高度和字体大小,但只能静态设置无法动态改变。这样很不符合需求,无法通过在代码中判断设备和分辨......
  • 【云原生】Kubernetes中crictl的详细用法教程与应用实战
    ✨✨欢迎大家来到景天科技苑✨✨......
  • UniApp 原生插件接入步骤
    app插件主要分2种:原生语言插件原生语言插件有分为2类:(1)moduleAPI接口插件这种插件是API插件,有同步或异步API(2)UIcomponent组件插件这种插件是UI视图组件,使用到插件里的UI组件的页面要用nvueUTS插件uts集成步骤参考https://www.cnblogs.com/wenrisheng/p/183230......
  • 云原生周刊:Cilium v1.16.0 发布|20240729
    开源项目CyclopsCyclops是一个开源的开发工具,通过易于使用的用户界面简化了Kubernetes,使其更易上手。不再需要使用YAML创建和配置Kubernetes清单,可以使用Cyclops轻松配置和部署应用程序,还包括验证功能!KubetailKubetail是一个用于Kubernetes集群的私有实时日志查看......
  • 中电金信:云原生时代IT基础设施管理利器——基础设施即代码(IaC)
    ​在数字化转型、零售业务快速发展、信创建设驱动下,应用架构、技术架构、基础架构都已向云原生快速演进,银行业IT基础设施管理产生了非常大的变化,当前银行业,正在开展新一轮的核心应用系统重构、基础平台统一建设等重点任务,IT基础设施管理手段必将进行革新。 IT基础设施进行定义......
  • PWA与原生应用:性能与用户体验的深度对比
    摘要随着Web技术的进步,渐进式Web应用(ProgressiveWebApps,PWA)已成为一种越来越受欢迎的选择,它结合了Web和原生应用的优点。尽管如此,原生应用仍然占据着移动应用市场的主导地位。本文将深入探讨PWA与原生应用之间的性能和用户体验方面的差异,并通过一些实际代码示例来展示如何......
  • MIdjourney绘图AI绘画/MJ绘画/Dall3原生态系统)全开源AI绘画系统
    官网地址:https://www.mjdiscord.com/MidjourneyAI超强绘画原生态系统完美还原项目详细介绍飞书文档:https://ivqklkndl4k.feishu.cn/docx/GRnMdCbcooWkwTx1RU4cZjGVnzb?from=from_copylink   ......
  • MJ绘图中文版-系统AI绘画/MJ绘画/Dall3原生态系统)全开源AI绘画系统
    MidjourneyAI超强绘画原生态系统完美还原 MidjourneyAI超强绘画原生态系统界面完美还原操作功能统一中文界面功能齐全(支付系统、会员系统、分销系统、支持中转站可自己搭建中转站Midjourney-Proxy-Plus)支持MewAI绘画(MX)艺术二维码、条件生图、多种大模型、多种绘......
  • ElasticSearch第1讲(4万字详解 Linux下安装、原生调用、API调用超全总结、Painless、IK
    ElasticSearch官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html非官方中文文档:https://learnku.com/docs/elasticsearch73/7.3极简概括:基于ApacheLucene构建开源的分布式搜索引擎。解决问题:MySQLlike中文全文搜索不走索引......