Compruebe la conexión al registro de contenedor.

Este artículo forma parte de una serie. Comience con la información general.

Para implementar correctamente aplicaciones en contenedor en el clúster de Azure Kubernetes Service (AKS), es esencial comprobar la conectividad entre el clúster y el registro de contenedor. Este paso garantiza que los nodos de trabajo tienen los permisos necesarios para extraer las imágenes de contenedor necesarias del registro.

Identificación de síntomas

Cuando se ejecuta el kubelet en un nodo agente para crear los contenedores de un pod, uno o varios contenedores pueden acabar en estado de espera debido al errorImagePullBackOff. ImagePullBackoff es un mensaje de error común en Kubernetes que indica un error al extraer la imagen de contenedor necesaria de un registro público o privado. Varios factores pueden provocar este error, incluidos los problemas de conectividad de red, un nombre o etiqueta de imagen incorrectos, permisos insuficientes o credenciales que faltan.

La parte BackOff del estado indica que Kubernetes intenta extraer continuamente la imagen con un retraso creciente entre cada intento posterior. El retraso aumenta gradualmente hasta que alcanza un límite predeterminado, que normalmente se establece en 300 segundos (5 minutos) en Kubernetes.

Es importante comprobar el registro y el nombre de la imagen para obtener precisión. Además, asegúrese de que el clúster de AKS tiene los permisos necesarios para extraer imágenes del registro de contenedor adecuado.

Asignaciones de roles

Al adjuntar un registro de contenedor a un clúster de AKS existente, el Rol AcrPull se asigna automáticamente a través del registro a la identidad administrada de Microsoft Entra asociada a los grupos de agentes del clúster de AKS. Para obtener más información, consulte Autenticación con Container Registry desde AKS.

Ejecute el siguiente comando para recuperar la identidad administrada kubelet de un clúster Kubernetes y sus asignaciones de roles actuales:

# 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

Ejecute el siguiente comando para asignar el rol AcrPull a la identidad administrada de 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

Solución de problemas de Container Registry

En las secciones siguientes se proporcionan guías a las que puede hacer referencia si encuentra problemas de red, inicio de sesión o rendimiento con un registro de contenedor de Azure.

Solución de problemas de red

Si tiene problemas relacionados con el acceso a un registro de contenedor de Azure en una red virtual o detrás de un firewall o servidor proxy, tenga en cuenta las siguientes soluciones:

Solución de problemas con el inicio de sesión

Si encuentra problemas de autenticación y autorización al iniciar sesión en un registro de contenedor de Azure, tenga en cuenta las siguientes soluciones:

Solución de problemas de rendimiento

Si tiene problemas de rendimiento con un registro de contenedor de Azure, tenga en cuenta las siguientes soluciones:

Estas guías pueden ayudarle a garantizar una recuperación de imágenes sin problemas para el clúster de AKS y garantizar un funcionamiento sin problemas de las cargas de trabajo.

Integración de un registro de contenedor de terceros

Al usar un registro de contenedor de terceros, debe crear las credenciales adecuadas ImagePullSecret del registro para que el clúster de AKS pueda acceder de forma segura a las imágenes de contenedor. Para más información, consulte Creación de un secreto de extracción de imágenes. Asegúrese de configurar los permisos y las credenciales correctos para que pueda comprobar la conexión al registro de contenedor y permitir que el clúster de AKS extraiga correctamente las imágenes de contenedor necesarias durante las implementaciones. Este procedimiento recomendado ayuda a garantizar una ejecución fluida y confiable de las cargas de trabajo en contenedor en Kubernetes.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Creadores de entidad de seguridad:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes