Compartir vía


¿Qué es Azure Container Storage?

Azure Container Storage es un servicio de administración, implementación y orquestación de volúmenes basado en la nube creado de forma nativa para contenedores. Se integra con Kubernetes, lo que le permite aprovisionar volúmenes persistentes de forma dinámica y automática para almacenar datos para aplicaciones con estado que se ejecutan en clústeres de Kubernetes.

Importante

Almacenamiento de contenedores de Azure no está disponible en todas las regiones de Azure. Consulte disponibilidad general. Almacenamiento de contenedores de Azure ya está disponible con carácter general a partir de la versión 1.1.0. Se recomienda la versión de disponibilidad general para usarse en cargas de trabajo de producción. Si instaló previamente la versión preliminar de Almacenamiento de contenedores de Azure y no tiene habilitada la actualización automática, asegúrese de actualizar a la versión de disponibilidad general.

Para empezar a usar Azure Container Storage, consulte el Uso de Azure Container Storage con Azure Kubernetes Service o vea el vídeo.

En este vídeo se proporciona una introducción a Azure Container Storage, un servicio de administración y orquestación de almacenamiento de un extremo a otro para aplicaciones con estado. Aprenda a optimizar el rendimiento de las cargas de trabajo con estado en Azure Kubernetes Service (AKS) para escalar de forma eficaz entre los servicios de almacenamiento, a la vez que proporciona una experiencia nativa de contenedor rentable.

Tipos de almacenamiento compatibles

Azure Container Storage utiliza ofertas de Azure Storage existentes para el almacenamiento de datos real y ofrece una solución de orquestación y administración de volúmenes creada específicamente para contenedores. Puede elegir cualquiera de las opciones de almacenamiento de respaldo admitidas para crear un grupo de almacenamiento para los volúmenes persistentes.

Azure Container Storage ofrece compatibilidad con volúmenes persistentes con el modo de acceso ReadWriteOnce a los clústeres de Azure Kubernetes Service (AKS)basados en Linux. Entre las opciones de almacenamiento de respaldo admitidas solo se incluyen ofertas de almacenamiento en bloques: Discos de Azure, discos efímeros (NVMe local o SSD temporal) y Azure Elastic SAN (versión preliminar). En la tabla siguiente se resumen los tipos de almacenamiento admitidos, las cargas de trabajo recomendadas y los modelos de aprovisionamiento.

Tipo de almacenamiento Descripción Cargas de trabajo Ofertas Modelo de aprovisionamiento
Azure Elastic SAN (Versión preliminar) Aprovisionar a petición, recurso totalmente administrado Bases de datos de uso general, servicios de streaming y mensajería, entornos CD/CI y otras cargas de trabajo de nivel 1/2. Azure Elastic SAN Aprovisionado a petición por volumen e instantánea de volumen creados. Varios clústeres pueden acceder simultáneamente a una sola SAN, pero los volúmenes persistentes solo se pueden adjuntar por un consumidor a la vez.
Azure Disks Control granular de las SKU de almacenamiento y las configuraciones Azure Disks es una buena opción para bases de datos de uso general y de nivel 1, como MySQL, MongoDB y PostgreSQL. SSD prémium, SSD prémium v2, SSD estándar, Disco Ultra Aprovisionado por tamaño de bloque de almacenamiento de contenedor de destino y tamaño máximo de volumen.
Disco efímero Utiliza recursos de almacenamiento local en nodos de AKS (NVMe o SSD temporal) El disco efímero es extremadamente sensible a la latencia (latencia baja de menos de un ms), por lo que es mejor para aplicaciones sin requisitos de durabilidad de datos o con compatibilidad integrada de replicación de datos, como Cassandra. NVMe está disponible en SKU de máquina virtual optimizadas para almacenamiento Implementado como parte de las máquinas virtuales que hospedan un clúster de AKS. AKS detecta el almacenamiento efímero disponible en los nodos de AKS y los adquiere para la implementación de volúmenes.

Compatibilidad de características con diferentes tipos de almacenamiento

La compatibilidad con características depende de la opción de almacenamiento de respaldo que seleccione. En la tabla siguiente se enumeran las características clave de Azure Container Storage e indica qué opciones de almacenamiento las admiten.

Característica NVMe local SSD local Azure Disks Azure Elastic SAN (versión preliminar)
Expansión o cambio de tamaño del bloque de almacenamiento Compatible Admitido Admitido No compatible
Replicación Compatible No compatible Compatible de forma nativa Vista previa
Consumo de recursos Compatible Admitido Compatible Vista previa
SSE/CMK No compatible No compatible Compatible Vista previa
Opción Exponer ZRS N/D N/D Compatible Vista previa
Volúmenes persistentes Se admite1 Se admite1 Compatible Vista previa
Volúmenes efímeros Compatible Admitido Compatible Vista previa
Instantáneas Compatible Admitido Admitido No compatible

