大战熟女丰满人妻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 節點需要通過網絡互相通信。下圖總結了端口需求。

全部教程
主站蜘蛛池模板: 男人免费网站 | 欧美一级在线全免费 | 成人精品一区二区三区校园激情 | 天天干天天草天天 | 日本精品一区二区三区在线 | 亚洲国产精品人久久 | 婷婷爱爱| 国产做受视频激情播放 | 久久综合一 | 国产目拍亚洲精品一区二区三区 | 黄色免费看视频 | 色国产在线 | 看真人一级毛片 | 国产21区| 日本伦理中文字幕 | 香蕉网伊 | 精品国产欧美一区二区三区成人 | 在线精品国产 | 成人亚洲欧美日韩中文字幕 | 一本久道久久综合中文字幕 | 久久99国产一区二区三区 | 亚洲国产成人久久一区久久 | 美国毛片免费观看 | 久久久久九九 | 日韩美女一级毛片 | 国产成人精品一区二区三区 | 毛片高清| 尤物在线视频 | 亚洲一区二区三区91 | 老司机午夜免费视频 | 国产综合亚洲精品一区 | 亚洲欧美精品日韩欧美 | 精品国产你懂的在线观看 | 四虎成人国产精品视频 | 日韩精品中文字幕在线观看 | 久久综合五月天 | 49xxx中国妇女内谢视频 | 国产国产精品人在线视 | 亚州一二区 | 99热久久精品国产66 | 国产亚洲欧美精品久久久 |