亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

TIUP離線鏡像管理

2024-09-23 09:43:24
9
0

tiup鏡像為部署集群或通過tiup執行相關工具的源,可以是本地的離線鏡像(本地的一個目錄)或遠程鏡像。

官網介紹的tiup的安裝命令如下:

curl --proto '=https' --tlsv1.2 -sSf //tiup-mirrors.pingcap.com/install.sh | sh

當在可連接互聯網的機器上執行官方tiup的命令時,實際上只是按照tiup的二進制文件,并且將tiup鏡像設置為官方鏡像地址。

tiup的離線鏡像目錄的結構如下:

+ <mirror-dir>                                  # 鏡像根目錄
|-- root.json                                   # 鏡像根證書
|-- {2..N}.root.json                            # 鏡像根證書
|-- {1..N}.index.json                           # 組件/用戶索引
|-- {1..N}.{component}.json                     # 組件元信息
|-- {component}-{version}-{os}-{arch}.tar.gz    # 組件二進制包
|-- snapshot.json                               # 鏡像最新快照
|-- timestamp.json                              # 鏡像最新時間戳
|--+ commits                                    # 鏡像更新日志(可刪除)
   |--+ commit-{ts1..tsN}
      |-- {N}.root.json
      |-- {N}.{component}.json
      |-- {N}.index.json
      |-- {component}-{version}-{os}-{arch}.tar.gz
      |-- snapshot.json
      |-- timestamp.json
|--+ keys                                       # 鏡像私鑰(可移動到其他位置)
   |-- {hash1..hashN}-root.json                 # 根證書私鑰
   |-- {hash}-index.json                        # 索引私鑰
   |-- {hash}-snapshot.json                     # 快照私鑰
   |-- {hash}-timestamp.json                    # 時間戳私鑰

將鏡像包解壓后,直接運行安裝腳本local_install.sh即可離線安裝tiup,安裝完后會自動設置tiup的mirror為它自己所在的離線鏡像目錄,并會自動在~/.bash_profile的PATH中添加tiup所在的運行目錄。

tiup鏡像源設置

文件~/.tiup/tiup.toml中設置了tiup鏡像的地址或目錄,可通過查看tiup.toml中的內容得知當前鏡像的地址,或通過命令tiup mirror show查看當前鏡像的地址。

修改離線鏡像可以通過設置方式:

  • 環境變量?TIUP_MIRRORS?,當執行tiup命令時,將會自動設置mirror為TIUP_MIRRORS指定的地址
  • 執行tiup mirror set {PATH}命令設置mirror,PATH為離線鏡像的目錄或遠程鏡像的地址

在設置mirror后,tiup會重新從鏡像中下載各個組件的元信息文件(component.json)到.tiup/manifests中。

通過tiup list {組件}可以查看當前鏡像中存在的組件以及工具以及版本,例如:

$ tiup list tidb 
Available versions for tidb:
Version  Installed  Release               Platforms
-------  ---------  -------               ---------
v7.1.3              2024-01-15T07:06:27Z  linux/amd64,linux/arm64

該鏡像中包括了v7.1.3版本,amd64和arm64兩種架構的tidb-server

tiup離線鏡像管理

tiup mirror命令清單如下:

  • genkey: 生成私鑰文件
  • sign: 使用私鑰文件對特定文件進行簽名
  • init: 創建一個空的鏡像
  • set: 設置當前鏡像
  • grant: 為當前鏡像引入新的組件管理員
  • publish: 向當前鏡像推送新的組件**
  • modify: 修改當前鏡像中的組件屬性,主要是啟用/禁用某個組件或它的某個版本
  • rotate: 更新當前鏡像中的根證書
  • clone: 從已有鏡像克隆一個新的鏡像
  • merge: 合并鏡像

下面主要介紹通過publish, clone, merge這幾個子命令,進行離線鏡像的管理。

創建新鏡像

