美文网首页
TiUP离线镜像源组件管理最佳实践

TiUP离线镜像源组件管理最佳实践

作者: 神州数码云基地 | 来源:发表于2022-06-17 10:26 被阅读0次

TiDB作为一款金融级可用的数据库,应用在很多金融场景中。但为了保证安全,通常整个集群环境都是离线的。集群部署时都是提前克隆官方镜像源,再进行离线部署。

这样就存在一个问题:不能随时在线从官方仓库中下载和更新最新组件,享受版本更新带来的红利。

之前研究这个问题时,并未发现有相关案例可以进行参考。因此解决后,在测试环境上重现了我的解决过程并记录了操作步骤,在此分享给大家!

 #一个小背景 

最近我碰到了一个变更需求: 需要为离线TiDB集群安装一个PCC组件。

一开始自然而然想到了利用命令tiup install PCC来进行安装,结果提示该组件未被发现:

The component `PCC` not found (may be deleted from repository); skipped,

随后,我查看了本地镜像源。发现本地镜像源是克隆的官方v5.0.4版本的镜像源。

且本地镜像源里面没有发现PCC组件的安装包,即便使用tiup list 命令也未发现有PCC组件可用。

这说明最初部署集群克隆v5.0.4版本的镜像源的时候,官方还没有在v5.0.4的镜像源中引入PCC组件。在后来版本的迭代过程中才引入的PCC组件。(在v5.4.0版本的测试集群里发现有PCC组件可用)。

接下来我们在另一台在线环境机器上,从v5.4.0版本的仓库里面尝试定制PCC镜像源。

 #定制PCC组件的临时镜像源 

 执行命令:

`tiup mirror clone tiup-custom-mirror-v5.4.0 --PCC 1.0.1 --os=linux --arch=amd64`

这里可以根据自己需要的组件调整命令,例如需要组件diag v0.7.0版本,命令为:

`tiup mirror clone tiup-custom-mirror-v5.4.0 --diag v0.7.0 --os=linux --arch=amd64`

下载完成后。

在名为tiup-custom-mirror-v5.4.0的目录可以找到PCC的安装包。

我们可以将该目录打包,通过u盘拷贝等方式将该PCC包发送到离线环境中解压,作为我们定制的PCC组件的临时镜像源。

 #合并镜像 

在这个步骤中,我们详细讲解一下如何将PCC镜像源合并到离线环境本地镜像源中。

 1. 将本地镜像源中keys目录发送到$HOME/.tiup 目录中

 执行命令:

`cp -r /home/tidb/tidb-community-server-v5.0.4-linux-amd64/keys /home/tidb/.tiup/`

镜像源中keys目录下存放着镜像的私钥,这一步操作是为了将本地镜像源镜像的私钥发送到执行tiup命令的用户下,这一步是后面合并临时镜像源到本地镜像源的必要条件。

本地镜像源目录可用命令tiup mirror show查看。

 2.执行命令合并pcc镜像到本地镜像

 执行命令:

`tiup mirror merge /home/tidb/tiup-custom-mirror-v5.4.0`

这里可以看出,步骤并不难,重要的是得细心。不然可能一不留神就放错了位置~

 #安装PCC组件 

 执行命令:

`tiup install PCC`

这里我们可以看到PCC组件已安装成功,可以正常使用!

我们进入到本地镜像源目录,发现PCC的安装包已经在本地镜像源中。

整套操作流程总结起来:

就是在线的从高版本的官方镜像源中,将需要的组件制作成临时镜像源。

再将临时镜像源合并到离线环境的本地镜像源中,实现在离线环境中使用高版本组件的目的。

 Emmmm... 

 也就是在有网的情况下 

 把视频下载到本地

 这样没网也可以看了~ 

 如此理解,十分通透!


相关文章

网友评论

      本文标题:TiUP离线镜像源组件管理最佳实践

      本文链接:https://www.haomeiwen.com/subject/rlicvrtx.html