首页 > 数据库 >使用 KubeBlocks 为 K8s 提供稳如老狗的数据库服务

使用 KubeBlocks 为 K8s 提供稳如老狗的数据库服务

时间:2023-08-22 12:22:06浏览次数:46  
标签:恢复 数据库 KubeBlocks Sealos 稳如 K8s 数据 备份

原文链接:https://forum.laf.run/d/994

大家好!今天这篇文章主要向大家介绍 Sealos 的数据库服务。在 Sealos 上数据库后端服务由 KubeBlocks 提供,为用户的数据库应用保驾护航。无论你是在公有云还是本地环境中使用,Sealos 都能为你管理关系数据库、NoSQL、向量数据库和流数据库等各种类型的数据库。它专为生产环境而设计,提供可靠、高性能、可观测且经济高效的数据基础设施。

让我们来看看数据库应用的魅力吧:

功能介绍

创建数据库

Sealos 提供了一个简单易用的数据库前端应用,屏蔽了繁琐的命令行操作。你只需通过 Database 应用就能轻松创建各种数据库,包括 Mysql、PostgreSQL、MongoDB、Redis 等多种类型的数据库。

连接使用

进入详情页面,你可以查看数据库的详细信息,并通过一键连接功能与数据库进行交互。这让操作变得更加便捷,让你与数据库之间的互动更加高效。

高可用测试

Sealos 在提供高可用服务方面表现出色,确保在关键时刻数据库能够正常工作,不会出现故障。这为你的数据提供了额外的保障,让你放心使用。我们将通过一个小小的测试来验证数据库的高可用。

首先创建一个实例数大于 1 的数据库应用,这里我们创建一个 3 实例的 PostGreSQL:

创建完成后便可通过一键连接功能进入到数据库命令终端:

我们点击 Add a Terminal 按钮创建第二个终端应用。

同时我们查看一下当前的主节点是哪个,发现是 test-postgresql-1

现在我们要删除这个主节点,通过 kubectl delete pod test-postgresql-1 命令即可进行删除操作:

备份恢复功能

我们的数据库还提供了强大的备份恢复功能,这意味着即使出现数据丢失或损坏的情况,你也能轻松恢复到备份时的状态。无论是数据误删,还是面临灾难情况,备份都能帮助你快速恢复数据库,减少业务中断的时间。

下面也通过实例具体测试一下,我提前准备了一些数据用来测试:

进入到备份列表点击「备份」按钮进行备份操作:

这里我们演示一下手动备份的功能,备份名和备注都可以进行修改,我们直接点击「开始备份」按钮进行备份:

备份完成后通过状态可以查看备份的结果:

我们可以点击 「恢复」的图标进行恢复功能,并且等待恢复的数据库成功启动:

进入到恢复的数据库中进行数据查看,可以发现数据成功的恢复出来:

监控功能

在 Sealos 中,你不仅能轻松管理数据库,还能享受到用户友好的监控功能。你可以随时查看数据库的运行状态,并通过图表和指标监控数据库的性能表现。

实现原理

看到这里你可能会好奇 KubeBlocks 为何能在 Sealos 上提供稳定、高效的数据库服务。让我们一起深入了解它的实现原理并了解一下它的高可用架构以及备份恢复策略吧!

有状态服务设计

KubeBlocks 以一种灵活的方式进行数据库拓扑设计。它通过使用复制关系的 Replicated State Machine(RSM)作为核心组件,将复杂的分布式数据库拆分成无缝连接的基础组件(block)。无论是 Stateless、StatefulSet 还是 RSM,都可以轻松应用于 KubeBlocks 中。这意味着,你可以将任何数据库引擎与 KubeBlocks 结合使用,构建出更加灵活的系统架构。

高可用架构设计

KubeBlocks 实现了两种高可用算法:quorum-based 和经典主备。对于 quorum-based 类的数据库,KubeBlocks 提供了角色探测、角色校正和重建等功能,而数据库本身则负责更完整的探测、决策和切换等主体功能。对于经典主备场景,如 MySQL 和 PostgreSQL 主备,KubeBlocks 负责执行完整的探测、决策、切换、重建和角色校正等任务。此外,KubeBlocks 还采用通用的高可用架构,支持各种数据库类型,例如复制集群和分片集群,通过增加副本数量来提高可靠性和可用性,降低数据丢失的概率。

备份恢复设计

为了进一步保护数据并防止丢失或损坏,KubeBlocks 提供了备份恢复策略。备份可以用于多种情况,例如数据丢失、灾难恢复和数据迁移。在 Sealos 中,我们提供了物理备份功能,这意味着直接复制数据库的物理文件(包括数据文件和日志文件)到备份介质(如磁盘或磁带)上。物理备份具有快速恢复、数据一致性和空间效率的特点。它可以更高效地将备份文件还原到原始数据库,保持与数据库的物理状态完全一致,并且占用较少的存储空间。特别适用于大型数据库的备份和恢复需求,进一步提升 Sealos 作为生产环境的能力。

