Tento článek vám pomůže s řešením potíží souvisejících s úložištěm ve službě AKS Arc.
Konfigurace trvalých deklarací identity svazku způsobí chybu: Agent se nedá inicializovat. Chyba: mkdir /var/log/agent: oprávnění odepřeno
Tato chyba odepření oprávnění značí, že výchozí třída úložiště nemusí být vhodná pro vaše úlohy a vyskytuje se v linuxových úlohách spuštěných nad Kubernetes verze 1.19.x nebo novější. Podle osvědčených postupů zabezpečení určuje securityContext fsGroup
mnoho linuxových úloh nastavení podu. Úlohy se nepodaří spustit v AKS ve službě Azure Stack HCI, protože výchozí třída úložiště neurčuje fstype (=ext4)
parametr, takže Kubernetes nedokáže změnit vlastnictví souborů a trvalých svazků na fsGroup
základě požadavků úlohy.
Pokud chcete tento problém vyřešit, definujte vlastní třídu úložiště , kterou můžete použít ke zřízení FVE.
Pod rozhraní úložiště kontejnerů se zasekl ve stavu ContainerCreating
Vytvořil se nový cluster úloh Kubernetes s kubernetes verze 1.16.10 a pak se aktualizoval na verzi 1.16.15. Po aktualizaci csi-msk8scsi-node-9x47m
se pod zasekl ve stavu ContainerCreating a kube-proxy-qqnkr
pod se zasekl ve stavu Ukončování , jak je znázorněno ve výstupu níže:
Error: kubectl.exe get nodes
NAME STATUS ROLES AGE VERSION
moc-lf22jcmu045 Ready <none> 5h40m v1.16.15
moc-lqjzhhsuo42 Ready <none> 5h38m v1.16.15
moc-lwan4ro72he NotReady master 5h44m v1.16.15
\kubectl.exe get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
5h38m
kube-system csi-msk8scsi-node-9x47m 0/3 ContainerCreating 0 5h44m
kube-system kube-proxy-qqnkr 1/1 Terminating 0 5h44m
Vzhledem k tomu, že kubelet
skončil ve špatném stavu a už nemůže komunikovat se serverem ROZHRANÍ API, jediným řešením je restartovat kubelet
službu. Po restartování cluster přejde do spuštěného stavu.
Diskové úložiště naplněné protokoly výpisu stavu systému
Diskové úložiště je možné vyplnit z vytvořených protokolů výpisu stavu systému. Důvodem je klientský certifikát agenta Geneva, jehož platnost vypršela. Příznaky mohou být následující:
- Služby se nedaří spustit.
- Pody, nasazení atd. Kubernetes se nespustí kvůli nedostatku prostředků.
Důležité
Tento problém může ovlivnit všechny nové uzly clusteru pro správu Mariner a cílové uzly clusteru vytvořené po 18. dubnu 2023 ve verzích od dubna 2022 do března 2023. Problém je opravený ve verzi 2023-05-09 a novější.
Tento problém může mít vliv na jakoukoli operaci, která zahrnuje přidělení místa na disku nebo zápis nových souborů, takže jakákoli chyba "nedostatek místa na disku nebo prostředků" je dobrou nápovědou. Pokud chcete zkontrolovat, jestli k tomuto problému dochází na daném uzlu, spusťte následující příkaz prostředí:
clouduser@moc-lwm2oudnskl $ sudo du -h /var/lib/systemd/coredump/
Tento příkaz hlásí prostor úložiště spotřebovaný diagnostickými soubory.
Původní příčina
Vypršení platnosti klientského certifikátu použitého k ověření agenta Geneva na koncovém bodu služby způsobí chybové ukončení agenta, což způsobí výpis stavu systému. Smyčka selhání nebo opakování agenta je přibližně 5 sekund při počátečním spuštění a nedochází k žádnému vypršení časového limitu. To znamená, že v systému souborů uzlu se každých několik sekund vytvoří nový soubor (přibližně 330 MB), který může rychle využívat diskové úložiště.
Omezení rizik
Upřednostňovaným zmírněním rizik je upgrade na nejnovější verzi 1.10.18.10425 s aktualizovaným certifikátem. Uděláte to tak, že před aktualizací hostitele AKS-HCI nejprve ručně upgradujete clustery úloh na libovolnou podporovanou podverzi .
Pokud chcete získat další informace o verzích AKS Arc a všech nejnovějších novinkách AKS-HCI, přihlaste se k odběru stránky vydaných verzí AKS.
Pokud upgrade není možné, můžete službu mdsd vypnout. Pro každý uzel Mariner:
Vypněte agenta Geneva pomocí následujících příkazů prostředí:
sudo systemctl disable --now mdsd
Ověřte, že se agent Geneva úspěšně zakázal:
sudo systemctl status mdsd
Odstraňte kumulované soubory pomocí následujícího příkazu:
sudo find /var/lib/systemd/coredump/ -type f -mmin +1 -exec rm -f {} \; sudo find /run/systemd/propagate -name 'systemd-coredump@*' -delete sudo journalctl --rotate && sudo journalctl --vacuum-size=500M
Restartujte uzel:
sudo reboot
Pod úložiště se chybově ukončí a protokoly říkají, že parametr createSubDir je neplatný.
K chybě může dojít, pokud máte v nasazení nainstalovaný ovladač SMB nebo NFS CSI a upgradujete na květnový build ze starší verze. Jeden z parametrů s názvem createSubDir
se už nepřijímá. Pokud se to týká vašeho nasazení, vyřešte selhání třídy úložiště podle následujících pokynů.
Pokud dojde k této chybě, pod úložiště dojde k chybovému ukončení a protokoly indikují, že createSubDir
parametr je neplatný.
Znovu vytvořte třídu úložiště.
Při vytváření trvalého svazku se nezdaří pokus o připojení svazku.
Po odstranění trvalého svazku nebo deklarace identity trvalého svazku v prostředí AKS Arc se vytvoří nový trvalý svazek pro mapování na stejnou sdílenou složku. Při pokusu o připojení svazku se však připojení nezdaří a podu vyprší časový limit s chybou NewSmbGlobalMapping failed
.
Pokud chcete obejít selhání připojení nového svazku, můžete SSH do uzlu Windows spustit Remove-SMBGlobalMapping
a poskytnout sdílenou složku, která odpovídá svazku. Po spuštění tohoto příkazu by měly pokusy o připojení svazku proběhnout úspěšně.