1 Para NVMe local y SSD local, Almacenamiento de contenedores de Azure usa volúmenes efímeros genéricos de forma predeterminada, en los que los datos no son persistentes. Sin embargo, puede actualizar la instalación de Almacenamiento de contenedores de Azure para admitir la creación de volúmenes persistentes a partir de grupos de almacenamiento de discos efímeros.

Disponibilidad regional

Azure Container Storage solo está disponible para un subconjunto de regiones de Azure:

  • (África) Norte de Sudáfrica
  • (Asia Pacífico) Este de Australia
  • (Asia Pacífico) Este de Asia
  • (Asia Pacífico) Este de Japón
  • (Asia Pacífico) Centro de Corea del Sur
  • (Asia Pacífico) Sudeste de Asia
  • (Asia Pacífico) Centro de la India
  • (Europa) Centro de Francia
  • (Europa) Centro-oeste de Alemania
  • (Europa) Norte de Europa
  • (Europa) Oeste de Europa
  • (Europa) Sur de Reino Unido
  • (Europa) Centro de Suecia
  • (Europa) Norte de Suiza
  • (Oriente Medio) Norte de Emiratos Árabes Unidos
  • (Norteamérica) Este de EE. UU.
  • (Norteamérica) Este de EE. UU. 2
  • (Norteamérica) Oeste de EE. UU.
  • (Norteamérica) Oeste de EE. UU. 2
  • (Norteamérica) Oeste de EE. UU. 3
  • (Norteamérica) Centro de EE. UU.
  • (Norteamérica) Centro-norte de EE. UU.
  • (Norteamérica) Centro-sur de EE. UU.
  • (Norteamérica) Centro-oeste de EE. UU.
  • (Norteamérica) Centro de Canadá
  • (Norteamérica) Este de Canadá
  • (Sudamérica) Sur de Brasil

Novedades de Azure Container Storage

Nuestras últimas actualizaciones mejoran la resistencia y el rendimiento de los contenedores con estado. Ahora ofrecemos grupos de almacenamiento de varias zonas y replicación de volúmenes para grupos de almacenamiento NVMe locales, lo que garantiza la disponibilidad durante errores de nodo único. La compatibilidad con instantáneas está disponible en todas las opciones de almacenamiento para la copia de seguridad y la recuperación ante desastres. Además, la cartera de discos efímeros ahora incluye compatibilidad con SSD temporales, lo que proporciona soluciones rentables para casos de uso que aprovechan el almacenamiento local conectado directamente:

  • Mejore la resistencia de los volúmenes persistentes hospedados en el almacenamiento NVMe local (discos efímeros de la serie L) con compatibilidad con la replicación.
  • Se ha mejorado la recuperación de volúmenes persistentes después de reiniciar un clúster de Azure Kubernetes Service (AKS).
  • Personalice el rendimiento del almacenamiento NVMe local con nuevas opciones de nivel de rendimiento.

Para obtener más información sobre estas características, envíe un correo electrónico al equipo de Azure Container Storage a containerstoragepm@microsoft.com.

Por qué Azure Container Storage es útil

Hasta ahora, proporcionar almacenamiento en la nube para contenedores requería utilizar controladores de Container Storage Interface (CSI) individuales para utilizar servicios de almacenamiento destinados a cargas de trabajo centradas en IaaS y hacer que funcionaran para contenedores. Esto genera sobrecarga operativa y aumenta el riesgo de problemas de disponibilidad, escalabilidad, rendimiento, facilidad de uso y coste de las aplicaciones.

Azure Container Storage se deriva de OpenEBS, una solución de código abierto que proporciona funcionalidades de almacenamiento de contenedores para Kubernetes. Al ofrecer una solución de orquestación de volúmenes administrada a través de controladores de almacenamiento basados en microservicios en un entorno de Kubernetes, Azure Container Storage habilita el almacenamiento nativo de contenedor verdadero.

Puede usar Azure Container Storage para:

  • Acelerar las iniciativas de VM a contenedores: Azure Container Storage pone a disposición de los contenedores toda la gama de ofertas de almacenamiento en bloque de Azure que antes solo estaban disponibles para máquinas virtuales. Esto incluye un disco efímero que proporciona una latencia extremadamente baja para cargas de trabajo como Cassandra, así como Azure Elastic SAN (versión preliminar) que proporciona destinos aprovisionados compartidos y iSCSI nativos.

  • Simplificar la administración de volúmenes con Kubernetes: Al proporcionar la orquestación de volúmenes a través del plano de control de Kubernetes, Azure Container Storage facilita la implementación y la administración de volúmenes dentro de Kubernetes, sin necesidad de moverse entre diferentes planos de control.

  • Reducir el costo total de propiedad (TCO): Mejore la rentabilidad aumentando la escala de volúmenes persistentes admitidos por pod o nodo. Reduzca los recursos de almacenamiento necesarios para el aprovisionamiento mediante el uso compartido dinámico de recursos de almacenamiento. Tenga en cuenta que no se admite la compatibilidad con el escalado vertical para el propio bloque de almacenamiento.

