软件包下载

如果您需要在无网络的离线环境中部署 PolarDB-X,需要先在一台具备互联网访问能力的机器上,准备好离线安装包,导入到无网络环境中,进行离线部署。

PXD 0.5.0 版本已支持一键下载 PolarDB-X 离线安装包(x86_64、ARM64),本文介绍 PXD 和 Kubernetes 两种部署方式离线软件包的下载方式。

前置要求

软件包下载

  1. 执行如下命令下载对应环境的离线安装包:
# 下载 x86_64 架构的 PXD 离线安装包
pxd download --env pxd --arch amd64 --repo "registry:5000" --dest ~/ -i images.list

# 下载 ARM64 架构的 PXD 离线安装包
pxd download --env pxd --arch arm64 --repo "registry:5000" --dest ~/ -i images.list

# 下载 x86_64 架构的 K8s 离线安装包
pxd download --env k8s --arch amd64 --repo "registry:5000" --dest ~/ -i images.list

# 下载 ARM64 架构的 K8s 离线安装包
pxd download --env k8s --arch arm64 --repo "registry:5000" --dest ~/ -i images.list

参数说明:

  • -env:离线环境的部署类型,支持 pxd 和 k8s,默认 k8s。
  • -arch:离线安装包的架构类型,支持 amd64 和 arm64。
  • -repo:离线环境的 Docker 仓库地址。因为 PolarDB-X 的部署依赖 Docker,需要在离线环境中部署一个Docker repo,将 Docker 镜像推到离线repo中。如果您的离线环境中已有Docker repo,直接填写您的repo地址即可,如果没有,参考文档搭建。
  • -dest: 离线安装包的生成目录,PXD 会在dest 参数指定的目录下创建一个 polardbx-install 目录,存放离线安装包。
  • -i: 镜像列表,如果不指定,则采用默认的镜像列表从Docker hub 下载。如果您的环境无法访问 Docker hub ,可以通过指定images.list 文件,修改默认的镜像地址,使用其他镜像源下载。images.list 内容详见软件包说明.

  • 下载完成后,会打印出离线安装包的地址,如下图所示。将安装目录打包,导入到离线环境即可。

image.png

PXD 离线软件包说明

基于 PXD 部署依赖的软件包清单如下:

  • PXD 安装包集齐依赖
  • PolarDB-X 相关 Docker 镜像

下面给出了 PXD 离线安装包的目录结构:

polardbx-install
|-- images                                      # Docker 镜像目录
|   |-- image.list                              # 下载的 Docker 镜像列表
|   |-- image.manifest                          # 离线环境镜像清单,导入脚本参数
|   |-- load_image.sh                           # 离线环境导入镜像的脚本
|   |-- polardbx-cdc-latest-arm64.tar.gz
|   |-- polardbx-engine-latest-arm64.tar.gz
|   |-- polardbx-init-latest-arm64.tar.gz
|   |-- polardbx-sql-latest-arm64.tar.gz
|   `-- xstore-tools-latest-arm64.tar.gz
|-- pxd-0.4.3-py3-none-any.whl                  # PXD 安装包
`-- pxd-denpendency-arm64.tar.gz                # PXD 的依赖包
`-- install.sh                                  # 安装脚本

基于 PXD 部署PolarDB-X,依赖的 Docker 镜像列表如下所示:

镜像分类 镜像 Tag 支持架构
内核镜像 polardbx/polardbx-sql latest(请通过命令获取最新tag) amd64、arm64
polardbx/polardbx-engine latest(请通过命令获取最新tag) amd64、arm64
polardbx/polardbx-cdc latest(请通过命令获取最新tag) amd64、arm64
PXD polardbx/polardbx-init v1.6.2 amd64、arm64
polardbx/xstore-tools v1.6.2 amd64、arm64

下面给出了默认的 images.list 文件内容:

polardbx/polardbx-sql:v2.4.0_5.4.19
polardbx/polardbx-engine:v2.4.0_8.4.19
polardbx/polardbx-cdc: v2.4.0_5.4.19
polardbx/polardbx-columnar:v2.4.0_5.4.19
polardbx/polardbx-init:v1.6.2
polardbx/xstore-tools:v1.6.2

建议执行如下命令获取 PolarDB-X 各个组件的最新镜像版本,更新images.list文件:

curl -s "https://polardbx-opensource.oss-cn-hangzhou.aliyuncs.com/scripts/get-version.sh" | sh

输出内容如下所示(以 PolarDB-X V2.4.0 版本为例):

CN polardbx/polardbx-sql:v2.4.0_5.4.19
DN polardbx/polardbx-engine:v2.4.0_8.4.19
CDC polardbx/polardbx-cdc:v2.4.0_5.4.19

注意:由于网络环境因素,如果您下载不了Dockerhub的镜像,也可以通过 -i 参数指定外部 images.list 文件,并将其中的像改为上交的镜像源,例如polardbx/polardbx-sql:latest 对应的上交镜像仓库中的名称为:docker.mirrors.sjtug.sjtu.edu.cn/polardbx/polardbx-sql:latest

K8s 离线软件包说明

基于 Kubernetes 部署依赖的软件包清单如下:

  • PolarDB-X Operator Helm 包及 values 文件
  • PolarDB-X 相关 Docker 镜像

下面给出了 K8s 离线安装包的目录结构:

polardbx-install
|-- helm                                       # Helm 包目录
|   |-- bin
|   |   `-- helm                               # helm 的二进制文件,安装使用
|   |-- logger-values.yaml                     # logcollector 安装的values文件
|   |-- monitor-values.yaml                    # monitor 安装的values文件
|   |-- operator-values.yaml                   # operator 安装的values文件
|   |-- polardbx-logcollector-1.3.0.tgz        # logcollector helm 包
|   |-- polardbx-monitor-1.3.0.tgz             # monitor helm 包
|   `-- polardbx-operator-1.3.0.tgz            # operator helm 包
`-- images                                     # Docker 镜像目录
|   |-- image.list                             # 下载的 Docker 镜像列表
|   |-- image.manifest                         # 离线环境镜像清单,导入脚本参数
|   |-- load_image.sh                          # 离线环境导入镜像的脚本
    |-- polardbx-init-latest-arm64.tar.gz
    `-- xstore-tools-latest-arm64.tar.gz
    `-- ....