命令 tiup mirror clone 從當前鏡像中克隆出一個新的鏡像,可以指定自己需要的版本,組件,平臺等信息。新舊鏡像的組件相同,但使用的簽名密鑰不同。

tiup mirror clone <target-dir> [global version] [flags]

下面舉例說明如何創建自定義鏡像

示例一:從官方鏡像中克隆v7.5.0版本的鏡像,包括所有組件以及arm64和amd64兩個架構

  1. 在一個可連接互聯網的機器上安裝tiup
curl --proto '=https' --tlsv1.2 -sSf //tiup-mirrors.pingcap.com/install.sh | sh
  1. 執行以下命令clone鏡像
tiup mirror clone /data/tidb-community-server-v7.5.0-linux v7.5.0 --arch amd64,arm64 --os linux

以上命令將從官方鏡像中下載所有組件的v7.5.0版本和兩個架構的包到目錄/data/tidb-community-server-v7.5.0-linux中,其中如果組件沒有v7.5.0版本,將會下載該組件的最新版本。其中,離線鏡像包中包括了tiup組件,將該離線鏡像包上傳到離線環境,直接執行local_install.sh即可離線安裝tiup。該鏡像可以部署arm64和amd64兩種架構的集群。

示例二:從示例一的離線鏡像中分離出amd64架構的鏡像

  1. 將當前tiup鏡像目錄設置為示例一的鏡像目錄
tiup mirror set /data/tidb-community-server-v7.5.0-linux
  1. 從離線鏡像中克隆出amd64架構的鏡像
tiup mirror clone /data/tidb-community-server-v7.5.0-linux-amd64 v7.5.0 --arch amd64 --os linux

執行完了之后/data/tidb-community-server-v7.5.0-linux-amd64中將只包括amd64架構的組件包

合并鏡像

命令 tiup mirror merge 用于合并一個或多個鏡像到當前鏡像

執行此命令需要滿足幾個條件:

  • 目標鏡像的所有組件的管理員 ID 必須在當前鏡像中存在。
  • 執行該命令用戶的 ${TIUP_HOME}/keys 目錄中有上述管理員 ID 在當前鏡像中對應的所有私鑰(可以使用命令 tiup mirror set 將當前鏡像切換成目前有權限修改的鏡像)。

也就是將當前鏡像中的keys目錄中的內容復制到~/.tiup/keys中

tiup mirror merge <mirror-dir-1> [mirror-dir-N] [flags]

下面通過舉例介紹如何合并鏡像

示例三:將v7.5.0版本和v7.1.3版本的鏡像合并,創建包括這兩個版本的離線鏡像

  1. v7.5.0版本的鏡像目錄:/data/tidb-community-server-v7.5.0-linux,v7.1.3版本的鏡像:/data/tidb-community-server-v7.1.3-linux,將當前鏡像設置為v7.5.0
tiup mirror set /data/tidb-community-server-v7.5.0-linux
  1. 查看當前鏡像中tidb-server的版本
$ tiup list tidb 
Available versions for tidb:
Version  Installed  Release               Platforms
-------  ---------  -------               ---------
v7.5.0              2024-01-15T07:06:27Z  linux/amd64,linux/arm64
  1. 將當前鏡像的keys目錄復制到~/.tiup/中
cd /data/tidb-community-server-v7.5.0-linux
cp -r keys ~/.tiup/
  1. 將7.1.3版本的鏡像合并到當前鏡像
tiup mirror merge /data/tidb-community-server-v7.1.3-linux
  1. 查看當前鏡像中的tidb-server版本
$ tiup list tidb 
Available versions for tidb:
Version  Installed  Release               Platforms
-------  ---------  -------               ---------
v7.1.3              2024-01-15T07:06:27Z  linux/amd64,linux/arm64
v7.5.0              2024-01-15T07:06:27Z  linux/amd64,linux/arm64

執行以上命令后,/data/tidb-community-server-v7.5.0-linux鏡像包可同時部署和管理v7.1.3和v7.5.0版本的集群。

修改鏡像

