软件包下载
如果您需要在无网络的离线环境中部署 PolarDB-X,需要先在一台具备互联网访问能力的机器上,准备好离线安装包,导入到无网络环境中,进行离线部署。
PXD 0.5.0 版本已支持一键下载 PolarDB-X 离线安装包(x86_64、ARM64),本文介绍 PXD 和 Kubernetes 两种部署方式离线软件包的下载方式。
前置要求
- Kubernetes、Docker(18.04及以上)、Yum 源、Python3 在离线环境已安装完成
- 准备一台能访问互联网的机器,并安装好 PXD 0.5.0以上版本,参考文档:https://doc.polardbx.com/quickstart/topics/quickstart.html
软件包下载
- 执行如下命令下载对应环境的离线安装包:
# 下载 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 内容详见软件包说明.
下载完成后,会打印出离线安装包的地址,如下图所示。将安装目录打包,导入到离线环境即可。
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.7.0 | amd64、arm64 |
polardbx/xstore-tools | v1.7.0 | 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.7.0
polardbx/xstore-tools:v1.7.0
建议执行如下命令获取 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.7.0 | amd64、arm64 |
polardbx/polardbx-exporter | v1.7.0 | amd64、arm64 | |
polardbx/polardbx-hpfs | v1.7.0 | amd64、arm64 | |
polardbx/polardbx-init | v1.7.0 | amd64、arm64 | |
polardbx/polardbx-clinic | v1.7.0 | amd64、arm64 | |
polardbx/xstore-tools | v1.7.0 | amd64、arm64 | |
polardbx/probe-proxy | v1.7.0 | 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.7.0
polardbx/polardbx-exporter:v1.7.0
polardbx/polardbx-hpfs:v1.7.0
polardbx/polardbx-init:v1.7.0
polardbx/polardbx-clinic:v1.7.0
polardbx/xstore-tools:v1.7.0
polardbx/probe-proxy:v1.7.0
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