Problemas conocidos del motor de AKS en Azure Stack Hub

En este artículo se describen los problemas conocidos del motor de AKS en Azure Stack Hub.

El secreto expirado para la entidad de servicio (SPN) hace que se produzca un error en el clúster.

  • Aplicable a: este problema se aplica a todas las versiones.

  • Descripción: cuando el secreto expire para el SPN, se producirá un error en el clúster. Esto afectará a todos los clústeres de Kubernetes que se implementaron mediante el motor de AKS. Cuando expire el secreto, el clúster no será funcional.

  • Corrección: para mitigar el problema, inicie sesión en cada nodo de Kubernetes para actualizar el archivo de configuración /etc/kubernetes/azure.json con un nuevo id. de aplicación de SPN y un secreto no expirado. Es posible que tenga que ponerse en contacto con el operador de nube de Azure Stack Hub para obtener un SPN y un secreto actual. Para obtener instrucciones, consulte Uso de una identidad de aplicación para acceder a recursos.

    1. Puede usar los siguientes comandos en los nodos de Linux:

      sudo sed -i s/f072c125-c99c-4781-9e85-246b981cd52b/094b1318-baea-4584-bf9c-4a40501ce21b/1 /etc/kubernetes/azure.json
      
    2. Reinicie el servicio kubelet con el siguiente comando:

      sudo systemctl restart kubelet
      

    También puede usar el SPN y el secreto con el modelo de API y forzar una actualización. Para obtener instrucciones, consulte Forzado de una actualización.

  • Repetición: Comunes

Certificados expirados para el elemento front-proxy

  • Aplicable a: este problema se aplica a todas las versiones.
  • Descripción: cuando el certificado expira, kubectl top, el servidor de métricas puede dejar de funcionar.
  • Corrección: deberá renovar el certificado. Puede encontrar los pasos descritos en Rotación de certificados de Kubernetes en Azure Stack Hub.
  • Repetición: Comunes

Límite de 50 nodos por suscripción

  • Aplicable a: Azure Stack Hub, motor de AKS (todo)
  • Descripción: al crear clústeres, debe asegurarse de que no haya más de 50 nodos de Kubernetes (plano de control y nodos de agente) implementados por suscripciones. El total de nodos de Kubernetes implementados en todos los clústeres de una sola suscripción no debe superar los 50 nodos.
  • Corrección: use menos de 51 nodos en la suscripción.
  • Repetición: al intentar agregar más de 50 nodos por suscripción.

No se puede cambiar el tamaño de las VM del clúster con el servicio de proceso

  • Aplicable a: Azure Stack Hub, motor de AKS (todo)
  • Descripción: cambiar el tamaño de las máquinas virtuales del clúster a través del servicio Compute no funciona con el motor de AKS. El motor de AKS mantiene el estado del clúster en el archivo JSON del modelo de API. Para asegurarse de que el tamaño de máquina virtual deseado se refleja en cualquier operación de creación, actualización o escalado que se realice con el motor de AKS, actualice el modelo de API antes de ejecutar cualquiera de esas operaciones. Por ejemplo, si cambia un tamaño de máquina virtual en un clúster ya implementado a un tamaño diferente mediante el servicio Compute, el estado se pierde cuando aks-engine upgrade se ejecuta.
  • Corrección: para que esto funcione, busque el modelo de API para el clúster, cambie el tamaño allí y, a continuación, ejecute aks-engine upgrade.
  • Repetición: al intentar cambiar el tamaño mediante el servicio de proceso.

Error en la operación de desasociación de disco en el motor de AKS 0.55.0

  • Aplicable a: Azure Stack Hub (actualización 2005), motor de AKS 0.55.0
  • Descripción: al intentar eliminar una implementación que contiene volúmenes persistentes, la operación de eliminación desencadena una serie de errores de asociación o desasociación. Este problema se debe a un error en el proveedor de nube del motor de AKS v0.55.0. El proveedor de nube llama a Azure Resource Manager mediante una versión de la API más reciente que la versión de Azure Resource Manager en Azure Stack Hub (actualización 2005) actualmente admite.
  • Corrección: para más información y pasos de mitigación, consulte el repositorio de GitHub del motor de AKS (problema 3817). Actualice tan pronto como haya disponible una nueva compilación del motor de AKS y la imagen correspondiente.
  • Repetición: al eliminar una implementación que contiene volúmenes persistentes.

Problemas de actualización del motor de AKS 0.51.0

  • Durante la actualización del motor de AKS de un clúster de Kubernetes de la versión 1.15.x a la 1.16.x, la actualización de los siguientes componentes de Kubernetes requiere pasos manuales adicionales: kube-proxy, azure-cni-networkmonitor, csi-secrets-store, kubernetes-dashboard. En la siguiente información se describe lo que puede ver y cómo solucionar los problemas.

    • En entornos conectados, este problema no es obvio, ya que no hay ningún signo en el clúster que los componentes afectados no se actualizaron. Todo parece funcionar según lo previsto.

      kubectl get pods -n kube-system
      
    • Como solución alternativa para resolver este problema para cada uno de estos componentes, ejecute el comando en la columna Solución alternativa de la tabla siguiente.

      Nombre de componente Solución alternativa Escenarios afectados
      kube-proxy kubectl delete ds kube-proxy -n kube-system Conectado, desconectado
      azure-cni-networkmonitor kubectl delete ds azure-cni-networkmonitor -n kube-system Conectado, desconectado
      csi-secrets-store sudo sed -i s/Always/IfNotPresent/g /etc/kubernetes/addons/secrets-store-csi-driver.yaml
      kubectl delete ds csi-secrets-store -n kube-system
      Escenario desconectado
      kubernetes-dashboard Ejecute el siguiente comando en cada nodo del plano de control:
      sudo sed -i s/Always/IfNotPresent/g /etc/kubernetes/addons/kubernetes-dashboard.yaml
      Escenario desconectado
  • No se admite Kubernetes 1.17 en esta versión. Aunque hay solicitudes de incorporación de cambios de GitHub que hacen referencia a la versión 1.17, esta no se admite.

El nodo de clúster pasa al estado "No listo" y k8s-kern.log contiene el mensaje "Memoria cgroup fuera de memoria"

  • Aplicable a: Azure Stack Hub, motor de AKS (todo)

  • Descripción: un nodo de clúster pasa al estado "No listo" y el archivo k8s-kern.log contiene el mensaje Memory cgroup out of memory. Este problema se aplica a todas las versiones del motor de AKS. Para comprobar si este problema se está produciendo en el sistema, busque en el archivo k8s-kern.log la cadena "Memory cgroup out of memory".

    Puede encontrar el archivo k8s-kern.log por:

    • Ejecución aks-engine get-logs y navegación a ${NODE_NAME}/var/log/k8s-kern.log, OR
    • Vaya a /var/log/kern.log en el sistema de archivos del nodo.
  • Corrección: en el caso de los nodos del plano de control, aumente el tamaño de la máquina virtual del perfil maestro. En el caso de los nodos del agente, aumente el tamaño de la máquina virtual del grupo de nodos o escale verticalmente el grupo de nodos. Para escalar verticalmente el grupo de nodos, ejecute el comando documentado scale y siga las instrucciones.

    Para aumentar el tamaño de una máquina virtual del grupo, actualice el modelo de API y ejecute aks-engine upgrade. Todas las máquinas virtuales se eliminan y se vuelven a crear con el nuevo tamaño de máquina virtual.

  • Repetición: cuando la memoria requerida o consumida por el nodo de clúster supera la memoria disponible.

Pasos siguientes

Introducción al motor de AKS en Azure Stack Hub