Použití služby Azure Container Storage Ve verzi Preview s dočasným SSD
Azure Container Storage je cloudová služba pro správu svazků, nasazení a orchestraci sestavená nativně pro kontejnery. V tomto článku se dozvíte, jak nakonfigurovat Službu Azure Container Storage tak, aby používala dočasný disk s dočasným SSD jako back-endovým úložištěm pro vaše úlohy Kubernetes. Na konci budete mít pod, který jako úložiště používá dočasné SSD.
Co je dočasný disk?
Pokud vaše aplikace potřebuje latenci úložiště v milisekundách a nevyžaduje stálost dat, můžete pomocí dočasného disku se službou Azure Container Storage splnit vaše požadavky na výkon. Dočasné znamená, že disky se nasadí na místní virtuální počítač, který je hostitelem clusteru AKS, a neuloží se do služby Úložiště Azure. Pokud virtuální počítač zastavíte nebo uvolníte, dojde ke ztrátě dat na těchto discích.
K dispozici jsou dva typy dočasného disku: NVMe a dočasné SSD. NVMe je navržený pro vysokorychlostní přenos dat mezi úložištěm a procesorem. Zvolte NVMe, pokud vaše aplikace vyžaduje vyšší IOPS a propustnost než dočasné SSD, nebo pokud vaše úloha vyžaduje replikaci. Replikace se v současné době nepodporuje pro dočasné SSD.
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.
Zvolte typ virtuálního počítače, který podporuje dočasné SSD.
Dočasný disk je k dispozici pouze v určitých typech virtuálních počítačů. Pokud máte v úmyslu používat dočasný disk s dočasným SSD, vyžaduje se virtuální počítač Ev3 a Esv3-series.
Spuštěním následujícího příkazu získáte typ virtuálního počítače, který se používá s fondem uzlů.
az aks nodepool list --resource-group <resource group> --cluster-name <cluster name> --query "[].{PoolName:name, VmSize:vmSize}" -o table
Následuje příklad výstupu.
PoolName VmSize
---------- ---------------
nodepool1 standard_l8s_v3
Doporučujeme, aby každý virtuální počítač měl minimálně čtyři virtuální procesory (vCPU) a každý fond uzlů má aspoň tři uzly.
Vytvoření a připojení obecných dočasných svazků
Pomocí těchto kroků vytvořte a připojte obecný dočasný 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ě.
Pomocí následujícího postupu vytvořte fond úložiště pomocí dočasného ssd.
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 a soubor uložte. Hodnota názvu fondu úložiště může být libovolná.
apiVersion: containerstorage.azure.com/v1 kind: StoragePool metadata: name: ephemeraldisk-temp namespace: acstor spec: poolType: ephemeralDisk: diskType: temp
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/ephemeraldisk-temp 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 hodnota byla dočasného disku-temp.kubectl describe sp <storage-pool-name> -n acstor
Po vytvoření fondu úložiště vytvoří Služba Azure Container Storage za vás třídu úložiště pomocí konvence acstor-<storage-pool-name>
vytváření názvů .
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>
.
$ kubectl get sc | grep "^acstor-"
acstor-azuredisk-internal disk.csi.azure.com Retain WaitForFirstConsumer true 65m
acstor-ephemeraldisk-temp containerstorage.csi.azure.com Delete WaitForFirstConsumer true 2m27s
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. Nasazení podu s obecným dočasným svazkem
Vytvořte pod pomocí Fio (flexibilní V/V Tester) pro srovnávací testy a simulaci úloh, který používá obecný dočasný svazek.
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 containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: ephemeralvolume volumes: - name: ephemeralvolume ephemeral: volumeClaimTemplate: metadata: labels: type: my-ephemeral-volume spec: accessModes: [ "ReadWriteOnce" ] storageClassName: acstor-ephemeraldisk-temp # replace with the name of your storage class if different resources: requests: storage: 1Gi
Když změníte velikost úložiště svazků, ujistěte se, že je velikost menší než dostupná kapacita dočasného disku s jedním uzlem. Viz Kontrola dočasné kapacity disku uzlu.
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, jestli je pod spuštěný a že se k podu úspěšně vázala dočasné deklarace svazku:
kubectl describe pod fiopod kubectl describe pvc fiopod-ephemeralvolume
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á dočasné SSD, a můžete ho použít pro úlohy Kubernetes.
Správa svazků a fondů úložiště
V této části se dozvíte, jak zkontrolovat dostupnou kapacitu dočasného disku pro jeden uzel a jak rozbalit nebo odstranit fond úložiště.
Kontrola dočasné kapacity disku uzlu
Dočasný svazek je přidělen na jednom uzlu. Při konfiguraci velikosti dočasných svazků by velikost měla být menší než dostupná kapacita dočasného disku s jedním uzlem.
Spuštěním následujícího příkazu zkontrolujte dostupnou kapacitu dočasného disku pro jeden uzel.
$ kubectl get diskpool -n acstor
NAME CAPACITY AVAILABLE USED RESERVED READY AGE
ephemeraldisk-temp-diskpool-jaxwb 75660001280 75031990272 628011008 560902144 True 21h
ephemeraldisk-temp-diskpool-wzixx 75660001280 75031990272 628011008 560902144 True 21h
ephemeraldisk-temp-diskpool-xbtlj 75660001280 75031990272 628011008 560902144 True 21h
V tomto příkladu je dostupná kapacita dočasného disku pro jeden uzel 75031990272
bajty nebo 69 GiB.
Rozšíření fondu úložiště
Fondy úložiště zálohované dočasným SSD můžete rozšířit, abyste mohli rychle a bez výpadků vertikálně navýšit kapacitu. Zmenšení fondů úložiště se v současné době nepodporuje.
Vzhledem k tomu, že fond úložiště zálohovaný dočasným diskem používá prostředky místního úložiště na uzlech clusteru AKS, rozšíření fondu úložiště vyžaduje přidání dalšího uzlu do clusteru. Podle těchto pokynů rozbalte fond úložiště.
Spuštěním následujícího příkazu přidejte uzel do clusteru AKS. Nahraďte
<cluster-name>
,<nodepool name>
a<resource-group-name>
svými vlastními hodnotami. Pokud chcete získat název fondu uzlů, spusťtekubectl get nodes
příkaz .az aks nodepool add --cluster-name <cluster name> --name <nodepool name> --resource-group <resource group> --node-vm-size Standard_L8s_v3 --node-count 1 --labels acstor.azure.com/io-engine=acstor
Spusťte
kubectl get nodes
a uvidíte, že se uzel přidal do clusteru.Spusťte
kubectl get sp -A
a měli byste vidět, že se kapacita fondu úložiště zvýšila.
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>
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro