[转帖]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/目 ...
随机推荐
- Git 的底层原理
前言 基于 Git 的使用,已经在前文有过相关的介绍,使用 Git 用作日常的开发基本上是足够的.现在,本文将详细介绍一些有关 Git 的实现原理. 底层命令与上层命令 一般情况下,正常使用的 ...
- SSH默认端口从22修改为其他端口
1.在终端中使用root权限登录到您的Linux服务器. 2.打开终端,并使用适合您的文本编辑器(如vi.nano等)打开SSH配置文件.例如,通过运行以下命令之一: vi /etc/ssh/sshd ...
- .NET技术分享日活动-202104
2021年4月27日下午,个人组织举办了山东地区的山东.NET技术分享日活动.围绕互联网技术.大数据.机器学习.业务实践等方向进行创新技术的实践分享. 本次技术分享日活动面向了山东地区广大的.NET ...
- Spring Cloud 学习推荐
学习 Spring Boot Spring tutorials | Java Web Development, Spring Cloud Programming tutorials Spring Bo ...
- AI辅助宫颈癌筛查技术全球居首,守护者的力量来源是?
宫颈癌,是常见的妇科恶性肿瘤.宫颈癌发病率在妇科恶性肿瘤中仅次于乳腺癌,但同时也是医学界公认的病因明确,预防有疫苗.且早期治愈率高的病症!病理形态学诊断被医学界公认为疾病诊断的"金标准&qu ...
- 对象存储只能按文件名搜索,你out了吧
摘要:不少大公司的一个桶里都是几亿几十亿的对象,那他们都是怎么检索的呢? 本文分享自华为云社区<对象存储只能按文件名搜索? 用 DWR + ElasticSearch 实现文件名.文件内容.图片 ...
- 8种桌面IDE CodeArts智能代码补全类型
摘要:代码补全可以有效的提升开发效率.减少拼写错误和输入代码量.CodeArts 依赖于 codearts.smartassist-java-ls 插件实现代码补全功能. 本文分享自华为云社区< ...
- 云图说丨应用宕机怎么办?MAS帮您实现业务无缝切换
摘要: 多云高可用服务(Multi-cloud high Availability Service,简称MAS)源自华为消费者多云应用高可用方案,提供从流量入口.数据到应用层的端到端的业务故障切换及容 ...
- FusionInsight怎么帮「宇宙行」建一个好的「云数据平台」?
摘要:基于数据湖架构,应用效率得以极大提升.经过几年发展,当前集群规模已经达到1000多节点,数据量几十PB,日均处理作业数大概是10万,赋能于180多个总行应用和境内外41家分行及子公司. 本文分享 ...
- Windows线程开发
Windows线程开发 1.线程基础 Windows线程是可以执行的代码实例.系统十一线程为单位调度程序.一个程序当中可以有多个线程,实现多个任务的处理. Windows线程的特点: 线程都具有1个I ...