Az Azure HPC Cache integrálása az Azure Kubernetes Service-vel (AKS)
Az Azure HPC Cache gyors hozzáférést biztosít az adatokhoz a nagy teljesítményű feldolgozási (HPC) feladatok végrehajtása érdekében. Az adatok Azure-beli gyorsítótárazásának köszönhetően az Azure HPC Cache a felhőalapú számítások skálázhatóságát biztosítja a meglévő munkafolyamatokhoz. Ez a cikk bemutatja, hogyan integrálhatja az Azure HPC Cache-t az Azure Kubernetes Service-vel (AKS).
Mielőtt elkezdené
Az AKS-fürtnek olyan régióban kell lennie, amely támogatja az Azure HPC Cache-t.
Az Azure CLI 2.7-es vagy újabb verziójára van szüksége. A verzió azonosításához futtassa a következőt:
az --version
. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.Regisztrálja a bővítményt
hpc-cache
az Azure-előfizetésében. A HPC Cache Azure CLI-vel való használatáról további információt a HPC Cache CLI előfeltételeiben talál.Tekintse át a HPC Cache előfeltételeit. A HPC-gyorsítótár futtatása előtt meg kell felelnie a következőknek:
- A gyorsítótárhoz legalább 64 IP-címmel rendelkező dedikált alhálózat szükséges.
- Az alhálózat nem üzemeltethet más virtuális gépeket vagy tárolókat.
- Az alhálózatnak elérhetőnek kell lennie az AKS-csomópontokról.
Ha gyökérhozzáférés nélküli felhasználóként kell futtatnia az alkalmazást, előfordulhat, hogy le kell tiltania a gyökérpréselést a módosítástulajdonos (chown) paranccsal, hogy a címtár tulajdonjogát egy másik felhasználóra módosítsa. A legfelső szintű hozzáféréssel nem rendelkező felhasználónak egy könyvtárral kell rendelkeznie a fájlrendszer eléréséhez. Ahhoz, hogy a felhasználó birtokolhassa a címtárat, a gyökérfelhasználónak meg kell adnia egy könyvtárat a felhasználónak, de ha a HPC Cache összenyomja a gyökérkönyvtárat, a művelet megtagadva, mert a gyökérfelhasználó (UID 0) le van képezve a névtelen felhasználóhoz. További információ a gyökérpréselésről és az ügyfél-hozzáférési szabályzatokról: HPC Cache hozzáférési szabályzatok.
Az hpc-cache
Azure CLI-bővítmény telepítése
Fontos
Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióit részben az ügyfélszolgálat fedezi a legjobb munkamennyiség alapján. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:
A hpc-cache bővítmény telepítéséhez futtassa a következő parancsot:
az extension add --name hpc-cache
Futtassa a következő parancsot a bővítmény legújabb verziójára való frissítéshez:
az extension update --name hpc-cache
A StorageCache funkciójelző regisztrálása
Regisztrálja a Microsoft.StorageCache erőforrás-szolgáltatót a az provider register
paranccsal.
az provider register --namespace Microsoft.StorageCache --wait
Néhány percig tart, amíg az állapot megjelenik a Regisztrált állapotban. Ellenőrizze a regisztrációs állapotot az az feature show paranccsal:
az feature show --namespace "Microsoft.StorageCache"
Az Azure HPC Cache létrehozása
Kérje le a csomópont erőforráscsoportját a
az aks show
lekérdezési paraméterrel rendelkező--query nodeResourceGroup
paranccsal.az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv
A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:
MC_myResourceGroup_myAKSCluster_eastus
Hozzon létre egy dedikált HPC Cache-alhálózatot a
az network vnet subnet create
paranccsal. Először határozza meg az ,VNET_NAME
,VNET_ID
ésSUBNET_NAME
. környezeti változóitRESOURCE_GROUP
. Másolja ki a kimenetet az előző lépésbőlRESOURCE_GROUP
, és adjon meg egy értéket.SUBNET_NAME
RESOURCE_GROUP=MC_myResourceGroup_myAKSCluster_eastus VNET_NAME=$(az network vnet list --resource-group $RESOURCE_GROUP --query [].name -o tsv) VNET_ID=$(az network vnet show --resource-group $RESOURCE_GROUP --name $VNET_NAME --query "id" -o tsv) SUBNET_NAME=MyHpcCacheSubnet
az network vnet subnet create \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --address-prefixes 10.0.0.0/26
Hozzon létre egy HPC-gyorsítótárat ugyanabban a csomópont-erőforráscsoportban és -régióban. Először határozza meg a környezeti változót
SUBNET_ID
.SUBNET_ID=$(az network vnet subnet show --resource-group $RESOURCE_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME --query "id" -o tsv)
Hozza létre a HPC Cache-t a
az hpc-cache create
paranccsal. Az alábbi példa az USA keleti régiójában hozza létre a HPC Cache-t egy MyHpcCache nevű standard 2G-gyorsítótártípussal. Adja meg a --location, --sku-name és --name értéket.az hpc-cache create \ --resource-group $RESOURCE_GROUP \ --cache-size-gb "3072" \ --location eastus \ --subnet $SUBNET_ID \ --sku-name "Standard_2G" \ --name MyHpcCache
Feljegyzés
A HPC Cache létrehozása akár 20 percet is igénybe vehet.
Azure Storage létrehozása és konfigurálása
Hozzon létre egy tárfiókot a
az storage account create
parancs használatával. Először határozza meg a környezeti változótSTORAGE_ACCOUNT_NAME
.Fontos
Ki kell választania egy egyedi tárfióknevet. Cserélje le
uniquestorageaccount
a megadott névre. A tárfiókok nevének 3 és 24 karakter közötti hosszúságúnak kell lennie, és csak számokat és kisbetűket tartalmazhat.STORAGE_ACCOUNT_NAME=uniquestorageaccount
Az alábbi példa létrehoz egy tárfiókot az USA keleti régiójában a Standard_LRS termékváltozattal. Adja meg a --location és a --sku értékét.
az storage account create \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --location eastus \ --sku Standard_LRS
Rendelje hozzá a Storage Blob Data Közreműködői szerepkört az előfizetéséhez a
az role assignment create
paranccsal. Először határozza meg a környezeti változókatSTORAGE_ACCOUNT_ID
ésAD_USER
a .STORAGE_ACCOUNT_ID=$(az storage account show --name $STORAGE_ACCOUNT_NAME --query "id" -o tsv) AD_USER=$(az ad signed-in-user show --query objectId -o tsv)
az role assignment create --role "Storage Blob Data Contributor" --assignee $AD_USER --scope $STORAGE_ACCOUNT_ID
Hozza létre a Blob-tárolót a tárfiókban a
az storage container create
paranccsal. Először adja meg a környezeti változótCONTAINER_NAME
, és cserélje le a Blob-tároló nevét.CONTAINER_NAME=mystoragecontainer
az storage container create --name $CONTAINER_NAME --account-name $STORAGE_ACCOUNT_NAME --auth-mode login
Adjon meg engedélyeket az Azure HPC Cache szolgáltatásfiókhoz a tárfiók és a Blob-tároló eléréséhez a
az role assignment
parancsok használatával. Először határozza meg a környezeti változókatHPC_CACHE_USER
ésHPC_CACHE_ID
a .HPC_CACHE_USER="StorageCache Resource Provider" HPC_CACHE_ID=$(az ad sp list --display-name "${HPC_CACHE_USER}" --query "[].objectId" -o tsv)
az role assignment create --role "Storage Account Contributor" --assignee $HPC_CACHE_ID --scope $STORAGE_ACCOUNT_ID az role assignment create --role "Storage Blob Data Contributor" --assignee $HPC_CACHE_ID --scope $STORAGE_ACCOUNT_ID
Adja hozzá a blobtárolót a HPC Cache-hez tárolóként a
az hpc-cache blob-storage-target add
parancs használatával. Az alábbi példa létrehoz egy MyStorageTarget nevű blobtárolót a HPC Cache MyHpcCache-hez. Adja meg a --name, --cache-name és --virtual-namespace-path értéket.az hpc-cache blob-storage-target add \ --resource-group $RESOURCE_GROUP \ --cache-name MyHpcCache \ --name MyStorageTarget \ --storage-account $STORAGE_ACCOUNT_ID \ --container-name $CONTAINER_NAME \ --virtual-namespace-path "/myfilepath"
Ügyfél terheléselosztásának beállítása
Hozzon létre egy Azure saját DNS zónát az ügyféloldali IP-címekhez a
az network private-dns zone create
parancs használatával. Először adja meg a környezeti változótPRIVATE_DNS_ZONE
, és adja meg a zóna nevét.PRIVATE_DNS_ZONE="myhpccache.local"
az network private-dns zone create \ --resource-group $RESOURCE_GROUP \ --name $PRIVATE_DNS_ZONE
Hozzon létre egy DNS-kapcsolatot az Azure saját DNS Zóna és a virtuális hálózat között a
az network private-dns link vnet create
paranccsal. Cserélje le a --name értéket.az network private-dns link vnet create \ --resource-group $RESOURCE_GROUP \ --name MyDNSLink \ --zone-name $PRIVATE_DNS_ZONE \ --virtual-network $VNET_NAME \ --registration-enabled true
Hozza létre az ügyféloldali IP-címek ciklikus időszeleteléses DNS-nevét a
az network private-dns record-set a create
parancs használatával. Először határozza meg a környezeti változókatDNS_NAME
,HPC_MOUNTS0
ésHPC_MOUNTS1
HPC_MOUNTS2
. Cserélje le a tulajdonságDNS_NAME
értékét.DNS_NAME="server" HPC_MOUNTS0=$(az hpc-cache show --name "MyHpcCache" --resource-group $RESOURCE_GROUP --query "mountAddresses[0]" -o tsv | tr --delete '\r') HPC_MOUNTS1=$(az hpc-cache show --name "MyHpcCache" --resource-group $RESOURCE_GROUP --query "mountAddresses[1]" -o tsv | tr --delete '\r') HPC_MOUNTS2=$(az hpc-cache show --name "MyHpcCache" --resource-group $RESOURCE_GROUP --query "mountAddresses[2]" -o tsv | tr --delete '\r')
az network private-dns record-set a add-record -g $RESOURCE_GROUP -z $PRIVATE_DNS_ZONE -n $DNS_NAME -a $HPC_MOUNTS0 az network private-dns record-set a add-record -g $RESOURCE_GROUP -z $PRIVATE_DNS_ZONE -n $DNS_NAME -a $HPC_MOUNTS1 az network private-dns record-set a add-record -g $RESOURCE_GROUP -z $PRIVATE_DNS_ZONE -n $DNS_NAME -a $HPC_MOUNTS2
Állandó kötet létrehozása
Hozzon létre egy állandó kötet definiálásához elnevezett
pv-nfs.yaml
fájlt, majd illessze be a következő jegyzékbe. Cserélje le a tulajdonságserver
éspath
a .--- apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs spec: capacity: storage: 10000Gi accessModes: - ReadWriteMany mountOptions: - vers=3 nfs: server: server.myhpccache.local path: /
Kérje le a Kubernetes-fürt hitelesítő adatait a
az aks get-credentials
paranccsal.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Hozza létre az állandó kötetet a
kubectl apply
paranccsal.kubectl apply -f pv-nfs.yaml
Ellenőrizze, hogy az állandó kötet állapota elérhető-e a
kubectl describe
paranccsal.kubectl describe pv pv-nfs
Az állandó kötet jogcímének létrehozása
Hozzon létre egy állandó mennyiségi jogcím definiálásához elnevezett
pvc-nfs.yaml
fájlt, majd illessze be a következő jegyzékfájlt.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-nfs spec: accessModes: - ReadWriteMany storageClassName: "" resources: requests: storage: 100Gi
Hozza létre az állandó kötet jogcímét a
kubectl apply
parancs használatával.kubectl apply -f pvc-nfs.yaml
Ellenőrizze, hogy az állandó kötet jogcíme kötött-e a
kubectl describe
parancs használatával.kubectl describe pvc pvc-nfs
A HPC Cache csatlakoztatása podgal
Hozzon létre egy fájlt
nginx-nfs.yaml
az állandó kötet jogcímét használó pod definiálásához, majd illessze be a következő jegyzékfájlt.kind: Pod apiVersion: v1 metadata: name: nginx-nfs spec: containers: - image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine name: nginx-nfs command: - "/bin/sh" - "-c" - while true; do echo $(date) >> /mnt/azure/myfilepath/outfile; sleep 1; done volumeMounts: - name: disk01 mountPath: /mnt/azure volumes: - name: disk01 persistentVolumeClaim: claimName: pvc-nfs
Hozza létre a podot a
kubectl apply
paranccsal.kubectl apply -f nginx-nfs.yaml
Ellenőrizze, hogy a pod fut-e a
kubectl describe
paranccsal.kubectl describe pod nginx-nfs
Ellenőrizze, hogy a kötet csatlakoztatva van-e a podhoz a
kubectl exec
podhoz való csatlakozás parancsával.kubectl exec -it nginx-nfs -- sh
Annak ellenőrzéséhez, hogy a kötet csatlakoztatva van-e, futtassa
df
az ember által olvasható formátumban a--human-readable
(-h
rövid) beállítással.df -h
Az alábbi példa a parancsból visszaadott kimenethez hasonlít:
Filesystem Size Used Avail Use% Mounted on ... server.myhpccache.local:/myfilepath 8.0E 0 8.0E 0% /mnt/azure/myfilepath ...
Következő lépések
- Az Azure HPC Cache-ről további információt a HPC Cache áttekintésében talál.
- További információ az NFS AKS-sel való használatáról: Hálózati fájlrendszer (NFS) Linux Server-kötet manuális létrehozása és használata az AKS-szel.
Azure Kubernetes Service