Extensiones de clúster

Los gráficos de Helm le ayudan a administrar las aplicaciones de Kubernetes, ya que contienen los elementos necesarios para definir, instalar y actualizar las aplicaciones de Kubernetes, incluso las más complejas. La característica de extensiones de clúster se basa en los componentes de empaquetado de Helm, y proporciona una experiencia controlada por Azure Resource Manager para la instalación y la administración del ciclo de vida de distintas capacidades en la parte superior del clúster de Kubernetes.

Los operadores o administradores del clúster pueden usar esta característica para las siguientes tareas:

  • Instale y administre ofertas de administración de claves, datos y aplicaciones en el clúster de Kubernetes.
  • Usar Azure Policy para automatizar la implementación a gran escala de extensiones de clúster en todos los clústeres del entorno.
  • Suscríbase a los entrenamientos de versión (por ejemplo, versión preliminar o estable) para cada extensión.
  • Configure la actualización automática para las extensiones o haga el anclaje a una versión específica y actualice manualmente las versiones.
  • Actualice las propiedades de extensión o elimine instancias de extensión.

Para obtener una lista de todas las extensiones admitidas actualmente, consulte Extensiones disponibles para clústeres de Kubernetes habilitados para Azure Arc.

Architecture

Cluster extensions architecture

La instancia de una extensión de clúster se crea como un recurso de extensión de Azure Resource Manager (Microsoft.KubernetesConfiguration/extensions) encima del recurso de Kubernetes habilitado para Azure Arc (representado por Microsoft.Kubernetes/connectedClusters) en Azure Resource Manager. Esta representación en Azure Resource Manager permite crear una directiva que compruebe todos los recursos de Kubernetes habilitado para Azure Arc, tanto si tienen una extensión de clúster específica como si no. Una vez que ha determinado a qué clústeres les faltan extensiones de clúster con los valores de propiedad deseados, puede corregir estos recursos no compatibles mediante Azure Policy.

El componente config-agent que se ejecuta en el clúster supervisa los recursos de extensión nuevos y actualizados del recurso de Kubernetes con Azure Arc habilitado. El agente extensions-manager que se ejecuta en el clúster lee el tipo de extensión que debe instalarse y extrae el gráfico de Helm asociado de Azure Container Registry o Microsoft Container Registry y lo instala en el clúster.

Los componentes config-agent y extensions-manager que se ejecutan en el clúster administran las actualizaciones de instancias de extensión, las actualizaciones de versiones y la eliminación de las instancias de las extensiones. Estos agentes usan la identidad administrada asignada por el sistema del clúster para comunicarse de forma segura con los servicios de Azure.

Nota:

config-agent comprueba si hay instancias de extensión nuevas o actualizadas sobre el clúster de Kubernetes habilitado para Azure Arc. Los agentes requieren conectividad para arrastrar el estado deseado de la extensión al clúster. Si los agentes no pueden conectarse a Azure, se producirá un retraso en la propagación del estado deseado al clúster.

Los valores de configuración protegidos de una instancia de extensión se guardan durante un período de 48 horas como máximo en los servicios de Kubernetes habilitado para Azure Arc. Por tanto, si el clúster permanece desconectado durante las 48 horas siguientes a las que se creó el recurso de extensión en Azure, la extensión pasa de tener un estado Pending a tener un estado Failed. Para evitar esto, se recomienda conectar los clústeres con regularidad.

Importante

Actualmente, las extensiones de clúster de Kubernetes habilitadas para Azure Arc no se admiten en clústeres basados en ARM64, excepto Flux (GitOps). Para instalar y usar otras extensiones de clúster, el clúster debe tener al menos un nodo del sistema operativo y el tipo de arquitectura linux/amd64.

Ámbito de extensión

Cada tipo de extensión define el ámbito en el que operan en el clúster. Las instalaciones de extensión en el clúster de Kubernetes habilitado para Arc tienen ámbito de clúster o de espacio de nombres.

Una extensión con ámbito de clúster se instalará en el release-namespace especificado durante la creación de la extensión. Normalmente, solo se instala una instancia de la extensión con ámbito de clúster y sus componentes, como pods, operadores y definiciones de recursos personalizados (CRD), en el espacio de nombres de versión del clúster.

Una extensión con ámbito de espacio de nombres se puede instalar en un espacio de nombres determinado proporcionado mediante la propiedad –namespace. Puesto que la extensión se puede implementar en un ámbito de espacio de nombres, se pueden ejecutar varias instancias de la extensión con ámbito de espacio de nombres y sus componentes en el clúster. Cada instancia de extensión tiene permisos en el espacio de nombres en el que se implementa. Todas las extensiones anteriores tienen ámbito de clúster, excepto Event Grid en Kubernetes.

Todas las extensiones actualmente disponibles tienen ámbito de clúster, excepto Azure API Management en Azure Arc.

Pasos siguientes