本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文将介绍如何在离线环境中首次部署MyBase。
前提条件
操作步骤
获取并解压软件包
将部署包下载到任意一台管控机器上,在
/apsara/v1.0.0-xxx
目录进行解压。请勿直接在
/apsara
目录解压部署包,上述目录路径中的v1.0.0-xxx
为包的版本号,需要您根据包的版本自行创建子目录。执行以下命令,解压部署包。
tar -xvf mybase-one-v1.0.0-xxx.tar.gz
mybase-one-v1.0.0-xxx.tar.gz为示例包名称,实际情况请替换为真实的部署包名称。解压完成后可通过ls命令查看部署包内容,示例如下:
# ls . # mybase-stack.v1.0.0.tar.gz # mybase-product-images.v1.0.0.tar.gz # mybase-product-baseline.v1.0.0.tar.gz # mybase # sealer
执行初始化命令。
./mybase setup
返回示例如下,表示初始化成功。
关于MyBase CLI命令的介绍,请参见CLI参考。
软件包信息查看
该命令用来查看当前软件包支持什么产品,芯片架构,OS 版本等相关信息。建议在安装之前执行查看当前软件包,是否满足您的需求。
mybase package-info
从截图可以看到当前软件包支持 PolarDB-X、DAS、DTS 三个产品,OS 为 kylinV10、rhel8.10、centos-stream8、alinux3。
预检测
该命令会检测磁盘、主机名、主机时间等多项是否满足安装要求,示例如下:
mybase check --phase pre -m 192.xxx.xxx.171 -m 192.xxx.xxx.172 -n 192.xxx.xxx.173 --port 22 --user root --sshPasswd *****(密码模式)
mybase check --phase pre -m 192.xxx.xxx.171 -m 192.xxx.xxx.172 -n 192.xxx.xxx.173 --port 22 --user root(免密模式)
参数说明如下:
-m:输入所有管控面机器的IP。
-n:输入所有数据面机器的IP。
当前版本下某些报错可以忽略,如有报错请咨询相关负责人。
返回结果如下所示:
集群配置
执行以下命令,加载本次需要安装的软件版本。
mybase load v1.0.0-2024xxx
v1.0.0-2024xxx 需要和您实际解压出来的版本保持一致,以下图场景为例,命令为
mybase load v1.0.0-20241127150353
本步骤主要用于解压集群镜像包,将其拷贝到默认安装目录,load命令耗时约30分钟,执行完成后系统会提示success。
执行以下命令查看当前部署配置,包括pod网段、默认域名等。
mybase config list
在集群安装之前,需要确认集群配置,错误的集群配置会导致无法安装或者不符合预期,需要铲掉重新安装
集群配置说明如下:
配置名称
配置解释
默认值
是否可以修改
配置名称
配置解释
默认值
是否可以修改
MYBASE_USER_DOMAIN
集群访问域名
test-dbstack.com
是
MYBASE_SERVICE_CIDR
K8s Service 网段
172.21.0.0/16
是
MYBASE_IPVS_CIDR
IPVS 网段
172.22.0.0/16
是
MYBASE_POD_CIDR
Pod 网段
172.20.0.0/16
是
MYBASE_DOCKER_CIDR
Docker 网段
172.19.0.0/16
是
MYBASE_POD_CNI
POD CNI 插件
calico
是
网段:确保主机网络的网段与上述四个网段不重叠。如果存在重叠,则需要修改上述四个网段以避免冲突。
域名:为集群设置一个主域名,该域名需要与客户的 DNS 解析相一致。例如,如果配置了主域名为
test-dbstack.example.com
,则客户的 DNS 需将test-dbstack.example.com
解析到该集群,以确保所有服务(包括数据库实例和管控服务)都能通过该域名和相应的子域名进行访问。CNI 插件:当 calico 无法安装的时候,可以卸载集群,重新设置参数为 flannel,重新安装。
执行以下命令查看可修改的配置。
mybase config help
执行以下命令修改配置。
假设当前默认POD 网段(podCidr)和Service网段(serviceCidr)与当前环境主机网段冲突,则需要您执行以下命令修改pod网段。
mybase config --podCidr 172.20.0.0/16 (所要修改的目标网段) mybase config --serviceCidr 172.21.0.0/16 (所要修改的目标网段,和 podCidr 需要不同)
修改后再次执行
mybase config list
命令可以看到POD网段已修改为192.168.0.0/16
。MyBase的默认域名为
test-dbstack.com
,当您在生产环境部署时,建议修改域名配置,修改命令如下。mybase config --userDomain ****.com
安装集群
配置第一可用区的Region、Zone信息。
单机房和多机房建议都进行设置,且不要使用默认值,建议您根据实际情况设置相关参数。
mybase config --region "cn-beijing" --zone "i"(zone 名称根据实际情况设置)
返回如下图所示,代表配置可用区成功
安装MyBase集群,该步骤主要用于安装K8s,耗时大约20分钟。
mybase cluster install -m xxxxip -m xxxip -m xxxxip (已经做了ssh免密) mybase cluster install -m xxxxip -m xxxxip -m xxxxip --sshPasswd xxpwd (没有做免密,各机器ssh密码需一致)
参数说明如下:
-m:输入管控面机器的IP,可以填入1~3台机器(仅3台机器时支持高可用),其中必须包含当前机器。
安装成功后,您可以执行
kubectl get node -A
命令查看机器清单,如下返回说明安装成功。扩容数据节点。
以PolarDB-X为例。
执行以下命令。
mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-X (已经做了ssh免密) mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-X --sshPasswd xxpwd (没有做免密,各机器ssh密码需一致)
参数说明如下:
-n:输入数据面机器的IP,可以填入1~N台机器。
--product:输入机器所属的数据库产品。
扩容成功后,您可以执行
kubectl get node -A
命令查看机器清单,如下返回说明扩容成功。PolarDB PostgreSQL比较特殊,需要分别为PolarDB PostgreSQL、PolarDB PostgreSQL Maxscale扩容。
生产环境这两个产品的数据节点建议拆开独立部署。
扩容 PolarDB PostgreSQL。
mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-PG (已经做了ssh免密) mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-PG --sshPasswd xxpwd (没有做免密,各机器ssh密码需一致)
扩容 PolarDB PostgreSQL Maxscale。
mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-PG-Maxscale (已经做了ssh免密) mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-PG-Maxscale --sshPasswd xxpwd (没有做免密,各机器ssh密码需一致)
扩容成功后,同样可以执行
kubectl get node -A
命令查看机器清单。
部署多机房管控
单机房部署
跳过该环节。
双机房部署
以PolarDB-X为例。
切换到第二可用区并扩容节点。
mybase config --region "cn-beijing" --zone "j" mybase cluster scale-up -m xxxip -m xxxip -m xxxip --sshPasswd xxpwd mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-X --sshPasswd xxpwd
执行以下命令生效拓扑结构。
mybase topology apply -t 1R2Z
三机房部署
以PolarDB-X为例。
切换到第二可用区并扩容节点。
mybase config --region "cn-beijing" --zone "j" mybase cluster scale-up -m xxxip -m xxxip -m xxxip --sshPasswd xxpwd mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-X --sshPasswd xxpwd
切换到第三可用区并扩容节点。
第三可用区只需要一台管控,因此命令行只有一个 -m 参数。
第三机房的管控为轻量化版,仅部署容灾仲裁相关服务,无监控、告警、日志、审计等服务。
mybase config --region "cn-beijing" --zone "k" mybase cluster scale-up -m xxxip --sshPasswd xxpwd mybase cluster scale-up -n xxxip -n xxxip -n xxxip --product PolarDB-X --sshPasswd xxpwd
执行以下命令生效拓扑结构。
mybase topology apply -t 1R3Z
生产推荐
管控机器数量:
架构 | 第一可用区 | 第二可用区 | 第三可用区 |
架构 | 第一可用区 | 第二可用区 | 第三可用区 |
单机房 | 3台 | N/A | N/A |
双机房 | 3台 | 3台 | N/A |
三机房 | 2台 | 2台 | 1台 |
安装产品
执行下述命令查询可安装的产品。
mybase product help
安装产品。
以下示例以安装PolarDB-X为例。
mybase product install PolarDB-X
PolarDB PostgreSQL比较特殊,需要同时安装PG和MaxScale。
mybase product install PolarDB-PG PolarDB-PG-Maxscale
该步骤用于将镜像导入MyBase私有镜像仓库,并且按依赖拉起所有镜像。
等待命令执行完成。
验证安装是否成功
MyBase安装会异步进行,安装耗时约1个多小时,您可以执行以下命令查看安装进度。
kubectl get app -A
当所有数据的HEALTHY为true时,表示安装完成。
其他说明
在安装过程中,执行部署的管控机器将向其他机器传输部署包,由此会产生相应的网络流量。具体流量预估如下:
发往第一、二可用区管控机器的部署包约30 GB。
发往第三可用区管控机器的部署包约5 GB。
发往任意可用区数据机器的部署包约5 GB。
- 本页导读 (1)
- 前提条件
- 操作步骤
- 获取并解压软件包
- 软件包信息查看
- 预检测
- 集群配置
- 安装集群
- 部署多机房管控
- 安装产品
- 验证安装是否成功
- 其他说明