`-- install.sh                                 # 安装脚本

Helm 包

polardbx-operator 安装需要的helm 包主要包括如下三个:

  • polardbx-operator-{version}.tgz: polardbx-operator 核心组件的helm 包
  • polardbx-monitor-{version}.tgz:监控组件的helm包
  • polardbx-logcollector-{version}.tgz:日志采集组件的helm包

除了 Helm 包外,由于离线环境与在线环境的 Docker repo 地址不同,需要在安装 Helm 包的时候通过values.yaml 文件修改默认的镜像仓库地址,指向离线环境的私有仓库。PXD 下载的离线安装包中已默认为您准备好安装需要使用的values.yaml 文件,并调整其中的 Docker repo 为您下载时指定的私有 Docker repo 地址。

Docker 镜像

基于 Kubernetes 部署PolarDB-X,依赖的 Docker 镜像均可以从网络上下载,镜像列表如下:

镜像分类 镜像 Tag 支持架构
内核镜像 polardbx/polardbx-sql latest(请通过命令获取最新tag) amd64、arm64
polardbx/polardbx-engine latest(请通过命令获取最新tag) amd64、arm64
polardbx/polardbx-cdc latest(请通过命令获取最新tag) amd64、arm64
operator polardbx/polardbx-operator v1.6.2 amd64、arm64
polardbx/polardbx-exporter v1.6.2 amd64、arm64
polardbx/polardbx-hpfs v1.6.2 amd64、arm64
polardbx/polardbx-init v1.6.2 amd64、arm64
polardbx/polardbx-clinic v1.6.2 amd64、arm64
polardbx/xstore-tools v1.6.2 amd64、arm64
polardbx/probe-proxy v1.6.2 amd64、arm64
prom/mysqld-exporter:master master amd64、arm64
监控告警 quay.io/prometheus/prometheus v2.22.1 amd64、arm64
quay.io/prometheus/alertmanager v0.21.0 amd64、arm64
quay.io/brancz/kube-rbac-proxy v0.8.0 amd64、arm64
quay.io/prometheus/node-exporter v1.0.1 amd64、arm64
quay.io/prometheus-operator/prometheus-operator v0.44.1 amd64、arm64
quay.io/prometheus-operator/prometheus-config-reloader v0.44.1 amd64、arm64
grafana/grafana 8.5.27 amd64、arm64
kubesphere/kube-state-metrics v2.3.0 amd64、arm64
directxman12/k8s-prometheus-adapter v0.8.2 amd64、arm64
日志采集 polardbx/polardbx-logstash latest amd64、arm64
docker.elastic.co/beats/filebeat 8.9.0 amd64、arm64

下面给出了 K8s 部署使用的 images.list 文件:

polardbx/polardbx-sql:v2.4.0_5.4.19
polardbx/polardbx-engine:v2.4.0_8.4.19
polardbx/polardbx-cdc:v2.4.0_5.4.19
polardbx/polardbx-columnar:v2.4.0_5.4.19
polardbx/polardbx-operator:v1.6.2
polardbx/polardbx-exporter:v1.6.2
polardbx/polardbx-hpfs:v1.6.2
polardbx/polardbx-init:v1.6.2
polardbx/polardbx-clinic:v1.6.2
polardbx/xstore-tools:v1.6.2
polardbx/probe-proxy:v1.6.2
prom/mysqld-exporter:master
quay.io/prometheus/prometheus:v2.22.1
quay.io/prometheus/alertmanager:v0.21.0
quay.io/brancz/kube-rbac-proxy:v0.8.0
quay.io/prometheus/node-exporter:v1.0.1
quay.io/prometheus-operator/prometheus-operator:v0.44.1
quay.io/prometheus-operator/prometheus-config-reloader:v0.44.1
grafana/grafana:8.5.27
kubesphere/kube-state-metrics:v2.3.0
directxman12/k8s-prometheus-adapter:v0.8.2
polardbx/polardbx-logstash:latest
docker.elastic.co/beats/filebeat:8.9.0

建议执行如下命令获取 PolarDB-X 各个组件的最新镜像版本,更新images.list中的CN,DN,CDC,COLUMNAR镜像:

curl -s "https://polardbx-opensource.oss-cn-hangzhou.aliyuncs.com/scripts/get-version.sh" | sh

输出内容如下所示(以 PolarDB-X V2.4.0 版本为例):

CN polardbx/polardbx-sql:v2.4.0_5.4.19
DN polardbx/polardbx-engine:v2.4.0_8.4.19
CDC polardbx/polardbx-cdc:v2.4.0_5.4.19

注意:由于网络环境因素,如果您下载不了Dockerhub的镜像,也可以通过 -i 参数指定外部 images.list 文件,并将其中的像改为上交的镜像源,例如polardbx/polardbx-sql:latest 对应的上交镜像仓库中的名称为:docker.mirrors.sjtug.sjtu.edu.cn/polardbx/polardbx-sql:latest

results matching ""

    No results matching ""