若需要將離線鏡像中的某個組件替換為我們自己編譯的包,不能直接通過替換鏡像中的tar包來實現,因為每個組件的包在鏡像中都有對應的校驗值,直接替換tar包會導致校驗失敗,需要通過tiup mirror publish命令來修改鏡像中的組件包。

tiup mirror publish <comp-name> <version> <tarball> <entry> [flags]

使用tiup mirror publish時其中需要指定key,如果需要修改官方的組件包,需要將key指定為pingcap官方的key,即**{mirror}/keys/xxxx-pingcap.json**,其中{mirror}為鏡像包的路徑,每個包中的keys的文件名是不一樣的,我們需要使用的key是pingcap.json結尾。

下面通過舉例來說明如何修改鏡像

示例四:將當前鏡像中的v7.5.0版本的tidb-server替換為自己編譯的tidb-server

  1. 將自己編譯的tidb-server打包進一個tar包中
tar -zcf my-tidb-server.tar.gz tidb-server
  1. 查看當前鏡像中的keys
$ ls /data/tidb-community-server-v7.5.0-linux/keys/
1c12ba5663b5b3ed-root.json     32762dfd5812ac40-timestamp.json  88c0aff47103fa21-root.json      ed54a0bef7fa53fb-index.json
1f29fe4561a59dd0-pingcap.json  4ff9c9ada34ab32e-root.json       c941efba22aac7eb-snapshot.json
  1. 執行tiup mirror publish命令修改替換tidb-server包
tiup mirror publish tidb v7.5.0 my-tidb-server.tar.gz tidb-server -k /data/tidb-community-server-v7.5.0-linux/keys/1f29fe4561a59dd0-pingcap.json --arch amd64

執行以上命令部署集群時將會自動部署自己編譯的tidb-server

總結

本文檔通過舉例的方式來說明如果創建和管理離線鏡像包,為需要離線環境部署tidb的場景提供參考。

0條評論
0 / 1000
鄧****祺
4文章數
0粉絲數
鄧****祺
4 文章 | 0 粉絲
鄧****祺
4文章數
0粉絲數
鄧****祺
4 文章 | 0 粉絲
原創

TIUP離線鏡像管理

2024-09-23 09:43:24
9
0

tiup鏡像為部署集群或通過tiup執行相關工具的源,可以是本地的離線鏡像(本地的一個目錄)或遠程鏡像。

官網介紹的tiup的安裝命令如下:

curl --proto '=https' --tlsv1.2 -sSf //tiup-mirrors.pingcap.com/install.sh | sh

當在可連接互聯網的機器上執行官方tiup的命令時,實際上只是按照tiup的二進制文件,并且將tiup鏡像設置為官方鏡像地址。

tiup的離線鏡像目錄的結構如下:

+ <mirror-dir>                                  # 鏡像根目錄
|-- root.json                                   # 鏡像根證書
|-- {2..N}.root.json                            # 鏡像根證書
|-- {1..N}.index.json                           # 組件/用戶索引
|-- {1..N}.{component}.json                     # 組件元信息
|-- {component}-{version}-{os}-{arch}.tar.gz    # 組件二進制包
|-- snapshot.json                               # 鏡像最新快照
|-- timestamp.json                              # 鏡像最新時間戳
|--+ commits                                    # 鏡像更新日志(可刪除)
   |--+ commit-{ts1..tsN}
      |-- {N}.root.json
      |-- {N}.{component}.json
      |-- {N}.index.json
      |-- {component}-{version}-{os}-{arch}.tar.gz
      |-- snapshot.json
      |-- timestamp.json
|--+ keys                                       # 鏡像私鑰(可移動到其他位置)
   |-- {hash1..hashN}-root.json                 # 根證書私鑰
   |-- {hash}-index.json                        # 索引私鑰
   |-- {hash}-snapshot.json                     # 快照私鑰
   |-- {hash}-timestamp.json                    # 時間戳私鑰

