共用方式為


在容器實例中執行 Azure CycleCloud

容器實例 中執行 Azure CycleCloud 是一個絕佳的解決方案,適用于間歇性使用 CycleCloud 且想要在作業執行之間關閉,以避免與長時間執行虛擬機器相關聯的成本。

先決條件

您必須在機器或伺服器上安裝 並執行 Docker ,才能從中存取 CycleCloud。 下載適用于您 OS 的適當 安裝套件 ,並遵循 Docker 的安裝指示。

CycleCloud 容器映射

一旦 Docker 設定並運作後,您可以執行下列命令,從 Microsoft 的 Container Registry 提取 CycleCloud 容器映射:

docker run mcr.microsoft.com/hpc/azure-cyclecloud

就這麼簡單! 容器將會啟動,而 CycleCloud 將可透過網頁瀏覽器在 存取 https://localhost 。 請從該處遵循設定功能表。

組態

容器會執行 HTTP (80) 和 HTTPs (443) 的 Web 應用程式。 當 CycleCloud 執行 JVM (JAVA 虛擬機器) 時,應該協調 JVM 和配置給容器的記憶體堆積大小。 建議將堆積大小設定為一半的容器記憶體配置。 使用 命令 docker run -m 搭配以 MB 指定的環境變數。 例如:

docker run -m 2G -e "JAVA_HEAP_SIZE=1024" -p 8080:80 -p 8443:443 myrepo/cyclecloud:$ver

警告

如果 CycleCloud 服務失敗,容器進程將會終止,且所有叢集資料都會遺失。 若要避免這種情況,請將您的容器實例設定為使用永續性儲存體來備份。

永續性儲存體

如果 Azure 容器實例應該失敗,您的資料可能會遺失,而且無法復原 HPC 叢集的受控執行狀態。 強烈建議您設定要從 Azure 檔案共用使用長期儲存體支援的 Azure 容器實例。

假設 Azure 檔案共用掛接在 /azurecyclecloud ,CycleCloud 容器會針對下列專案使用長期儲存體:

  • 記錄
  • 備份復原點

如需進一步瞭解 Azure 檔案共用,請參閱示範 與 Azure 容器實例整合的檔。

在下列範例中,儲存體共用會掛接在 /azurecyclecloud,並收集記錄和備份點。 透過此設定,Azure CycleCloud 資料可以從失敗中復原,或用來移轉至另一個服務中裝載,例如虛擬機器。

az container create \
  --resource-group ${ResourceGroup} \
  --location ${Location} \
  --name ${Name} \
  --dns-name-label ${DNSName} \
  --image mcr.microsoft.com/hpc/azure-cyclecloud \
  --ip-address public \
  --ports 80 443 \
  --cpu 2 \
  --memory 4 \
  -e JAVA_HEAP_SIZE=2048 \
  --azure-file-volume-account-name ${STORAGE_ACCOUNT_NAME} \
  --azure-file-volume-account-key ${STORAGE_KEY} \
  --azure-file-volume-share-name ${SHARE_NAME} \
  --azure-file-volume-mount-path /azurecyclecloud

支援的版本

您可以在產品 dockerhub 頁面中找到支援版本的 CycleCloud 容器映射。 您可以使用現有的資源群組、位置和慣用的容器和 dns 名稱,) 將映射啟動為 Azure 容器實例 (。 CycleCloud 包含 SSL 憑證產生,因此如果您為 az cli 指定兩次引數 (一次,然後再次設定環境變數) ,則容器可以自動建立有效的 SSL 憑證。

#!/bin/bash
ResourceGroup="rg-name"
Location="westus2"
CIName="ci-name"
CIDNSName="ci-name"

az container create -g ${ResourceGroup} \
  --location ${Location} \
  --name ${CIName} \
  --dns-name-label ${CIDNSName} \
  --image mcr.microsoft.com/hpc/azure-cyclecloud \
  --ip-address public \
  --ports 80 443 \
  --cpu 2 --memory 4 \
  -e JAVA_HEAP_SIZE=2048

在上述範例中,容器和 cyclecloud UI 將可在 取得 https://${CIDNSName}.${Location}.azurecontainer.io

其他組態

容器會執行 HTTP (80) 和 HTTPs (443) 的 Web 應用程式。 當 CycleCloud 執行 JVM (JAVA 虛擬機器) 時,應該協調 JVM 和配置給容器的記憶體堆積大小。 建議將堆積大小設定為一半的容器記憶體配置。 使用 命令 docker run -m 搭配以 MB 指定的環境變數。 例如:

docker run -m 2G -e "JAVA_HEAP_SIZE=1024" -p 8080:80 -p 8443:443 mcr.microsoft.com/hpc/azure-cyclecloud