Použití služby Azure Container Storage se službou Azure Elastic SAN (Preview)
Azure Container Storage je cloudová služba pro správu svazků, nasazení a orchestraci sestavená nativně pro kontejnery. Azure Elastic SAN je plně integrované řešení, které zjednodušuje nasazování, škálování, správu a konfiguraci sítě SAN a zároveň nabízí integrované cloudové funkce, jako je vysoká dostupnost.
Jako funkce Preview můžete službu Azure Container Storage nakonfigurovat tak, aby používala Azure Elastic SAN. Tento článek popisuje, jak tuto konfiguraci provést. Na konci tohoto článku budete mít pod, který jako úložiště používá elastickou síť SAN.
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Tento článek vyžaduje nejnovější verzi Azure CLI (2.35.0 nebo novější). Přečtěte si , jak nainstalovat Azure CLI. Pokud používáte prostředí Bash v Azure Cloud Shellu, je už nainstalovaná nejnovější verze. Pokud chcete příkazy spouštět místně místo v Azure Cloud Shellu, nezapomeňte je spustit s oprávněními správce. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Budete potřebovat klienta
kubectl
příkazového řádku Kubernetes. Je už nainstalovaný, pokud používáte Azure Cloud Shell, nebo ho můžete nainstalovat místně spuštěnímaz aks install-cli
příkazu.Pokud jste ještě službu Azure Container Storage nenainstalovali, postupujte podle pokynů v tématu Použití služby Azure Container Storage se službou Azure Kubernetes Service.
Zkontrolujte, jestli je vaše cílová oblast podporovaná v oblastech Azure Container Storage.
Ujistěte se, že máte ve svém předplatném roli vlastníka služby Azure Container Storage nebo přispěvatele služby Azure Container Storage. Jedna z těchto rolí uděluje oprávnění, která umožňují službě Azure Container Storage komunikovat s prostředkem elastické sítě SAN. Pokud chcete tuto změnu provést, přejděte na stránku svého předplatného na webu Azure Portal. Vyberte Řízení přístupu (IAM) > Přidat přiřazení role a na kartě Role funkce úlohy vyhledejte buď Vlastník úložiště kontejnerů Azure, nebo Přispěvatel služby Azure Container Storage. Vyberte Zobrazit > přiřazení > Přidat přiřazení a přidejte svůj účet.
Pokud chcete použít Azure Container Storage s Azure Elastic SAN (Preview), cluster AKS musí mít fond uzlů alespoň tří virtuálních počítačů pro obecné účely, jako je standard_d4s_v5 pro uzly clusteru, z nichž každý musí mít minimálně čtyři virtuální procesory (vCPU).
Omezení
Následující funkce se v současné době nepodporují, když k nasazení a orchestraci elastické sítě SAN používáte službu Azure Container Storage.
- Snímky svazků
- Rozšíření fondu úložiště
Regionální dostupnost
Azure Container Storage je k dispozici pouze pro podmnožinu oblastí Azure:
- (Afrika) Jihoafrická republika – sever
- (Asie a Tichomoří) Austrálie – východ
- (Asie a Tichomoří) Východní Asie
- (Asie a Tichomoří) Japonsko – východ
- (Asie a Tichomoří) Korea – střed
- (Asie a Tichomoří) Jihovýchodní Asie
- (Asie a Tichomoří) Indie – střed
- (Evropa) Francie – střed
- (Evropa) Německo – středozápad
- (Evropa) Evropa – sever
- (Evropa) Evropa – západ
- (Europe) UK South
- (Evropa) Švédsko – střed
- (Evropa) Švýcarsko – sever
- (Střední východ) Spojené arabské emiráty – sever
- (Severní Amerika) USA – východ
- (Severní Amerika) USA – východ 2
- (Severní Amerika) USA – západ
- (Severní Amerika) USA – západ 2
- (Severní Amerika) USA – západ 3
- (Severní Amerika) USA – střed
- (Severní Amerika) USA – středosever
- (Severní Amerika) USA – středojihoji
- (Severní Amerika) USA – středozápad
- (Severní Amerika) Kanada – střed
- (Severní Amerika) Kanada – východ
- (Jižní Amerika) Brazílie – jih
Vytvoření a připojení trvalých svazků
Pomocí těchto kroků vytvořte a připojte trvalý svazek.
1. Vytvoření fondu úložiště
Nejprve vytvořte fond úložiště, což je logické seskupení úložiště pro cluster Kubernetes tím, že ho definujete v souboru manifestu YAML.
Pokud jste povolili službu Azure Container Storage pomocí az aks create
příkazů nebo az aks update
příkazů, možná už máte fond úložiště. Slouží kubectl get sp -n acstor
k získání seznamu fondů úložiště. Pokud už máte fond úložiště, který chcete použít, můžete tuto část přeskočit a přejít k zobrazení dostupných tříd úložiště.
Následujícím postupem vytvoříte fond úložiště pomocí azure Elastic SAN (Preview).
Pomocí oblíbeného textového editoru vytvořte soubor manifestu YAML, například
code acstor-storagepool.yaml
.Vložte následující kód. Hodnota názvu fondu úložiště může být libovolná. Upravte úložiště tak, aby odráželo požadovanou kapacitu úložiště v Gi nebo Ti, a uložte soubor. Azure Elastic SAN v současné době nepodporuje změnu velikosti fondů úložiště.
apiVersion: containerstorage.azure.com/v1 kind: StoragePool metadata: name: managed namespace: acstor spec: poolType: elasticSan: {} resources: requests: {"storage": 1Ti}
Pomocí souboru manifestu YAML vytvořte fond úložiště.
kubectl apply -f acstor-storagepool.yaml
Po dokončení vytváření fondu úložiště se zobrazí zpráva typu:
storagepool.containerstorage.azure.com/managed created
Můžete také spustit tento příkaz a zkontrolovat stav fondu úložiště. Nahraďte
<storage-pool-name>
hodnotou názvu fondu úložiště. V tomto příkladu by se hodnota spravovala.kubectl describe sp <storage-pool-name> -n acstor
Po vytvoření fondu úložiště vytvoří Azure Container Storage třídu úložiště vaším jménem pomocí zásad acstor-<storage-pool-name>
vytváření názvů . Vytvoří také prostředek Azure Elastic SAN.
2. Zobrazení dostupných tříd úložiště
Jakmile je fond úložiště připravený k použití, musíte vybrat třídu úložiště, která definuje, jak se úložiště dynamicky vytváří při vytváření trvalých deklarací identity svazků a nasazování trvalých svazků.
Spuštěním zobrazte kubectl get sc
dostupné třídy úložiště. Měla by se zobrazit třída úložiště s názvem acstor-<storage-pool-name>
.
Důležité
Nepoužívejte třídu úložiště, která je označená jako interní. Je to interní třída úložiště, která je potřebná pro fungování služby Azure Container Storage.
3. Vytvoření trvalé deklarace identity svazku
Deklarace trvalého svazku (PVC) se používá k automatickému zřizování úložiště na základě třídy úložiště. Pomocí těchto kroků vytvořte PVC pomocí nové třídy úložiště.
Pomocí oblíbeného textového editoru vytvořte soubor manifestu YAML, například
code acstor-pvc.yaml
.Vložte následující kód a soubor uložte. Hodnota PVC
name
může být cokoli, co chcete.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: managedpvc spec: accessModes: - ReadWriteOnce storageClassName: acstor-managed # replace with the name of your storage class if different resources: requests: storage: 100Gi
Pomocí souboru manifestu YAML vytvořte PVC.
kubectl apply -f acstor-pvc.yaml
Zobrazený výstup by měl vypadat přibližně takto:
persistentvolumeclaim/managedpvc created
Stav PVC můžete ověřit spuštěním následujícího příkazu:
kubectl describe pvc managedpvc
Po vytvoření PVC je připraven k použití podem.
4. Nasazení podu a připojení trvalého svazku
Vytvořte pod pomocí Fio (flexibilní V/V Tester) pro srovnávací testy a simulaci úloh a zadejte cestu připojení k trvalému svazku. V případě deklarace identity použijte hodnotu názvu , kterou jste použili při vytváření deklarace trvalého svazku.
Pomocí oblíbeného textového editoru vytvořte soubor manifestu YAML, například
code acstor-pod.yaml
.Vložte následující kód a soubor uložte.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: acstor.azure.com/io-engine: acstor volumes: - name: managedpv persistentVolumeClaim: claimName: managedpvc containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: managedpv
Nasaďte pod pomocí souboru manifestu YAML.
kubectl apply -f acstor-pod.yaml
Zobrazený výstup by měl vypadat přibližně takto:
pod/fiopod created
Zkontrolujte, že je pod spuštěný a že deklarace trvalého svazku byla úspěšně svázaná s podem:
kubectl describe pod fiopod kubectl describe pvc managedpvc
Zkontrolujte testování fio a podívejte se na aktuální stav:
kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
Teď jste nasadili pod, který jako úložiště používá elastickou síť SAN, a můžete ho použít pro úlohy Kubernetes.
Správa trvalých svazků a fondů úložiště
Teď, když jste vytvořili trvalý svazek, můžete ho podle potřeby odpojit a znovu připojit. Můžete také odstranit fond úložiště.
Odpojení a opětovné připojení trvalého svazku
Pokud chcete odpojit trvalý svazek, odstraňte pod, ke kterému je trvalý svazek připojený. Nahraďte <pod-name>
názvem podu, například fiopod.
kubectl delete pods <pod-name>
Pokud chcete trvalý svazek znovu připojit, jednoduše odkazujte na název deklarace identity trvalého svazku v souboru manifestu YAML, jak je popsáno v části Nasazení podu a připojte trvalý svazek.
Pokud chcete zkontrolovat, ke kterému trvalému svazku je vázána deklarace identity trvalého svazku, spusťte kubectl get pvc <persistent-volume-claim-name>
příkaz .
Odstranění fondu úložiště
Pokud chcete odstranit fond úložiště, spusťte následující příkaz. Nahraďte <storage-pool-name>
názvem fondu úložiště.
kubectl delete sp -n acstor <storage-pool-name>