部署MyBase

更新时间:2025-03-24 03:19:21
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文将介绍如何在离线环境中首次部署MyBase

前提条件

操作步骤

获取并解压软件包

  1. 将部署包下载到任意一台管控机器上,在/apsara/v1.0.0-xxx目录进行解压。

    警告

    请勿直接在/apsara目录解压部署包,上述目录路径中的v1.0.0-xxx为包的版本号,需要您根据包的版本自行创建子目录。

  2. 执行以下命令,解压部署包。

    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
  3. 执行初始化命令。

    ./mybase setup 

    返回示例如下,表示初始化成功。image

关于MyBase CLI命令的介绍,请参见CLI参考

软件包信息查看

该命令用来查看当前软件包支持什么产品,芯片架构,OS 版本等相关信息。建议在安装之前执行查看当前软件包,是否满足您的需求。

 mybase package-info

image

从截图可以看到当前软件包支持 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。

说明

当前版本下某些报错可以忽略,如有报错请咨询相关负责人。

返回结果如下所示:

image

集群配置

  1. 执行以下命令,加载本次需要安装的软件版本。

    mybase load v1.0.0-2024xxx
    说明

    v1.0.0-2024xxx 需要和您实际解压出来的版本保持一致,以下图场景为例,命令为image

    mybase load v1.0.0-20241127150353
    说明

    本步骤主要用于解压集群镜像包,将其拷贝到默认安装目录,load命令耗时约30分钟,执行完成后系统会提示success。

    image.png

  2. 执行以下命令查看当前部署配置,包括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,重新安装。

  3. 执行以下命令查看可修改的配置。

    mybase config help

    image

  4. 执行以下命令修改配置。

    假设当前默认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/16image

    MyBase的默认域名为test-dbstack.com,当您在生产环境部署时,建议修改域名配置,修改命令如下。

    mybase config --userDomain ****.com

安装集群

  1. 配置第一可用区的Region、Zone信息。

    说明

    单机房和多机房建议都进行设置,且不要使用默认值,建议您根据实际情况设置相关参数。

    mybase config --region "cn-beijing" --zone "i"(zone 名称根据实际情况设置)

    返回如下图所示,代表配置可用区成功

    image

  2. 安装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命令查看机器清单,如下返回说明安装成功。image

  3. 扩容数据节点。

    1. 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命令查看机器清单,如下返回说明扩容成功。

      image

    2. 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命令查看机器清单。

部署多机房管控

单机房部署

  1. 跳过该环节。

双机房部署

PolarDB-X为例。

  1. 切换到第二可用区并扩容节点。

    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
  2. 执行以下命令生效拓扑结构。

    mybase topology apply -t 1R2Z

三机房部署

PolarDB-X为例。

  1. 切换到第二可用区并扩容节点。

    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
  2. 切换到第三可用区并扩容节点。

    说明

    第三可用区只需要一台管控,因此命令行只有一个 -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
  3. 执行以下命令生效拓扑结构。

    mybase topology apply -t 1R3Z

生产推荐

管控机器数量:

架构

第一可用区

第二可用区

第三可用区

架构

第一可用区

第二可用区

第三可用区

单机房

3

N/A

N/A

双机房

3

3

N/A

三机房

2

2

1

安装产品

  1. 执行下述命令查询可安装的产品。

    mybase product help

    image

  2. 安装产品。

    以下示例以安装PolarDB-X为例。

    mybase product install PolarDB-X

    PolarDB PostgreSQL比较特殊,需要同时安装PGMaxScale。

    mybase product install PolarDB-PG PolarDB-PG-Maxscale

    该步骤用于将镜像导入MyBase私有镜像仓库,并且按依赖拉起所有镜像。

  3. 等待命令执行完成。

验证安装是否成功

MyBase安装会异步进行,安装耗时约1个多小时,您可以执行以下命令查看安装进度。

kubectl get app -A

当所有数据的HEALTHYtrue时,表示安装完成。

image

其他说明

在安装过程中,执行部署的管控机器将向其他机器传输部署包,由此会产生相应的网络流量。具体流量预估如下:

  • 发往第一、二可用区管控机器的部署包约30 GB。

  • 发往第三可用区管控机器的部署包约5 GB。

  • 发往任意可用区数据机器的部署包约5 GB。

  • 本页导读 (1)
  • 前提条件
  • 操作步骤
  • 获取并解压软件包
  • 软件包信息查看
  • 预检测
  • 集群配置
  • 安装集群
  • 部署多机房管控
  • 安装产品
  • 验证安装是否成功
  • 其他说明
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等