將鏡像包解壓后,直接運行安裝腳本local_install.sh即可離線安裝tiup,安裝完后會自動設置tiup的mirror為它自己所在的離線鏡像目錄,并會自動在~/.bash_profile的PATH中添加tiup所在的運行目錄。

tiup鏡像源設置

文件~/.tiup/tiup.toml中設置了tiup鏡像的地址或目錄,可通過查看tiup.toml中的內容得知當前鏡像的地址,或通過命令tiup mirror show查看當前鏡像的地址。

修改離線鏡像可以通過設置方式:

  • 環境變量?TIUP_MIRRORS?,當執行tiup命令時,將會自動設置mirror為TIUP_MIRRORS指定的地址
  • 執行tiup mirror set {PATH}命令設置mirror,PATH為離線鏡像的目錄或遠程鏡像的地址

在設置mirror后,tiup會重新從鏡像中下載各個組件的元信息文件(component.json)到.tiup/manifests中。

通過tiup list {組件}可以查看當前鏡像中存在的組件以及工具以及版本,例如:

$ tiup list tidb 
Available versions for tidb:
Version  Installed  Release               Platforms
-------  ---------  -------               ---------
v7.1.3              2024-01-15T07:06:27Z  linux/amd64,linux/arm64

該鏡像中包括了v7.1.3版本,amd64和arm64兩種架構的tidb-server

tiup離線鏡像管理

tiup mirror命令清單如下:

  • genkey: 生成私鑰文件
  • sign: 使用私鑰文件對特定文件進行簽名
  • init: 創建一個空的鏡像
  • set: 設置當前鏡像
  • grant: 為當前鏡像引入新的組件管理員
  • publish: 向當前鏡像推送新的組件**
  • modify: 修改當前鏡像中的組件屬性,主要是啟用/禁用某個組件或它的某個版本
  • rotate: 更新當前鏡像中的根證書
  • clone: 從已有鏡像克隆一個新的鏡像
  • merge: 合并鏡像

下面主要介紹通過publish, clone, merge這幾個子命令,進行離線鏡像的管理。

創建新鏡像

命令 tiup mirror clone 從當前鏡像中克隆出一個新的鏡像,可以指定自己需要的版本,組件,平臺等信息。新舊鏡像的組件相同,但使用的簽名密鑰不同。

tiup mirror clone <target-dir> [global version] [flags]

下面舉例說明如何創建自定義鏡像

示例一:從官方鏡像中克隆v7.5.0版本的鏡像,包括所有組件以及arm64和amd64兩個架構

  1. 在一個可連接互聯網的機器上安裝tiup
curl --proto '=https' --tlsv1.2 -sSf //tiup-mirrors.pingcap.com/install.sh | sh
  1. 執行以下命令clone鏡像
tiup mirror clone /data/tidb-community-server-v7.5.0-linux v7.5.0 --arch amd64,arm64 --os linux

以上命令將從官方鏡像中下載所有組件的v7.5.0版本和兩個架構的包到目錄/data/tidb-community-server-v7.5.0-linux中,其中如果組件沒有v7.5.0版本,將會下載該組件的最新版本。其中,離線鏡像包中包括了tiup組件,將該離線鏡像包上傳到離線環境,直接執行local_install.sh即可離線安裝tiup。該鏡像可以部署arm64和amd64兩種架構的集群。

示例二:從示例一的離線鏡像中分離出amd64架構的鏡像

  1. 將當前tiup鏡像目錄設置為示例一的鏡像目錄
tiup mirror set /data/tidb-community-server-v7.5.0-linux
  1. 從離線鏡像中克隆出amd64架構的鏡像
tiup mirror clone /data/tidb-community-server-v7.5.0-linux-amd64 v7.5.0 --arch amd64 --os linux

執行完了之后/data/tidb-community-server-v7.5.0-linux-amd64中將只包括amd64架構的組件包

合并鏡像

命令 tiup mirror merge 用于合并一個或多個鏡像到當前鏡像

