Ověření připojení k registru kontejneru

Tento článek je součástí série článků. Začněte přehledem.

K úspěšnému nasazení kontejnerizovaných aplikací v clusteru Azure Kubernetes Service (AKS) je nezbytné ověřit připojení mezi clusterem a registrem kontejneru. Tento krok zaručuje, že pracovní uzly mají potřebná oprávnění k vyžádání požadovaných imagí kontejneru z registru.

Identifikace příznaků

Když kubelet, který běží na uzlu agenta, vytvoří kontejnery pro pod, jeden nebo více kontejnerů může kvůli chybě skončit ve stavu ImagePullBackOff čekání. ImagePullBackoff je běžná chybová zpráva v Kubernetes, která indikuje selhání načtení požadované image kontejneru z veřejného nebo privátního registru. Tato chyba může způsobit různé faktory, včetně problémů s připojením k síti, nesprávného názvu nebo značky image, nedostatečných oprávnění nebo chybějících přihlašovacích údajů.

Část BackOff stavu označuje, že Se Kubernetes neustále pokouší načíst image se zvyšujícím zpožděním mezi každým dalším pokusem. Zpoždění se postupně zvyšuje, dokud nedosáhne předem určeného limitu, což je obvykle nastavené na 300 sekund (5 minut) v Kubernetes.

Je důležité pečlivě zkontrolovat přesnost názvu registru a image. Kromě toho se ujistěte, že váš cluster AKS má potřebná oprávnění k vyžádání imagí z příslušného registru kontejneru.

Přiřazení rolí

Když připojíte registr kontejneru k existujícímu clusteru AKS, role AcrPull se automaticky přiřadí registru ke spravované identitě Microsoft Entra, která je přidružená k fondům agentů ve vašem clusteru AKS. Další informace najdete v tématu Ověřování ve službě Container Registry z AKS.

Spuštěním následujícího příkazu načtěte spravovanou identitu kubeletu clusteru Kubernetes a jeho aktuální přiřazení rolí:

# Get the kubelet managed identity.
ASSIGNEE=$(az aks show -g $RESOURCE_GROUP -n $NAME --query identityProfile.kubeletidentity.clientId -o tsv)
az role assignment list --assignee $ASSIGNEE --all -o table

Spuštěním následujícího příkazu přiřaďte AcrPull roli spravované identitě kubelet:

AZURE_CONTAINER_REGISTRY_ID=$(az acr show --name <container-registry-name> --query id --output tsv)
az role assignment create --assignee $ASSIGNEE --scope $AZURE_CONTAINER_REGISTRY_ID --role acrpull

Řešení potíží se službou Container Registry

Následující části obsahují příručky, na které můžete odkazovat, pokud v registru kontejneru Azure narazíte na problémy se sítí, přihlášením nebo výkonem.

Řešení potíží se sítí

Pokud narazíte na problémy související s přístupem k registru kontejneru Azure ve virtuální síti nebo za bránou firewall nebo proxy serverem, zvažte následující řešení:

Řešení potíží s přihlášením

Pokud při přihlašování k registru kontejnerů Azure narazíte na problémy s ověřováním a autorizací, zvažte následující řešení:

Řešení potíží s výkonem

Pokud u registru kontejneru Azure narazíte na problémy s výkonem, zvažte následující řešení:

Tyto příručky vám můžou pomoct zajistit bezproblémové načítání imagí pro cluster AKS a zajistit hladký provoz úloh.

Integrace registru kontejneru třetí strany

Pokud používáte registr kontejneru třetí strany, musíte vytvořit odpovídající ImagePullSecret přihlašovací údaje pro registr, aby váš cluster AKS mohl bezpečně přistupovat k imagím kontejneru. Další informace najdete v tématu Vytvoření tajného kódu pro vyžádání image. Ujistěte se, že jste nastavili správná oprávnění a přihlašovací údaje, abyste mohli ověřit připojení k registru kontejneru a umožnit clusteru AKS úspěšně vyžádat požadované image kontejneru během nasazení. Tento osvědčený postup pomáhá zajistit hladké a spolehlivé spouštění kontejnerizovaných úloh v Kubernetes.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autoři:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky