大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Docker教程
Docker安裝
Docker使用
Docker實例

Docker鏡像倉庫本地化部署

Docker 可信鏡像倉庫服務,是安全、高可用并且支持本地部署的 Docker 服務,通常使用 DTR 代指。如果知道 Docker Hub 是什么,可以將 DTR 理解為私有的 Docker Hub,可以在本地部署,并且自行管理。

在安裝前有幾點需要說明

如果條件允許,使用專用節點來運行 DTR。在 DTR 生產環境節點中絕對不要運行用戶工作負載。

在 UCP 中,需要運行奇數個 DTR 實例。3 個或者 5 個實例有較好的容錯性。生產環境下的推薦配置如下。

? 3 個專用 UCP 管理節點。

? 3 個專用 DTR 實例。

? 按應用需求增加工作節點。

? 接下來會在單個節點上完成 DTR 的安裝和配置。

安裝 DTR

在 UCP 集群中配置首個 DTR 實例包括下面幾個步驟。

為了完成下面步驟,需要一個用于安裝 DTR 的 UCP 節點和一個監聽 443 端口的負載均衡,并處于 TCP 透傳模式,同時在 443 端口開啟了 /health 健康檢查。下圖展示了完整架構圖。

⒈ 登錄 UCP Web 界面,單擊 Admin > Admin Settings > Docker Trusted Registry。

⒉ 填寫 DTR 配置表,如下所示。

? DTR 外部 URL(DTR EXTERNAL URL):設置外部負載均衡器的 URL。

? UCP 節點(UCP NODE):選擇希望安裝 DTR 的節點名稱。

? 禁用 UCP 的 TLS 認證(Disable TLS Verification For UCP):如果使用自簽名證書,勾選該復選框。

⒊ 復制表格底部的長命令。

⒋ 將命令粘貼到 UCP 管理節點。

命令中包含 --ucp-node,告訴 UCP 需要執行該命令的具體節點。

下面示例中的 DTR 安裝命令與上圖中的配置相符。示例中假設當前已經在 dtr.mydns.com 配置了負載均衡器。

$ docker run -it --rm docker/dtr install \
--dtr-external-url dtr.mydns.com \
--ucp-node dtr1 \
--ucp-url https://34.252.195.122 \
--ucp-username admin --ucp-insecure-tls

⒌ 一旦安裝完成,就可以通過瀏覽器訪問負載均衡器。訪問后會自動登錄DTR,如下圖所示。DTR 已經應用,但尚未為其配置 HA。

為 DTR 配置高可用

配置多副本的高可用 DTR 依賴共享存儲。共享存儲可以是 NFS 或者對象存儲,可以本地部署或者在公有云上部署。下面的步驟中會采用 Amazon S3 Bucket 作為共享存儲來完成高可用 DTR 配置。

⒈ 登錄 DTR 控制臺,進入 Settings。

⒉ 選擇存儲(Storage)標簽頁,并配置共享存儲。

下圖展示了如何將位于 eu-west-1 可用域中名為 deep-dive-dtr 的 AWS S3 bucket 存儲配置為 DTR 的共享存儲。小伙伴在本地不能使用該存儲。

DTR 現在配置了共享存儲,可以開始增加額外的副本了。

⒈ 在 UCP 集群管理節點運行下面命令。

$ docker run -it --rm \
docker/dtr:2.4.1 join \
--ucp-node dtr2 \
--existing-replica-id 47f20fb864cf \
--ucp-insecure-tls

--ucp-node 參數指定了命令創建新 DTR 副本所在的節點。如果使用自簽名證書,必須指定 --insecure-tls 參數。

我們需要替換示例中的鏡像版本和副本 ID。副本 ID 在初始化安裝副本的輸出內容中可以找到。

⒉ 按提示輸入 UCP URL、端口以及管理員證書。

添加成功后,會看到如下信息。

INFO[0166] Join is complete
INFO[0166] Replica ID is set to: a6a628053157
INFO[0166] There are currently 2 replicas in your DTR cluster
INFO[0166] You have an even number of replicas which can impact availability
INFO[0166] It is recommended that you have 3, 5 or 7 replicas in your cluster

一定要遵循前面的建議來安裝副本,保證數量為奇數。這時需要更新負載均衡的配置信息,這樣流量可以發送到新的副本之上。

DTR 現在已經配置了 HA,這意味著現在某個副本宕機不會影響服務可用性。下圖展示了高可用 DTR 配置。

需要注意,當前負載均衡器會向全部 3 個 DTR 副本發送流量,也會對全部 3 個節點執行健康檢查。全部 3 個 DTR 副本共享同一個外部存儲。

在上圖中,負載均衡器和共享存儲都是第三方產品,按照單點部署進行展示(非高可用)。為了保證整體環境的高可用,建議確認這些產品都支持高可用,并且對其內容和配置信息進行備份(例如保證負載均衡器和存儲系統原生支持高可用,并且配置了備份策略)。

備份 DTR

因為使用了 UCP 的緣故,DTR 自帶 backup 命令,屬于安裝 DTR 所用鏡像的一部分。該備份命令會將分散于多個卷的 DTR 配置信息進行備份,包括以下幾種。

