PolarDB-X 的部署与运维(二)| 学习笔记

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
性能测试 PTS,5000VUM额度
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 快速学习 PolarDB-X 的部署与运维。

开发者学堂课程【PolarDB-X 开源分布式数据库进阶课程 :PolarDB-X 的部署与运维(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1202/detail/18163


PolarDB-X 的部署与运维  


三、课程资源(运维系统)

之前课程提过 polarDB-X 目前支持多种部署方式,本次课程主要基于 polarDB-X Operator 的部署方式进行具体门类介绍,polarDB-X Operator 是 polarDB-X 在 K8s 上的一个自动化运维系统,也是生产级的一个部署方式,基于 k8s集群的底层基础设施,可以快速对 polarDB-X 集群进行运维和管理,例如基于 k8s 里面的 Deployment 对无状态的cn 还有 cdc 节点进行管理,基于 stiff sight 的方式,能够管理有状态的 GMS 或 CN 节点。除了基本的生命周期管理能力外,我们在 polarDB-X Operator 上还支持了弹性伸缩、高可用、安全可信、监控审计等运维能力,例如在v2.2版本中,重点支持了国产化的适配、全量的备份恢复、SQL 审计、参数模板、参数设置,还有备库重搭以及只读集群。在未来,也会对 polarDB-X 进行进一步的改造和完善,例如目前很多运维操作还是在命令行通过黑屏化的方式进行,在未来会提供 polarDB-X 的 Dashbord,通过白屏化的方式管理 polarDB-X 集群。同时备份能力也会进一步完善,支持自定义的备份策略,帮助自定义定期备份。支持增量备份,以及任意时间点的恢复能力。目前 polarDB-X Operator 的调度还主要依赖 K8s 的 Studio进行。所以如果在一个易购的集群或者说对于一些 io 能力更敏感的一些集群上,目前的标准力还不够细腻度化。未来也会在这方面去做进一步的优化,来支持这样的场景。

image.png

 

四、国产 ARM 支持

目前市场上对国产化服务器具有强烈需求,其中最主要的是对 arm 架构 CPU 的支持,因此在这次的 v2.2版本中,全面的兼容了 X86、arm 架构两种平台。这里的全面兼容不仅具有内核,还对像计算节点 cn、存储节点 dn,以及日志节点 cdc 的兼容。同时还有生态工具的兼容,例如在 k8s 上的集群运维管理平台 polarDB-X Operator 、压测工具benchmark-boot、导入导出工具 batch-tools 都完成了 arm 架构的适配。在下图是在 Doc harp  上的核心组件的镜像截图。可以看出目前已经全面的支持了 x86 和 arm 64这两种架构。通过 Doc lining fans 的方式,可以将这两种不同架构的镜像通过一个 tax 的方式进行打包,这样在不同平台上进行部署时便可以通过相同的方式进行,极大减少了运维的复杂度。

image.png

国产化平台适配演示:

下面通过云起实验室《如何在 ARM 平台部署 polarDB-X 》演示如何在 ARM 平台快速部署 polarDB-X 。

这是云起实验室的页面,这次云起实验室里面提供了《polarDB-X 开源分布式数据库进阶》的实验。首先点击加入课程,这次一共提供11个实验,每一个实验是和每节课的内容相关联,方便学习者课后通过实验的方式进行实际体验。

image.png

第一个实验如何在 ARM 平台部署一个 polarDB-X

首先点击查看详情,进入实验的详情页,点击再次实验,进入实验页面。实验全程按照实验页面左下角的操作指导框的提示进行。

按照第一步的要求创建资源。点击创建资源按钮,加载后会创建出一个 ECS。之后在刚创建 ECS 上进行后续实验操作。另外,云起实验室的登录只需要一个阿里云账号即可,并且具体操作实验以及注册账号都是免费的,大家可以免费的体验。创建完成后进入 ECS 的终端页面。在此页面会列出相关的实验的信息和云服务器的基本信息。包括 IP、用户账号等。

将左下角切换为实验手册的 tab,开始我具体实验步骤。

第一步按照步骤安装 Dcker 、kubectl 、minikube 和 helm3 ,创建安装环境,这基础之上安装 polarDB-X。

首先,根据左下角操作指南1执行 uname-a 命令来看一下 ECS 的架构。实验这台 ECS 架构 0aarch64,和普通的  x864 是不同的。

image.png

第2步是安装 docker。根据2.1复制两条命令安装 docker。第一条命令是添加 Docker 的 repo,第二条命令是通过 yum install 的方式来安装 docker。接下来2.2,复制命令,启动 docker。

第3步是安装 K8s 的命令行工具,即 Kubectl,之后所有的命令行操作都会基于 Kubectl 命令来进行。首先根据3.1的命令,下载 Kubectl 的安装包。之后根据3.2命令,去赋予可执行权限。之后根据3.3,移动到系统目录下,就可以直接使用此命令。

第4步,安装 minikube,安装 minikube 可以帮助用户快速在比台 ECS 上创建一个虚拟 K8s 集群,然后再去安装 por和创建 pod 集群。首先根据框内第一条命令,下载安装包,下载完成后,然过第二条命令来进行安装。

第5步,安装 helm3,这也是需要安装 p 的一个工具。第一步,根据4.1命令下载 helm3,然后根据4.2命令解压 helm3 安装包。之后运用4点。三,命令将它移动到系统目录 ,这样就能直接使用。

第6步,安装 MYSQL,这个软件能帮助我们快速联系创建好的 polarDB-X 集群上。执行操作指南框内命令安装MySQL。

以上是第一步,创建安装环境的所有操作。点击下一页,进入下一个实验步骤——使用 polarDB-X Operator 安装 polarDB-X ,在这一操作步骤中,知道如何创建一个简单的 kubermetes 集群并部署 polarDB-X Operator ,使用 opertor 部署一个完整的 polarDB-X  集群。

第1步,使用 minikube 创建 kubemetes 集群。首先根据1.1执行下面命令,创建一个 galaxyku 账号。之后根据1.2操作,切换到账号 galaxyku 。根据操作1.3进入到 galaxyku 的主目录下。之后根据操作1.4的命令,能帮助创造一个4c 12G分别包含两个节点的 k8s 集群版本是1.23.3。

image.png

1.5操作会通过 kubectl cluster-info 命令,查看 K8s 集群的基本信息,这里显示了 K8s 控制面的地址、coreDNS 的地址。

image.png

第2步部署 polarDB-X Operator ,首先根据2.1命令,创建一个名为 polarDB-X Operator -system 的命名空间,之后通过命令第一条命令  helm repo add 实现 polarDB-X ,添加 polarDB-X Operator 的 helm仓库之后通过第二条命令一键安装 polarDB-X Operator .之后通过2.3命令查看 polar operator 组件安装以及运行情况。

操作面板会显示几个组建,正在创建。在这过程中可以运用 –w 的方式等待创建。

在操作面板的输出信息中可以看到 polarDB-X Operator 已经安装完成,可以通过 kubectl get pods --namespac polardbx-operator-system 的命令去查看 polarDB-X Operator -system 的情况。

image.png

同时也可以通过 yaml 快速创建 polarDB-X

image.png 

如果所有的组件进入 running 的状态了,表示 polarDB-X 已经安装完成。

第3步部署 polarDB-X Operator 集群。首先根据3.3命令,打开 yaml 文件,之后将3.2操作下给出的 yaml 文本复制粘贴到已打开的 yaml 文件中。这个给出的 yaml文本,首先是 dx 的集群名称。是 polarDB-X ,下面定义的是跑了 polarDB-X 的组件,有cdc、cn、dn、gms,分别设置了他们的 eplicas 为1,即每次只见一个节点,设置通过 resouces 判定资源使用情况。

这个 yaml 文本将设置一个包含一个 cn,一个 dn ,一个gms 的集群。文本粘贴后退出 yaml 开始创建。执行3.3命令,创建 polarDB-X 集群。通过3.4命令可以查看 polarDB-X 集群创建状态,由于创建 polarDB-X 时需要拉取 cn、dn等镜像,所耗时间较长。当 PHASE 显示为 Running 时,即表示部署完成。

输入命令 kubectl get pot 可以查看在创建过程中产生的新的 pod。这里可以看到一共有六个 pod,分别是 gms 3个,Dn 3个。cande-0 和 cande-1分别表示刚才介绍的 dn 里面的 leader、Follow 的角色。 log-0 表示的是 log 节点。对于dn也一样,所以每个 dn 都会有三个 pod 组成,来保障我们数据的高可靠。

image.png

点击下一页,进行下一步,连接 polarDB-X 集群。

首先根据1的命令查看 polarDB-X 集群登录密码,登录密码是存在于 K8s 里面的。之后根据2操作,通过 K8 s 的 kubectl port-forward sv c/polardb-x3306 命令将 polarDB-X 的 Service 的3306端口转换到 ECS 上,连接此台 ECS 的3306端口,便可以登录 polarDB-X O。之后实验3,通过单击右上角加号图标创建新的终端二。之后实验4,通过命令来连接 polarDB-X ,同时复制刚才密码粘贴。

之后点击下一页进行下一大步操作,首先根据实验1.1,通过 create database sysbench_test:命令,创建一个Sysbnch_test 数据库,然后通过 sysbench Oltp 场景模拟业务流量,展示x如何稳定运行。之后根据实验1.2输入 Exit 退出数据库。之后根据1.3命令切换到账号 GalaxyKube,之后根据1.4,1.5创建准备压测数据的 Yaml 文件,之后将1.6的 Yaml 文件文本复制粘贴到 Yaml 文件中。这个文本中主要使用的还是公开的 Sysbch 的镜像,然后还填写了一些相关的命令行参数,刚才抛了 polarDB-X的连接串密码、场景参数。最后保存文件退出,根据1.7命令执行,根据1.8命令获取任务的进行状态。

第2步,启动压测流量。根据2.1命令创建启动压测的 Yaml 文件。复制2.2的 yaml 文本,之后保存退出。之后执行2.3命令运行启动压测的 Yaml 文件,开始压测。根据2.4命令,查看压测脚本运行的 pod。根据2.5命令查看 QPS 等流量数据,查看压测效果,这一步可以多观察一段时间,查看运行情况。流量基本已经稳定在2000左右,说明 polarDB-X Operator 在 arm 机器上完善部署,能够进行正常业务。

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
4月前
|
SQL 关系型数据库 Docker
开源PolarDB-X部署体验:挑战与反思
本文记录了部署开源PolarDB-X的体验及挑战。PolarDB-X是一款云原生分布式SQL数据库,具备高性能和可扩展性。部署中遇到的问题包括依赖冲突、文档不清晰及官方文档无法访问等。建议改进文档准确性、增强错误提示和支持、简化部署流程,如采用Docker简化快速入门。尽管部署未成功,但仍对PolarDB-X未来发展持乐观态度。
|
4月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB 开源部署体验评测
PolarDB 开源部署体验评测
89 3
|
18天前
|
存储 关系型数据库 MySQL
阿里云PolarDB解决游戏行业全球部署高并发问题
阿里云PolarDB解决游戏行业全球部署高并发问题
|
2月前
惊世骇俗!开源 PolarDB-X 部署安装大冒险,全程心跳与惊喜不断!
【9月更文挑战第8天】作为技术爱好者的我,近期成功完成了开源 PolarDB-X 的部署安装。尽管过程中遇到不少挑战,但通过精心准备环境、下载安装包、配置参数及启动服务等步骤,最终顺利实现部署。本文将详细介绍部署全过程及可能遇到的问题,为您的 PolarDB-X 探索之旅提供参考与启发,希望能让大家在技术海洋里畅游得更加顺利!
114 2
|
2月前
|
Kubernetes 关系型数据库 分布式数据库
PolarDB在混合云环境下的部署策略与挑战
【9月更文挑战第5天】随着云计算技术的发展,混合云成为众多企业首选,以满足数据管理和业务扩展需求。阿里巴巴自研的PolarDB是一款高性能云原生数据库,在混合云中可通过多种方式部署,如Kubernetes,实现资源弹性伸缩及自动化管理,并支持跨平台数据同步与金融级高可用性。然而,混合云环境下也带来了复杂性、成本优化及运维难度等挑战,企业需综合考虑平台兼容性、安全性和资源投入比例等问题。
94 5
|
4月前
|
关系型数据库 测试技术 数据库
开源PolarDB-X部署体验:探索与反馈
在 cloud DB 技术发展中, PolarDB-X 凭借高性能和可扩展性备受瞩目。本文分享了其部署体验!
325 6
开源PolarDB-X部署体验:探索与反馈
|
4月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用问题之如何基于Docker进行PolarDB-X单机模拟部署
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之如何基于Docker进行PolarDB-X单机模拟部署
|
3月前
|
Kubernetes 关系型数据库 分布式数据库
PolarDB在混合云环境下的部署策略与挑战
随着云计算的发展,混合云成为企业优选架构。PolarDB作为阿里云原生数据库,具备高可用、水平扩展和HTAP能力,在混合云中通过多种部署方式(如Kubernetes)实现资源弹性管理与数据实时同步。面对复杂性、成本优化及运维挑战,PolarDB提供解决方案确保数据安全与业务连续性。
81 4
|
3月前
|
存储
惊世骇俗!开源 PolarDB-X 部署安装大冒险,全程心跳与惊喜不断!
【8月更文挑战第8天】作为技术爱好者的我近期完成了开源PolarDB-X的部署安装,过程虽具挑战,但终获成功。现分享全过程:先确保服务器配置达标(内存、存储及网络)。接着下载官方最新稳定版,解压至指定目录。配置参数需细心调整以适配需求,如设置端口及数据路径。最后启动服务并留意可能的问题,如下载中断或配置错误等,可通过日志排查解决。部署完成后,见到服务正常运行时的喜悦难以言表。尽管PolarDB-X部署稍显复杂,但按部就班即可达成。期待与大家共同探讨学习!
155 1
|
3月前
|
监控 Oracle 关系型数据库
PolarDB 在多云环境下的部署与管理
【8月更文第27天】随着云计算的普及和发展,越来越多的企业开始采用多云策略来分散风险、优化成本并提高业务灵活性。阿里云的 PolarDB 是一种兼容 MySQL、PostgreSQL 和 Oracle 的关系型数据库服务,它提供了高性能、高可用性和自动化的管理功能。本文将探讨如何在多云环境下部署和管理 PolarDB 实例,并提供一些实用的代码示例。
72 0