[转帖]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/目 ...
随机推荐
- 从VMWare安装到Nginx配置
1.安装VMWare Workstation 16 player,Mac也可使用Parallels Desktop,自己有虚拟主机的跳过: 2.在虚拟机中,安装Centos7操作系统,使用Minima ...
- 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(三)
前言 今天的第三篇,感觉没啥人看呀,难道没有兄弟跟我有同样的整合需求吗???手动 , 本文会简短一些,介绍下 CastleCore 作为代理库的一些缺点甚至是硬伤 异步支持 先上代码 /// < ...
- CUDA个人入坟笔记
CUDA是建立在NVIDIA的GPUs上的一个通用并行计算平台和编程模型,基于CUDA编程可以利用GPUs的并行计算引擎来更加高效地解决比较复杂的计算难题.近年来,GPU最成功的一个应用就是深度学习领 ...
- 毕业季 | 程序员初入职场必备软件开发神器,华为云Astro带你开启新篇章
摘要:5分钟写出应用,10分钟开发大屏,新手程序员必学技能之华为云Astro,快来get. 本文分享自华为云社区<毕业季 | 程序员初入职场必备软件开发神器,华为云Astro带你开启新篇章> ...
- 从零开始学python | 什么是Python JSON?
摘要:您知道如何从在线API传输数据或将各种数据存储到本地计算机吗?您已经将自己沉浸于JSON的一种方式中,JSON表示Java Script Object Notation.它是一种著名的流行数据格 ...
- Mysql开发实践:error while loading shared libraries: libaio解决方案
摘要:Mysql出现问题:error while loading shared libraries: libaio解决方案. 本文分享自华为云社区<Mysql出现问题:error while l ...
- 云小课 | 一分钟了解AppCube中的应用
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:应用魔方(AppC ...
- VUE3/TS/TSX入门手册指北
VUE3入门手册 vue3入门 首先 查看 官方文档:https://cn.vuejs.org/guide/quick-start.html 如果有vue2基础,速成课程:https://www.zh ...
- 火山引擎ByteHouse联合Apache Airflow,让数据管理更加高效
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎ByteHouse 正式宣布与 Apache Airflow 兼容,两者结合不仅可以高效地存储和 ...
- 火山引擎DataLeap数据血缘技术建设实践
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap是火山引擎数智平台VeDI旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理 ...