Ř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 create
se 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
, ephemeraldisk
nebo 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 acstor
pří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 acstor
můž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 all
existují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-ephemeralvolume
svazku .
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é
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