Compartir a través de


Solución de problemas comunes de Azure Linux Container Host para AKS

En este artículo se proporcionan pasos de solución de problemas para algunos de los problemas que se notifican habitualmente que puede experimentar al usar hosts de contenedor linux de Azure en Azure Kubernetes Service (AKS). Para más información sobre cómo empezar a usar hosts de contenedor linux de Azure en AKS, consulte Uso de Azure Linux con AKS.

Antes de empezar

Lea la guía oficial para solucionar problemas de clústeres de Kubernetes. Además, lea la guía del ingeniero de Microsoft para solucionar problemas de Kubernetes. Esta guía contiene comandos para solucionar problemas de pods, nodos, clústeres y otras características.

Por último, revise la lista de limitaciones conocidas en Azure Linux. Un problema en el que está intentando resolver podría ser uno en el que ya estamos trabajando.

Requisitos previos

  • CLI de Azure, versión 2.31 o posterior. Si la CLI de Azure ya está instalada, puede encontrar el número de versión ejecutando az --version.

Acerca del host de contenedor de Linux en Azure para AKS

Azure Linux es una distribución de Linux de código abierto creada por Microsoft. Como sistema operativo ligero, Azure Linux tiene las siguientes características:

  • Contiene solo los paquetes necesarios para ejecutar cargas de trabajo de contenedor.
  • Somete a pruebas de validación de Azure
  • Es compatible con agentes de Azure

Azure Linux Container Host for AKS es una imagen de sistema operativo para AKS que está optimizada para ejecutar cargas de trabajo de contenedor. Microsoft mantiene y se basa en Azure Linux. Proporciona confiabilidad y coherencia desde la nube hasta el perímetro en los productos AKS, AKS en Azure Stack HCI y Azure Arc. Puede usar hosts de contenedor de Linux de Azure para realizar los siguientes procesos:

  • Implemente grupos de nodos de Linux de Azure en un nuevo clúster.
  • Agregue grupos de nodos de Linux de Azure a los clústeres de Ubuntu existentes.
  • Migre los nodos de Ubuntu a los nodos de Linux de Azure.

Para más información sobre Azure Linux, consulte el repositorio de GitHub de Azure Linux .

Lista de comprobación de solución de problemas

Paso 1: Revisión de comandos equivalentes en Ubuntu y Azure Linux

La mayoría de los comandos del sistema operativo Linux de Azure, como el comando estado del proceso (ps), se asemejan a los comandos que se usan en Ubuntu. Sin embargo, la administración de paquetes se realiza mediante el comando Tiny DNF (tdnf). En la tabla siguiente se enumeran algunos comandos comunes en Ubuntu y sus equivalentes en Azure Linux.

Comando ubuntu Comando de Azure Linux sugerido
apt -- list installed rpm -qa
apt autoclean tdnf clean all
apt autoremove dnf autoremove
apt dist-upgrade dnf distro-sync
apt download tdnf download
apt install tdnf install
apt install --reinstall tdnf reinstall
apt list - upgradable dnf list updates
apt remove tdnf remove
apt search tdnf search
apt show tdnf list
apt upgrade tdnf upgrade
apt cache dump tdnf list available
apt-cache dumpavail tdnf list available
apt-cache policy tdnf list
apt-cache rdepends dnf repoquery -- alldeps - whatrequires
apt-cache search tdnf search
apt-cache show tdnf info
apt-cache stats (sin equivalente exacto; lea el Archivo de paquetes en la carpeta /var/lib/rpm )
apt-config shell dnf shell
apt-file list dnf repoquery -l
apt-file search tdnf provides
apt-get autoremove dnf autoremove
apt-get install tdnf install
apt-get remove tdnf remove
apt-get update dnf clean expire-cache dnf check-update
apt-mark auto tdnf install dnf mark remove
apt-mark manual dnf mark install
apt-mark showmanual dnf history userinstalled

Paso 2: Comprobación de la versión de Linux de Azure

Asegúrese de que usa la versión correcta de Azure Linux. La versión compatible de Azure Linux para su consumo es Azure Linux 2.0. En la salida del siguiente comando az aks nodepool list , la osSKU propiedad debe leer AzureLinux.

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>

Aunque es posible que este comando no solucione el problema que experimenta, el control de versiones es un problema común para los usuarios que informan de que los agentes o extensiones no funcionan correctamente en Azure Linux.

Paso 3: Descripción de la diferencia en las rutas de acceso de archivos de certificado

Azure Linux (y otras distribuciones rpm) almacenan certificados de forma diferente de Ubuntu.

En Azure Linux, la ruta de acceso /etc/ssl/certs es un vínculo simbólico a /etc/pki/tls/certs. Si un contenedor espera asignar /etc/ssl/certs para usar el archivo de certificado ca-certificates.crt en Azure Linux, el contenedor obtiene un vínculo simbólico que apunta a ninguna parte. Este comportamiento provoca errores relacionados con el certificado en el contenedor. El contenedor también tiene que asignar /etc/pki para que el contenedor pueda seguir la cadena de vínculos simbólicos. Si el contenedor tiene que funcionar en hosts ubuntu y Linux de Azure, puede asignar /etc/pki mediante el DirectoryOrCreate tipo de un volumen hostPath.

Paso 4: Actualización de la CLI de Azure y la extensión de versión preliminar de AKS

Si intenta implementar un clúster de AKS de Linux de Azure mediante la CLI de Azure, es posible que reciba un mensaje de error que indique que la AzureLinux opción no es compatible con el OSSku parámetro . Este mensaje significa que podría usar una versión obsoleta de la CLI de Azure o la extensión de versión preliminar de AKS. Para corregir este problema, realice una o ambas de las dos acciones siguientes:

  • Si la CLI de Azure no está actualizada, instale la versión más reciente. Para actualizar la CLI de Azure, ejecute el siguiente comando az upgrade :

    az upgrade
    
  • Si tiene instalada una versión anterior de la aks-preview extensión, instale una versión más reciente para que el OSSku parámetro tenga un valor de AzureLinux. Para actualizar la extensión, ejecute el siguiente comando az extension update :

    az extension update --name aks-preview
    

Aviso de declinación de responsabilidades sobre la información de terceros

Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.

Aviso de declinación de responsabilidades sobre la información de contacto de terceros

Microsoft proporciona información de contacto de otros proveedores para ayudarle a encontrar información adicional sobre este tema. Esta información de contacto puede cambiar sin previo aviso. Microsoft no garantiza la precisión de esta información de contacto de terceros.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.