? DTR 配置。

? 倉庫原生信息。

? 公證信息。

? 證書。

DTR 自帶備份并不支持對鏡像的備份功能。通常鏡像保存在高可用的存儲后端,依賴非 Docker 工具執行自己獨立的備份計劃。

在 UCP 管理節點執行下面命令對 DTR 進行備份。

$ read -sp 'ucp password: ' UCP_PASSWORD; \
docker run --log-driver none -i --rm \
--env UCP_PASSWORD=$UCP_PASSWORD \
docker/dtr:2.4.1 backup \
--ucp-insecure-tls \
--ucp-username admin \
> ucp.bkp

read 命令會提示用戶輸入 UCP 管理賬戶的密碼,并保存到 UCP_PASSWORD 變量當中;第二行告訴 Docker 啟動新的臨時容器來執行備份操作;第三行將 UCP 密碼設置為容器的環境變量;第四行執行了備份命令;第五行使用自簽名證書保證命令可執行;第六行設置 UCP 用戶名為“admin”;最后一行指定備份文件為當前目錄下的 ucp.bkp。

按照提示輸入 UCP URL 和副本 ID。該信息也可以在備份命令中指定。備份結束后,會在當前工作目錄下新增一個名為 ucp.bkp 的文件。該文件應當按照公司的備份策略,由公司備份工具進行統一管理。

從備份恢復 DTR

從備份恢復 DTR 是下策,只有副本都宕機,并且沒有其他方式恢復時才可以嘗試。在只是單副本宕機,其他副本仍然可用的情況下,應當使用 dtr join 命令增加新的副本。

如果確定需要從副本恢復,步驟如下:

⒈ 停止并刪除 DTR 節點(可能已經停止)。

⒉ 恢復共享存儲中的鏡像(可能不需該步驟)。

⒊ 恢復 DTR。

在準備恢復 DTR 的節點上執行下面的命令。當然該節點必須是要恢復的 DTR 所在 UCP 集群中的一員。在恢復時需要使用與創建備份相同版本的 docker/dtr 鏡像。

⒈ 停止并刪除 DTR。

$ docker run -it --rm \
docker/dtr:2.4.1 destroy \
--ucp-insecure-tls

INFO[0000] Beginning Docker Trusted Registry replica destroy
ucp-url (The UCP URL including domain and port): https://34.252.195.122:443
ucp-username (The UCP administrator username): admin
ucp-password:
INFO[0020] Validating UCP cert
INFO[0020] Connecting to UCP
INFO[0021] Searching containers in UCP for DTR replicas
INFO[0023] This cluster contains the replicas: 47f20fb864cf a6a628053157
Choose a replica to destroy [47f20fb864cf]:
INFO[0030] Force removing replica
INFO[0030] Stopping containers
INFO[0035] Removing containers
INFO[0045] Removing volumes
INFO[0047] Replica removed.

按提示輸入 UCP URL、管理證書以及要刪除的副本 ID。如果有多副本,可以多次運行該命令來刪除。

⒉ 如果鏡像在共享存儲中丟失,需要首先恢復鏡像。

⒊ 使用下面的命令恢復 DTR。

需要將第 5 行與第 6 行中的內容替換為本地環境的值。因為 restore 命令不支持交互式,所以當 restore 命令開始執行后,沒有提示輸入前面的內容。

$ read -sp 'ucp password: ' UCP_PASSWORD; \
docker run -i --rm \
--env UCP_PASSWORD=$UCP_PASSWORD \
docker/dtr:2.4.1 restore \
--ucp-url  \
--ucp-node  \
--ucp-insecure-tls \
--ucp-username admin \
< ucp.bkp

DTR 現在已經恢復。UCP 管理節點、工作節點以及 DTR 節點需要通過網絡互相通信。下圖總結了端口需求。

全部教程
主站蜘蛛池模板: 超清乱人伦中文视频在线 | 日韩日日操 | 久久性生活 | 国产欧美成人一区二区三区 | 欧美成人黄色网 | 色一情一乱一伦麻豆 | 9999热视频 | 国产乱仑| 天堂一区二区三区精品 | 国产免费一区二区三区免费视频 | 狠狠狠地在啪线香蕉 | 99视频都是精品热在线播放 | 天天摸天天操天天射 | 欧美成人a视频 | 91视频精品 | 九色福利视频 | 国产精品欧美日韩精品 | 99精品在线视频观看 | 我想看一级播放片一级的 | 亚洲精品区在线播放一区二区 | 亚洲欧洲尹人香蕉综合 | 狠狠色狠色综合曰曰 | 中国妞xxxx | 97视频免费观看 | 中文字幕久久亚洲一区 | 国产成人精品久久 | 亚洲欧美网站 | 未成人做爰视频www 我爱52avαv永久网站 | 婷婷激情综合网 | 99视频在线观看免费视频 | 奇米影视777中文久久爱 | 亚洲网色| 久久99综合国产精品亚洲首页 | 夜夜操com | 国产爱v | 四虎欧美永久在线精品免费 | 国产一区二区中文字幕 | 欧美伊人久久大香线蕉综合69 | 九月激情网 | 久久精品久久久久久久久人 | 91国内精品线免费播放 |