Sdílet prostřednictvím


Řešení potíží se službou Azure Container Storage ve verzi Preview

Azure Container Storage je cloudová služba pro správu svazků, nasazení a orchestraci sestavená nativně pro kontejnery. Tento článek vám pomůže vyřešit běžné problémy se službou Azure Container Storage a najít řešení problémů.

Řešení problémů s instalací

Azure Container Storage se nedaří nainstalovat

Po spuštění az aks createse může zobrazit zpráva , že se službě Azure Container Storage nepodařilo nainstalovat. Vytvoří se cluster AKS. Spusťte az aks update společně se službou --enable-azure-container-storage Azure Container Storage.

Tato zpráva znamená, že služba Azure Container Storage nebyla nainstalována, ale váš cluster AKS byl vytvořen správně.

Pokud chcete do clusteru nainstalovat Službu Azure Container Storage a vytvořit fond úložiště, spusťte následující příkaz. Nahraďte <cluster-name> a <resource-group> nahraďte vlastními hodnotami. Nahradit <storage-pool-type> čím azureDisk, ephemeraldisknebo elasticSan.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>

Nejde nastavit typ fondu úložiště na NVMe

Pokud se pokusíte nainstalovat Službu Azure Container Storage s dočasným diskem, konkrétně s místním nvMe v clusteru, kde skladová položka virtuálního počítače nemá jednotky NVMe, zobrazí se následující chybová zpráva: Nejde nastavit parametr --storage-pool-option jako NVMe jako žádný z fondů uzlů nemůže podporovat dočasný disk NVMe.

Pokud chcete provést nápravu, vytvořte fond uzlů s skladovou jednotkou virtuálního počítače, která obsahuje jednotky NVMe, a zkuste to znovu. Viz virtuální počítače optimalizované pro úložiště.

Řešení potíží s fondem úložiště

Pokud chcete zkontrolovat stav fondů úložiště, spusťte kubectl describe sp <storage-pool-name> -n acstorpříkaz . Tady jsou některé problémy, se kterými se můžete setkat.

Selhání vytvoření elastické sítě SAN

Pokud se pokoušíte vytvořit fond úložiště Elastic SAN, může se zobrazit zpráva , že vytvoření elastické sítě SAN azure selhalo: Maximální možný počet elastických san pro předplatné, které jste už vytvořili. To znamená, že jste dosáhli limitu počtu prostředků elastické sítě SAN, které je možné nasadit v oblasti pro každé předplatné. Omezení můžete zkontrolovat tady: Škálovatelnost a výkonnostní cíle elastické sítě SAN. Zvažte odstranění existujících prostředků elastické sítě SAN v předplatném, které se už nepoužívají, nebo zkuste vytvořit fond úložiště v jiné oblasti.

Nenašla se žádná bloková zařízení.

Pokud se zobrazí tato zpráva, pravděpodobně se pokoušíte vytvořit dočasný fond úložiště disků v clusteru, ve kterém skladová položka virtuálního počítače nemá jednotky NVMe.

Pokud chcete provést nápravu, vytvořte fond uzlů s skladovou jednotkou virtuálního počítače, která obsahuje jednotky NVMe, a zkuste to znovu. Viz virtuální počítače optimalizované pro úložiště.

Typ fondu úložiště už je povolený.

Pokud se pokusíte povolit typ fondu úložiště, který už je povolený, zobrazí se následující zpráva: Neplatná --enable-azure-container-storage hodnota. Služba Azure Container Storage už je v clusteru povolená pro typ <storage-pool-type> fondu úložiště. Spuštěním příkazu kubectl get sp -n acstormůžete zkontrolovat, jestli máte nějaké existující fondy úložiště vytvořené.

Zakázání typu fondu úložiště

Pokud existuje existující fond úložiště tohoto typu, zobrazí se při zakázání typu fondu úložiště nebo az aks update --disable-azure-container-storage <storage-pool-type> odinstalace služby Azure Container Storage prostřednictvím az aks update --disable-azure-container-storage allexistujícího fondu úložiště tohoto typu následující zpráva:

Zakázání služby Azure Container Storage pro typ <storage-pool-type> fondu úložiště vynutí vynuceně odstranit všechny fondy úložiště stejného typu a ovlivní aplikace používající tyto fondy úložiště. Vynucené odstranění fondů úložiště může také vést k úniku prostředků úložiště, které se spotřebovávají. Chcete před zakázáním služby Azure Container Storage ověřit, jestli se některý z fondů úložiště typu <storage-pool-type> používá? (Y/n)

