Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure HPC Cache przyspiesza dostęp do danych w celu wykonywania zadań obliczeń o wysokiej wydajności (HPC). Dzięki buforowaniu plików na platformie Azure usługa Azure HPC Cache zapewnia skalowalność przetwarzania w chmurze do istniejącego przepływu pracy. W tym artykule pokazano, jak zintegrować usługę Azure HPC Cache z usługą Azure Kubernetes Service (AKS).
Zanim rozpoczniesz
Klaster usługi AKS musi znajdować się w regionie obsługującym usługę Azure HPC Cache.
Potrzebujesz interfejsu wiersza polecenia platformy Azure w wersji 2.7 lub nowszej. Uruchom polecenie
az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.Zarejestruj rozszerzenie w subskrypcji platformy
hpc-cacheAzure. Aby uzyskać więcej informacji na temat korzystania z usługi HPC Cache z interfejsem wiersza polecenia platformy Azure, zobacz wymagania wstępne interfejsu wiersza polecenia usługi HPC Cache.Zapoznaj się z wymaganiami wstępnymi dotyczącymi usługi HPC Cache. Przed uruchomieniem pamięci podręcznej HPC Cache należy spełnić następujące wymagania:
- Pamięć podręczna wymaga dedykowanej podsieci z co najmniej 64 dostępnymi adresami IP.
- Podsieć nie może hostować innych maszyn wirtualnych ani kontenerów.
- Podsieć musi być dostępna z węzłów usługi AKS.
Jeśli musisz uruchomić aplikację jako użytkownik bez dostępu do katalogu głównego, może być konieczne wyłączenie funkcji squashing katalogu głównego przy użyciu polecenia właściciela zmiany (chown), aby zmienić własność katalogu na innego użytkownika. Użytkownik bez dostępu głównego musi być właścicielem katalogu, aby uzyskać dostęp do systemu plików. Aby użytkownik był właścicielem katalogu, użytkownik główny musi chown katalog do tego użytkownika, ale jeśli pamięć podręczna HPC Cache jest w stanie zmiażdżyć katalog główny, ta operacja zostanie odrzucona, ponieważ użytkownik główny (UID 0) jest mapowany na użytkownika anonimowego. Aby uzyskać więcej informacji na temat zasad zabezpieczeń katalogu głównego i zasad dostępu klienta, zobacz Zasady dostępu do pamięci podręcznej HPC Cache.
Instalowanie rozszerzenia interfejsu wiersza polecenia platformy hpc-cache Azure
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Aby zainstalować rozszerzenie hpc-cache, uruchom następujące polecenie:
az extension add --name hpc-cache
Uruchom następujące polecenie, aby zaktualizować do najnowszej wersji wydanego rozszerzenia:
az extension update --name hpc-cache
Rejestrowanie flagi funkcji StorageCache
Zarejestruj dostawcę zasobów Microsoft.StorageCache przy użyciu az provider register polecenia .
az provider register --namespace Microsoft.StorageCache --wait
Wyświetlenie stanu Zarejestrowane trwa kilka minut. Sprawdź stan rejestracji przy użyciu polecenia az feature show :
az feature show --namespace "Microsoft.StorageCache"
Tworzenie pamięci podręcznej Azure HPC Cache
Pobierz grupę zasobów węzła przy użyciu
az aks showpolecenia z parametrem--query nodeResourceGroupzapytania.az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsvDane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:
MC_myResourceGroup_myAKSCluster_eastusUtwórz dedykowaną podsieć usługi HPC Cache przy użyciu
az network vnet subnet createpolecenia . Najpierw zdefiniuj zmienne środowiskowe dlaRESOURCE_GROUP,VNET_NAME,VNET_IDiSUBNET_NAME. Skopiuj dane wyjściowe z poprzedniego kroku dlaRESOURCE_GROUPparametru i określ wartość parametruSUBNET_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=MyHpcCacheSubnetaz network vnet subnet create \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --address-prefixes 10.0.0.0/26Utwórz pamięć podręczną HPC Cache w tej samej grupie zasobów i regionie węzła. Najpierw zdefiniuj zmienną środowiskową
SUBNET_ID.SUBNET_ID=$(az network vnet subnet show --resource-group $RESOURCE_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME --query "id" -o tsv)Utwórz pamięć podręczną HPC Cache przy użyciu
az hpc-cache createpolecenia . Poniższy przykład tworzy pamięć podręczną HPC Cache w regionie Wschodnie stany USA z typem pamięci podręcznej 2G w warstwie Standardowa o nazwie MyHpcCache. Określ wartość parametru --location, --sku-name i --name.az hpc-cache create \ --resource-group $RESOURCE_GROUP \ --cache-size-gb "3072" \ --location eastus \ --subnet $SUBNET_ID \ --sku-name "Standard_2G" \ --name MyHpcCacheUwaga
Tworzenie pamięci podręcznej HPC Cache może potrwać do 20 minut.
Tworzenie i konfigurowanie usługi Azure Storage
Utwórz konto magazynu przy użyciu
az storage account createpolecenia . Najpierw zdefiniuj zmienną środowiskowąSTORAGE_ACCOUNT_NAME.Ważne
Musisz wybrać unikatową nazwę konta magazynu. Zastąp
uniquestorageaccountelement określoną nazwą. Nazwy kont magazynu muszą mieć długość od 3 do 24 znaków i mogą zawierać tylko cyfry i małe litery.STORAGE_ACCOUNT_NAME=uniquestorageaccountPoniższy przykład tworzy konto magazynu w regionie Wschodnie stany USA z Standard_LRS sku. Określ wartość parametru --location i --sku.
az storage account create \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --location eastus \ --sku Standard_LRSPrzypisz rolę Współautor danych obiektu blob usługi Storage w subskrypcji przy użyciu
az role assignment createpolecenia . Najpierw zdefiniuj zmienneSTORAGE_ACCOUNT_IDśrodowiskowe iAD_USER.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_IDUtwórz kontener obiektów blob na koncie magazynu przy użyciu
az storage container createpolecenia . Najpierw zdefiniuj zmienną środowiskowąCONTAINER_NAMEi zastąp nazwę kontenera obiektów blob.CONTAINER_NAME=mystoragecontaineraz storage container create --name $CONTAINER_NAME --account-name $STORAGE_ACCOUNT_NAME --auth-mode loginPodaj uprawnienia do konta usługi Azure HPC Cache w celu uzyskania dostępu do konta magazynu i kontenera obiektów blob przy użyciu
az role assignmentpoleceń . Najpierw zdefiniuj zmienneHPC_CACHE_USERśrodowiskowe iHPC_CACHE_ID.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_IDDodaj kontener obiektów blob do pamięci podręcznej HPC Cache jako miejsce docelowe magazynu przy użyciu
az hpc-cache blob-storage-target addpolecenia . W poniższym przykładzie tworzony jest kontener obiektów blob o nazwie MyStorageTarget do pamięci podręcznej HPC Cache MyHpcCache. Określ wartość parametru --name, --cache-name i --virtual-namespace-path.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"
Konfigurowanie równoważenia obciążenia klienta
Utwórz strefę usługi Azure Prywatna strefa DNS dla adresów IP skierowanych do klienta przy użyciu
az network private-dns zone createpolecenia . Najpierw zdefiniuj zmienną środowiskowąPRIVATE_DNS_ZONEi określ nazwę strefy.PRIVATE_DNS_ZONE="myhpccache.local"az network private-dns zone create \ --resource-group $RESOURCE_GROUP \ --name $PRIVATE_DNS_ZONEUtwórz link DNS między strefą Prywatna strefa DNS platformy Azure i siecią wirtualną
az network private-dns link vnet createprzy użyciu polecenia . Zastąp wartość --name.az network private-dns link vnet create \ --resource-group $RESOURCE_GROUP \ --name MyDNSLink \ --zone-name $PRIVATE_DNS_ZONE \ --virtual-network $VNET_NAME \ --registration-enabled trueUtwórz nazwę DNS działania okrężnego dla adresów IP skierowanych do klienta przy użyciu
az network private-dns record-set a createpolecenia . Najpierw zdefiniuj zmienneDNS_NAMEśrodowiskowe ,HPC_MOUNTS0,HPC_MOUNTS1iHPC_MOUNTS2. Zastąp wartość właściwościDNS_NAME.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
Tworzenie woluminu trwałego
Utwórz plik o nazwie
pv-nfs.yaml, aby zdefiniować wolumin trwały, a następnie wklej następujący manifest. Zastąp wartości właściwościserveripath.--- apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs spec: capacity: storage: 10000Gi accessModes: - ReadWriteMany mountOptions: - vers=3 nfs: server: server.myhpccache.local path: /Pobierz poświadczenia klastra Kubernetes przy użyciu
az aks get-credentialspolecenia .az aks get-credentials --resource-group myResourceGroup --name myAKSClusterUtwórz wolumin trwały przy użyciu
kubectl applypolecenia .kubectl apply -f pv-nfs.yamlSprawdź, czy stan woluminu trwałego jest dostępny przy użyciu
kubectl describepolecenia .kubectl describe pv pv-nfs
Tworzenie trwałego oświadczenia woluminu
Utwórz plik o nazwie
pvc-nfs.yamlw celu zdefiniowania trwałego oświadczenia woluminu, a następnie wklej następujący manifest.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-nfs spec: accessModes: - ReadWriteMany storageClassName: "" resources: requests: storage: 100GiUtwórz oświadczenie trwałego woluminu
kubectl applyprzy użyciu polecenia .kubectl apply -f pvc-nfs.yamlSprawdź, czy stan trwałego oświadczenia woluminu ma wartość Powiązana przy użyciu
kubectl describepolecenia .kubectl describe pvc pvc-nfs
Instalowanie pamięci podręcznej HPC Za pomocą zasobnika
Utwórz plik o nazwie
nginx-nfs.yaml, aby zdefiniować zasobnik używający trwałego oświadczenia woluminu, a następnie wklej następujący manifest.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-nfsUtwórz zasobnik przy użyciu
kubectl applypolecenia .kubectl apply -f nginx-nfs.yamlSprawdź, czy zasobnik jest uruchomiony przy użyciu
kubectl describepolecenia .kubectl describe pod nginx-nfsSprawdź, czy wolumin jest zainstalowany w zasobniku przy użyciu
kubectl execpolecenia , aby nawiązać połączenie z zasobnikiem.kubectl exec -it nginx-nfs -- shAby sprawdzić, czy wolumin jest zainstalowany, uruchom
dfpolecenie w formacie czytelnym dla człowieka przy użyciu--human-readableopcji (-hw skrócie).df -hPoniższy przykład przypomina dane wyjściowe zwrócone z polecenia :
Filesystem Size Used Avail Use% Mounted on ... server.myhpccache.local:/myfilepath 8.0E 0 8.0E 0% /mnt/azure/myfilepath ...
Następne kroki
- Aby uzyskać więcej informacji na temat usługi Azure HPC Cache, zobacz Omówienie usługi HPC Cache.
- Aby uzyskać więcej informacji na temat korzystania z systemu plików NFS z usługą AKS, zobacz Ręczne tworzenie i używanie woluminu sieciowego systemu plików (NFS) Linux Server z usługą AKS.