iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 26
0
Microsoft Azure

企業如何用好用滿Azure系列 第 26

Day26:Azure小白如何使用Azure Container Registry異地複寫建立多份Container Image

在昨天我們談完Azure小白如何使用Azure Container Instances執行Docker Container

,今天我們來介紹Azure Container Registry及Azure Container Registry異地複寫

Azure Container Registry 簡介

Azure Container Registry是managed Docker registry服務,以開放原始碼

的Docker Registry 2.0為基礎。,Container Registry是在 Azure中裝載的

Private服務,可讓您建置、儲存和管理所有容器部署類型的映像。

我們可以在 Container Registry中使用 Docker CLI或Azure CLI來Push及

Puall Container Image,Azure Portal整合可讓您以視覺化方式檢查

https://ithelp.ithome.com.tw/upload/images/20201011/20112182M83fFlKMTn.jpg

Container Images in Container Registry,在分散式環境中Container

Registry異地複寫功能可用來將container images散發至多個Azure資料中心,

以進行當地散發,除了儲存container images,Azure Container Registry

Tasks 也可以在 Azure中建置container images,Tasks使用標準 Dockerfile

在Azure Container Registry中建立及儲存container image,而不需要本機

Docker工具,透過 Azure Container Registry Tasks,DevOps程序和工具可以

用來進行隨需建置,也可以用來將container image建完全自動化。

Deploy Azure Container Registry

使用 az acr create 命令來建立 Azure Container Registry

az acr create --resource-group learn-deploy-acr-rg --name $ACR_NAME --sku Premium

使用 Azure Container Registry Task建置container images

若你的公司使用container images來管理計compute workloads,你使用本機

Docker工具來建置container images,你現在可以使用 Azure Container

Registry Tasks 來建置這些containers,Container Registry Tasks也允許

DevOps process與source code commit的自動建置整合。

使用標準Dockerfile來提供建置指示,Azure Container Registry Tasks可讓

你重複使用目前在環境中的任何Dockerfile,包括多階段組建,以下為Docker

File內容範例:

FROM    node:9-alpine
ADD     https://raw.githubusercontent.com/Azure-Samples/acr-build-helloworld-node/master/package.json /
ADD     https://raw.githubusercontent.com/Azure-Samples/acr-build-helloworld-node/master/server.js /
RUN     npm install
EXPOSE  80
CMD     ["node", "server.js"]

從Azure Container Registry部署images

我們可以使用多種container management platforms(Azure Container

Instances, Azure Kubernetes Service,Docker for Windows or Mac)

從Azure Container Registry 提取Container Image。

https://ithelp.ithome.com.tw/upload/images/20201011/20112182MT1H2ut89V.jpg

Container registry authentication

Azure Container Registry不支援未經驗證的存取,並且需要所有作業都經過

驗證。 登錄支援兩種類型的身分識別:

-Azure Active Directory 身分識別:包括使用者和服務主體。 使用 Azure

Active Directory身分識別存取登錄是以角色為基礎,身分識別可以指派三個

角色其中之一:讀者(僅限提取存取)、參與者(推送和提取存取權),或擁有者

(提取、推送並指派角色給其他使用者)。

-每個登錄中包含管理帳戶:預設會停用管理帳戶。

以下為使用Azure CLI建立container指令,必需輸入registry-username及

registry-password

az container create \
    --resource-group learn-deploy-acr-rg \
    --name acr-tasks \
    --image $ACR_NAME.azurecr.io/helloacrtasks:v1 \
    --registry-login-server $ACR_NAME.azurecr.io \
    --ip-address Public \
    --location <location> \
    --registry-username [username] \
    --registry-password [password]

將container image複寫至不同的Azure區域

若你的公司有部署到數個區域的計算工作負載,藉此確保有本機項目來為分散的

客戶群提供服務,你的目的是在每個有Image執行的區域放置container

registry,這項策略可實作網路近距作業,提供快速、可靠的Image Layer傳輸。

異地複寫可讓 Azure 容器登錄作為單一登錄,使用多重主要區域登錄來服務數個

區域。

https://ithelp.ithome.com.tw/upload/images/20201011/20112182nLufmDapU0.jpg

geo-replicated registry(異地複寫登錄)能提供下列優點:

-可跨多個區域使用單一registry/image/tag名稱

-從區域部署進行網路鄰近registry存取

**-沒有其他輸出費用,因為Images是取自與container host相同區域中的local,

replicated registry**

-跨多個區域管理單一registry

az acr replication create --registry $ACR_NAME --location japaneast

https://ithelp.ithome.com.tw/upload/images/20201011/20112182mt2mE7U27A.png

手把手部署Azure Container Registry步驟:

https://docs.microsoft.com/zh-tw/learn/modules/build-and-store-container-images/2-deploy-azure-container-registry

手把手使用Azure Container Registry Task建置container image步驟:

https://docs.microsoft.com/zh-tw/learn/modules/build-and-store-container-images/3-build-container-image

手把手使用Azure Container Registry部署image步驟:

https://docs.microsoft.com/zh-tw/learn/modules/build-and-store-container-images/4-deploy-container-image

手把手將container image複寫至不同的Azure區域步驟:

https://docs.microsoft.com/zh-tw/learn/modules/build-and-store-container-images/5-replicate-container-image

Day26教學講義:

https://docs.microsoft.com/zh-tw/learn/modules/build-and-store-container-images/


上一篇
Day25:Azure小白如何使用Azure Container Instances 執行 Docker 容器
下一篇
Day27:Azure小白如何使用Azure Kubernetes Service部署Container應用程式
系列文
企業如何用好用滿Azure30

尚未有邦友留言

立即登入留言