[转帖]tidb 搭建私有镜像库
https://docs.pingcap.com/zh/tidb/stable/tiup-mirror
在构建私有云时,通常会使用隔离的网络环境,此时无法访问 TiUP 的官方镜像。因此,TiUP 提供了构建私有镜像的方案,它主要由 mirror 指令来实现,该方案也可用于离线部署。使用私有镜像,你可以使用自己构建和打包的组件。
mirror 指令介绍
mirror 指令的帮助文档如下:
克隆镜像
执行 tiup mirror clone 命令,可构建本地地镜像:
target-dir:指需要把克隆下来的数据放到哪个目录里。global-version:用于为所有组件快速设置一个共同的版本。
tiup mirror clone 命令提供了很多可选参数,日后可能会提供更多。但这些参数其实可以分为四类:
克隆时是否使用前缀匹配方式匹配版本
如果指定了
--prefix参数,则会才用前缀匹配方式匹配克隆的版本号。例:指定--prefix时,填写版本 "v5.0.0" 将会匹配 "v5.0.0-rc", "v5.0.0"是否全量克隆
如果指定了
--full参数,则会完整地克隆官方镜像。注意如果既不指定
--full参数,又不指定global-version或克隆的 component 版本,那么 TiUP 就只会克隆一些元信息。限定只克隆特定平台的包
如果只想克隆某个平台的包,那么可以使用
--os和--arch来限定:- 只想克隆 linux 平台的,则执行
tiup mirror clone <target-dir> [global-version] --os=linux - 只想克隆 amd64 架构的,则执行
tiup mirror clone <target-dir> [global-version] --arch=amd64 - 只想克隆 linux/amd64 的,则执行
tiup mirror clone <target-dir> [global-version] --os=linux --arch=amd64
- 只想克隆 linux 平台的,则执行
限定只克隆组件的特定版本
如果只想克隆某个组件的某一个版本而不是所有版本,则使用
--<component>=<version>来限定,例如:- 只想克隆 TiDB 的 v7.1.0 版本,则执行
tiup mirror clone <target-dir> --tidb v7.1.0 - 只想克隆 TiDB 的 v7.1.0 版本,以及 TiKV 的所有版本,则执行
tiup mirror clone <target-dir> --tidb v7.1.0 --tikv all - 克隆一个集群的所有组件的 v7.1.0 版本,则执行
tiup mirror clone <target-dir> v7.1.0
- 只想克隆 TiDB 的 v7.1.0 版本,则执行
克隆完成后,签名密钥会自动设置。
管理私有仓库
你可以通过 SCP 和 NFS 文件共享方式,将 tiup mirror clone 克隆下来的仓库共享给其他主机,也可以通过 HTTP 或 HTTPS 协议来共享。可以使用 tiup mirror set <location> 指定仓库的位置。
如果在执行了 tiup mirror clone 的机器上执行 tiup mirror set,下次执行 tiup mirror clone 时,机器会从本地镜像而非远程镜像进行克隆。因此,更新私有镜像前,需要执行 tiup mirror set --reset 来重置镜像。
还可以通过 TIUP_MIRRORS 环境变量来使用镜像。下面是一个使用私有仓库运行 tiup list 的例子。
设置 TIUP_MIRRORS 会永久改变镜像配置,例如 tiup mirror set。详情请参考 tiup issue #651。
更新私有仓库
如果使用同样的 target-dir 目录再次运行 tiup mirror clone 命令,机器会创建新的 manifest,并下载可用的最新版本的组件。
重新创建 manifest 之前,请确保所有组件和版本(包括之前下载的早期版本)都包含在内。
自定义仓库
你可以创建一个自定义仓库,以使用自己构建的 TiDB 组件,例如 TiDB、TiKV 或 PD。你也可以创建自己的 TiUP 组件。
要创建自己的组件,请执行 tiup package 命令,并按照组件打包的说明进行操作。
创建自定义仓库
以下命令在 /data/mirror 目录下创建一个空仓库:
创建仓库时,密钥会被写入 /data/mirror/keys。
以下命令在 ~/.tiup/keys/private.json 中创建一个私钥:
以下命令为 jdoe 授予 /data/mirror 路径下私钥 ~/.tiup/keys/private.json 的所有权:
使用自定义组件
创建一个名为
hello的自定义组件:$ cat > hello.c << END > #include <stdio.h> int main() { printf("hello\n"); return (0); } END $ gcc hello.c -o hello $ tiup package hello --entry hello --name hello --release v0.0.1package/hello-v0.0.1-linux-amd64.tar.gz创建成功。创建一个仓库和一个私钥,并为仓库授予所有权:
$ tiup mirror init /tmp/m $ tiup mirror genkey $ tiup mirror set /tmp/m $ tiup mirror grant $USERtiup mirror publish hello v0.0.1 package/hello-v0.0.1-linux-amd64.tar.gz hello运行组件。如果组件还没有安装,会先下载安装:
$ tiup helloThe component `hello` version is not installed; downloading from repository. Starting component `hello`: /home/dvaneeden/.tiup/components/hello/v0.0.1/hello hello执行
tiup mirror merge命令,可以将自定义组件的仓库合并到另一个仓库中。这一操作假设/data/my_custom_components中的所有组件都使用$USER签名:$ tiup mirror set /data/my_mirror $ tiup mirror grant $USER $ tiup mirror merge /data/my_custom_components
[转帖]tidb 搭建私有镜像库的更多相关文章
- 如何在K8S中优雅的使用私有镜像库 (Docker版)
前言 在企业落地 K8S 的过程中,私有镜像库 (专用镜像库) 必不可少,特别是在 Docker Hub 开始对免费用户限流之后, 越发的体现了搭建私有镜像库的重要性. 私有镜像库不但可以加速镜像的拉 ...
- docker搭建harbor私有镜像库
创建harbor私有镜像库 一.部署准备: harbor软件包 在部署节点上: 1)解压harbor的软件包将harbor目录下所有文件发送到/opt/目录下 tar zxvf harbor- ...
- Docker 安装私有镜像库的简单使用
公司的网络实在是太差了, 想着自己搭建一个私有的镜像库进行使用测试使用.... docker pull registry.docker-cn.com/library/registry docker t ...
- 【Docker】(4)搭建私有镜像仓库
[Docker](4)搭建私有镜像仓库 说明 1. 这里是通过阿里云,搭建Docker私有镜像仓库. 2. 这里打包的镜像是从官网拉下来的,并不是自己项目创建的新镜像,主要测试功能 一.搭建过程 首先 ...
- [转]Ubuntu18.04下使用Docker Registry快速搭建私有镜像仓库
本文转自:https://blog.csdn.net/BigData_Mining/article/details/88233015 1.背景 在 Docker 中,当我们执行 docker pull ...
- 【下一代核心技术DevOps】:(四)私有镜像库阿里云Docker服务使用
1.使用阿里云镜像库有很多优点 稳定可靠,阿里技术,放心使用. 国内cdn多节点加速,下载速度非常快 可以和阿里云Git代码集成,不需要第三方CI工具,当然带的自动构建服务也可以和其他的Git库集成, ...
- docker从私有镜像库pull/push镜像问题:Error response from daemon: Get https://xxxx.com/: x509: certificate signed by unknown authority
docker从私有镜像库pull/push镜像问题:Error response from daemon: Get https://harbor.op.xxxx.com/v2/: x509: cert ...
- ubuntu16搭建harbor镜像库
参考 https://blog.csdn.net/qq_35720307/article/details/86691752 目的:搭建本地镜像库,方便快速的存放和拉取需要的镜像文件.
- 搭建私有maven库发布及使用流程
一:背景 Apache Maven是当Java技术栈前最流行的项目管理工具,它提供了一系列方便快捷的命令帮助程序员们进行Java工程的开发工作.Maven服务器位于美国,由于出国带宽和众多因素,在国内 ...
- 第4篇创建harbor私有镜像库
一.部署准备: 1.准备harbor软件包 在部署节点上: 2.挂载一个磁盘,专门存储harbor镜像和文件 3.进入到/etc/docker/harbor/目 ...
随机推荐
- 物联网常见协议之Amqp协议及使用场景解析
摘要:本文围绕AMQP协议,为大家详细解析AMQP协议.核心技术亮点.多协议之间的对比以及使用实践. 本文分享自华为云社区<物联网常见协议之Amqp协议及使用场景解析>,作者:张俭. 引言 ...
- 小熊派开发实践丨小熊派+合宙Cat.1接入云服务器
摘要:使用小熊派开发板,以合宙的AIR724为通信模组(Cat.1),以AT指令方式,通过mqtt协议接入云服务器. 本贴使用小熊派开发板+合宙的Air724(Cat.1模组),接入自己搭建的EMQ服 ...
- 毕昇 JDK:为啥是ARM 上超好用的 JDK
摘要:毕昇 JDK 是华为基于 OpenJDK 定制的开源版本,是一款高性能.可用于生产环境的 OpenJDK 发行版. 本文分享自华为云社区<[云驻共创]毕昇 JDK:"传奇再现&q ...
- 支持60+数据传输链路,华为云DRS链路商用大盘点
如今,业务上云已是时代潮流,技术的迅猛发展也使得上云变得愈发轻松起来.但在实际迁移过程中,客户仍会担心以下问题:不同数据库之间能迁吗?迁移前后数据不一致怎么办?可以不停机迁移吗-- 迁移毕竟是项大工程 ...
- 应用传送网络(ADN):率先架起“东数西算”的“高速公路”
摘要:云原生ADN网络的未来,是公有云Internet接入降成本的手段,以及对自建光纤骨干网的补充,有力地支撑 "东数西算"国家新基建布局. 本文分享自华为云社区<华为云顾炯 ...
- 用 Java?试试国产轻量的 Solon v1.10.7
Java 国产的轻量级应用开发框架.可用来快速开发 Java 应用项目.主框架仅 0.1 MB.Helloworld: @Controller public class App { public st ...
- web自动化-selenium携带cookie免密登录
在我们做web自动化的时候,经常会遇到含有登录的页面,我们必须登录之后才能够对我们想要操作的页面元素进行定位,也就是说所有的操作都在登录前提下,其实没必要每次请求都先登录,当我们登录成功了,会在coo ...
- 【flask】蓝图的使用方式 g对象的使用 flask配置数据库连接池
目录 上节回顾 今日内容 1 蓝图的使用 2 g对象 g对象 vs request对象 3 数据库连接池 上节回顾 全局request对象.线程会处理请求,确保线程中的数据不错乱. django_se ...
- 用 ChatGPT 写一篇《ChatGPT 会取代我们的工作吗》
自从 ChatGPT 火爆以后,最常谈到的话题就是 ChatGPT 会取代我们的工作吗?在写这篇内容时我有个大胆的想法,那就是让 ChatGPT 来取代我的工作. 首先,我决定直接让 ChatGPT ...
- mysql--read only
问题背景: 1.在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-Slave主从关系设置 2.数据库参数文件默认是只读,重启数据库服务时 解决方法: 1.在my.cnf配置文件中添 ...