執行此命令需要滿足幾個條件:

  • 目標鏡像的所有組件的管理員 ID 必須在當前鏡像中存在。
  • 執行該命令用戶的 ${TIUP_HOME}/keys 目錄中有上述管理員 ID 在當前鏡像中對應的所有私鑰(可以使用命令 tiup mirror set 將當前鏡像切換成目前有權限修改的鏡像)。

也就是將當前鏡像中的keys目錄中的內容復制到~/.tiup/keys中

tiup mirror merge <mirror-dir-1> [mirror-dir-N] [flags]

下面通過舉例介紹如何合并鏡像

示例三:將v7.5.0版本和v7.1.3版本的鏡像合并,創建包括這兩個版本的離線鏡像

  1. v7.5.0版本的鏡像目錄:/data/tidb-community-server-v7.5.0-linux,v7.1.3版本的鏡像:/data/tidb-community-server-v7.1.3-linux,將當前鏡像設置為v7.5.0
tiup mirror set /data/tidb-community-server-v7.5.0-linux
  1. 查看當前鏡像中tidb-server的版本
$ tiup list tidb 
Available versions for tidb:
Version  Installed  Release               Platforms
-------  ---------  -------               ---------
v7.5.0              2024-01-15T07:06:27Z  linux/amd64,linux/arm64
  1. 將當前鏡像的keys目錄復制到~/.tiup/中
cd /data/tidb-community-server-v7.5.0-linux
cp -r keys ~/.tiup/
  1. 將7.1.3版本的鏡像合并到當前鏡像
tiup mirror merge /data/tidb-community-server-v7.1.3-linux
  1. 查看當前鏡像中的tidb-server版本
$ tiup list tidb 
Available versions for tidb:
Version  Installed  Release               Platforms
-------  ---------  -------               ---------
v7.1.3              2024-01-15T07:06:27Z  linux/amd64,linux/arm64
v7.5.0              2024-01-15T07:06:27Z  linux/amd64,linux/arm64

執行以上命令后,/data/tidb-community-server-v7.5.0-linux鏡像包可同時部署和管理v7.1.3和v7.5.0版本的集群。

修改鏡像

若需要將離線鏡像中的某個組件替換為我們自己編譯的包,不能直接通過替換鏡像中的tar包來實現,因為每個組件的包在鏡像中都有對應的校驗值,直接替換tar包會導致校驗失敗,需要通過tiup mirror publish命令來修改鏡像中的組件包。

tiup mirror publish <comp-name> <version> <tarball> <entry> [flags]

使用tiup mirror publish時其中需要指定key,如果需要修改官方的組件包,需要將key指定為pingcap官方的key,即**{mirror}/keys/xxxx-pingcap.json**,其中{mirror}為鏡像包的路徑,每個包中的keys的文件名是不一樣的,我們需要使用的key是pingcap.json結尾。

下面通過舉例來說明如何修改鏡像

示例四:將當前鏡像中的v7.5.0版本的tidb-server替換為自己編譯的tidb-server

  1. 將自己編譯的tidb-server打包進一個tar包中
tar -zcf my-tidb-server.tar.gz tidb-server
  1. 查看當前鏡像中的keys
$ ls /data/tidb-community-server-v7.5.0-linux/keys/
1c12ba5663b5b3ed-root.json     32762dfd5812ac40-timestamp.json  88c0aff47103fa21-root.json      ed54a0bef7fa53fb-index.json
1f29fe4561a59dd0-pingcap.json  4ff9c9ada34ab32e-root.json       c941efba22aac7eb-snapshot.json
  1. 執行tiup mirror publish命令修改替換tidb-server包
tiup mirror publish tidb v7.5.0 my-tidb-server.tar.gz tidb-server -k /data/tidb-community-server-v7.5.0-linux/keys/1f29fe4561a59dd0-pingcap.json --arch amd64

執行以上命令部署集群時將會自動部署自己編譯的tidb-server

總結

本文檔通過舉例的方式來說明如果創建和管理離線鏡像包,為需要離線環境部署tidb的場景提供參考。

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0