如果你对数据库服务感兴趣,我强烈推荐你尝试 Sealos 上的数据库服务。无论你是开发者、数据工程师还是系统管理员,这个稳如老狗的数据库服务都能帮助你更高效地管理和运维你的数据。让 Sealos 成为你的得力助手,让你的数据库运行如飞!

标签:恢复,数据库,KubeBlocks,Sealos,稳如,K8s,数据,备份
From: https://www.cnblogs.com/ryanyangcs/p/17648249.html

相关文章

  • K8S系统监控:使用Metrics Server和Prometheus
    Kubernetes也提供了类似的linuxtop的命令,就是kubectltop,不过默认情况下这个命令不会生效,必须要安装一个插件MetricsServer才可以。MetricsServer是一个专门用来收集Kubernetes核心资源指标(metrics)的工具,它定时从所有节点的kubelet里采集信息,但是对集群的整体性能影响......
  • spark on k8s 开发部署简单实践
    实际上就是一个简单的实践,方便参考,对于开发以及运行,集成ci/cd以及dophinscheduler任务调度为了方便开发的spark应用共享以及使用基于s3进行文件存储(当然dophinscheduler也是支持自己的资源库的)参考图 玩法说明基于gitlab进行代码管理,通过ci/cd进行sparkapp的构建,同......
  • K8s 日志高效查看神器!
    K8s日志高效查看神器!Escape K8S中文社区 2023-08-2119:57 发表于湖南通常情况下,在部署了 K8S 服务之后,为了更好地监控服务的运行情况,都会接入对应的日志系统来进行检测和分析,比如常见的 Filebeat+ElasticSearch+Kibana 这一套组合来完成。虽然该组合可以满......
  • kubeadm部署k8s
    1、配置hostscat>>/etc/hosts<<EOF192.168.140.129master192.168.140.130node1192.168.140.131node2185.199.109.133raw.githubusercontent.comEOF2、关闭交换分区(swap)[root@master~]#swapoff-a   #临时关闭[root@master~]#sed-ri's/.*swap.......
  • k8s重置master节点
    1.删除所有node节点2.清空原先设置,所有节点执行kubeadmreset3.获取默认配置文件kubeadmconfigprintinit-defaults>kubeadm-config.yaml修改初始化配置文件1)advertiseAddress:192.168.2.34#本机IP2)imageRepository:registry.aliyuncs.com/google_container......
  • 国内无法下载k8s镜像的解决办法
    关于通过各种方法下载k8s相关镜像的方法总结如下:1.使用Azure中国镜像站,目前限制只能“AzureChinaIP”可用,不再对外提供服务,此路不通。2.直接使用mirrorgooglecontainers用户同步到DockerHub的镜像。用户mirrorgooglecontainers在DockerHub上同步了一些相应的google镜像,可以直......
  • 16张图了解k8s网络
    玩转Kubernetes网络:16张图带你从小白到专家云原生百宝箱 奇妙的Linux世界 2023-08-0808:13 发表于重庆收录于合集#Kubernetes274个#开源453个#云计算91个#Docker197个公众号关注 「奇妙的Linux世界」设为「星标」,每天带你玩转Linux!UnderlayNetwork......
  • 以二进制文件安装K8S之高可用部署架构
    在Kubernetes系统中,Master节点扮演着总控中心的角色,通过不间断地与各个工作节点(Node)通信来维护整个集群的健康工作状态,集群中各资源对象的状态则被保存在etcd数据库中。在正式环境中应确保Master的高可用,并启用安全访问机制,至少包括以下几方面。Master的kube-apiserver、kube-c......
  • 以二进制文件安装K8S之创建CA根证书
    为etcd和Kubernetes服务启用基于CA认证的安全机制,需要CA证书进行配置。如果组织能够提供统一的CA认证中心,则直接使用组织颁发的CA证书即可。如果没有统一的CA认证中心,则可以通过颁发自签名的CA证书来完成安全配置。如下以通过颁发自签名的CA证书来完成安全配置。etcd和Kubernet......
  • 以二进制文件安装K8S之环境准备
    为了k8s集群能正常运行,需要先完成4项准备工作:1.关闭防火墙2.禁用SeLinux3.关闭Swap4.安装Docker关闭防火墙#查看防火墙状态getenforce#关闭防火墙,禁用防火墙开机自启动systemctlstopfirewalldsystemctldisablefirewalld禁用SeLinux#临时禁用SeLinux,重启失效......