Pokud vyberete Y, spustí se automatické ověření, aby se zajistilo, že ve fondu úložiště nejsou vytvořené žádné trvalé svazky. Výběrem možnosti n projdete tímto ověřením a zakážete typ fondu úložiště, odstraníte všechny existující fondy úložiště a potenciálně ovlivní vaši aplikaci.

Nejde odstranit skupinu prostředků obsahující cluster AKS

Pokud jste vytvořili fond úložiště Elastic SAN, možná nebudete moct odstranit skupinu prostředků, ve které se nachází váš cluster AKS.

Pokud chcete tento problém vyřešit, přihlaste se k webu Azure Portal a vyberte skupiny prostředků. Vyhledejte skupinu prostředků vytvořenou službou AKS (název skupiny prostředků začíná MC_). Vyberte objekt prostředku SÍTĚ SAN v rámci této skupiny prostředků. Ručně odeberte všechny svazky a skupiny svazků. Potom zkuste znovu odstranit skupinu prostředků, která obsahuje váš cluster AKS.

Řešení potíží s trvalým svazkem

Nejde vytvořit trvalé svazky z dočasných fondů diskových úložišť

Vzhledem k tomu, že dočasné disky (místní NVMe a dočasné SSD) jsou dočasné a nejsou odolné, vynucujeme použití obecných dočasných svazků Kubernetes. Pokud se pokusíte vytvořit trvalou deklaraci identity svazku pomocí dočasného fondu disků, zobrazí se následující chyba: Chyba ze serveru (Zakázáno): Chyba při vytváření souboru eph-pvc.yaml: přístupový webhook "pvc.acstor.azure.com" zamítl požadavek: V nespolehlivých dočasných fondech disku jsou povoleny pouze obecné dočasné svazky.

Pokud potřebujete trvalý svazek, kde má svazek životní cyklus nezávislý na každém jednotlivém podu, který tento svazek používá, azure Container Storage podporuje replikaci pro NVMe. Můžete vytvořit fond úložiště s replikací a vytvořit trvalé svazky odtud. Pokyny najdete v tématu Vytvoření fondu úložiště s replikací svazků . Mějte na paměti, že protože dočasné diskové fondy využívají všechny dostupné disky NVMe, musíte před vytvořením nového fondu úložiště úložiště s povolenou replikací odstranit všechny existující dočasné diskové fondy. Pokud nepotřebujete trvalost, můžete vytvořit obecný dočasný svazek.

Nevyřízené vytvoření podu kvůli dočasné velikosti svazku nad dostupnou kapacitou

Dočasný svazek je přidělen na jednom uzlu. Při konfiguraci velikosti dočasných svazků pro pody by velikost měla být menší než dostupná kapacita dočasného disku jednoho uzlu. V opačném případě bude vytvoření podu ve stavu čekání na vyřízení.

Pomocí následujícího příkazu zkontrolujte, jestli je vytvoření podu ve stavu čekání na vyřízení.

$ kubectl get pods
NAME     READY   STATUS    RESTARTS   AGE
fiopod   0/1     Pending   0          17s

V tomto příkladu je pod fiopod ve Pending stavu.

Pomocí následujícího příkazu zkontrolujte, jestli má pod událost upozornění pro trvalé vytvoření souboruvolumeclaim.

$ kubectl describe pod fiopod
...
Events:
  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  40s   default-scheduler  0/3 nodes are available: waiting for ephemeral volume controller to create the persistentvolumeclaim "fiopod-ephemeralvolume". preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling..

V tomto příkladu pod zobrazí událost upozornění při vytváření trvalé deklarace identity fiopod-ephemeralvolumesvazku .

Pomocí následujícího příkazu zkontrolujte, jestli se deklarace identity trvalého svazku kvůli nedostatečné kapacitě nezřídí.

$ kubectl describe pvc fiopod-ephemeralvolume
...
  Warning  ProvisioningFailed    107s (x13 over 20m)  containerstorage.csi.azure.com_aks-nodepool1-29463073-vmss000000_7f5bd88d-be76-40d2-a59e-e51ce000e35e  failed to provision volume with StorageClass "acstor-ephemeraldisk-temp": rpc error: code = Internal desc = Operation failed: GenericOperation("error in response: status code '507 Insufficient Storage', content: 'RestJsonError { details: \"Operation failed due to insufficient resources: Not enough suitable pools available, 0/1\", message: \"SvcError :: NotEnoughResources\", kind: ResourceExhausted }'")

V tomto příkladu Insufficient Storage se zobrazuje jako důvod selhání zřizování svazků.

Spuštěním následujícího příkazu zkontrolujte dostupnou kapacitu dočasného disku jednoho uzlu.

$ 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.

Upravte velikost úložiště svazku pod dostupnou kapacitou a znovu nasaďte pod. Viz Nasazení podu s obecným dočasným svazkem.

Viz také