Ventajas principales

  • Escalado horizontal rápido de pods con estado: Azure Container Storage monta los volúmenes persistentes a través de los protocolos de almacenamiento en bloques de red (NVMe-oF o iSCSI), lo que ofrece una asociación y desasociación rápida de volúmenes persistentes. Puede empezar poco a poco e ir implementando recursos a medida que los vaya necesitando, a la vez que se asegura de que sus aplicaciones no estén inactivas o interrumpidas, ya sea durante la inicialización o en producción. La resistencia de las aplicaciones se mejora con la regeneración (respawns) de pods en todo el clúster, lo que requiere un movimiento rápido de los volúmenes persistentes. Aprovechando los protocolos de red remotos, Azure Container Storage se acopla estrechamente con el ciclo de vida de los pods para admitir aplicaciones con estado de alta resiliencia y a gran escala en AKS.

  • Rendimiento mejorado para cargas de trabajo con estado: Azure Container Storage permite un rendimiento de lectura superior y proporciona un rendimiento de escritura parecido al de un disco utilizando NVMe-oF sobre TCP. Esto permite a los clientes responder de forma rentable a los requisitos de rendimiento de las distintas cargas de trabajo de los contenedores, incluidas las de nivel 1, intensivas en E/S, de uso general, sensibles al rendimiento y de desarrollo/prueba. Acorte el tiempo de asociación o desasociación de volúmenes persistentes y reduzca el tiempo de conmutación por error de pods.

  • Orquestación de volúmenes nativa de Kubernetes: Cree grupos de almacenamiento y volúmenes persistentes, capture instantáneas y administre todo el ciclo de vida de los volúmenes mediante comandos kubectl sin cambiar entre conjuntos de herramientas para diferentes operaciones del plano de control.

Glosario

Resulta útil comprender algunos términos clave relacionados con Azure Container Storage y Kubernetes:

  • Inclusión en contenedores

    Empaquetar código de aplicación solo con el sistema operativo y las dependencias necesarias para crear un único ejecutable.

  • Kubernetes

    Kubernetes es un sistema de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores.

  • Clúster

    Un clúster de Kubernetes es un conjunto de nodos de proceso (VM) que ejecutan aplicaciones en contenedores. Cada nodo se administra mediante el plano de control y contiene los servicios necesarios para ejecutar pods.

  • Pod

    Un pod es un grupo de uno o varios contenedores, con recursos de red y almacenamiento compartidos, y una especificación para ejecutar los contenedores. Un pod es la unidad implementable más pequeña de un clúster de Kubernetes.

  • Azure Kubernetes Service (AKS)

    Azure Kubernetes Service es un servicio de Kubernetes hospedado que simplifica la implementación de un clúster de Kubernetes administrado en Azure, ya que descarga la sobrecarga operativa en Azure. Azure controla tareas críticas, como el mantenimiento y la supervisión del estado.

  • Grupo de almacenamiento

    La pila de Azure Container Storage intenta unificar el modelo de objetos entre los recursos propiedad del clúster y las abstracciones de la plataforma. Para lograr la representación unificada, la capacidad de almacenamiento disponible se agrega en un objeto de grupo de almacenamiento. La capacidad de almacenamiento dentro de un grupo de almacenamiento se considera homogénea. Un clúster de AKS puede tener varios grupos de almacenamiento. Los grupos de almacenamiento también sirven de límite de autenticación y aprovisionamiento. Proporcionan una construcción lógica para que los operadores administren la infraestructura de almacenamiento a la vez que simplifican la creación y administración de volúmenes para los desarrolladores de aplicaciones.

  • Clase de almacenamiento

    Una clase de almacenamiento de Kubernetes define cómo se crea dinámicamente una unidad de almacenamiento con un volumen persistente. Para más información, consulte Clases de almacenamiento de Kubernetes.

  • Volumen

    Un volumen de Kubernetes es un directorio que contiene datos accesibles para contenedores en un pod determinado. Los volúmenes pueden ser persistentes o efímeros. Los volúmenes se aprovisionan de forma fina dentro de un bloque de almacenamiento y comparten las características de rendimiento (IOPS, ancho de banda y capacidad) del bloque de almacenamiento.

  • El volumen-persistente.

    Los volúmenes persistentes son como los discos de una máquina virtual. Representan un dispositivo de bloques sin procesar que puede usar para montar cualquier sistema de archivos. Los desarrolladores de aplicaciones crean volúmenes persistentes junto con sus definiciones de pods o aplicaciones, y los volúmenes a menudo están vinculados al ciclo de vida de la aplicación con estado. Para más información, consulte Volúmenes persistentes.

  • Notificación de volumen persistente (PVC)

    Una notificación de volumen persistente se usa para aprovisionar automáticamente el almacenamiento en función de una clase de almacenamiento.

Pasos siguientes