Comparteix via


Tutorial: Instalación de Azure Container Storage (versión 1.x.x) para su uso con Azure Kubernetes Service

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. En este tutorial, creará un clúster de Azure Kubernetes Service (AKS) e instalará Azure Container Storage (versión 1.x.x) en el clúster. Si ya tiene implementado un clúster de AKS, se recomienda instalar Azure Container Storage (versión 1.x.x) con este inicio rápido en lugar de seguir los pasos manuales de este tutorial.

Importante

En este artículo se explica cómo instalar Azure Container Storage (versión 1.x.x),que ahora requiere explícitamente un parámetro --container-storage-version 1 de anclaje de versiones para la instalación. Azure Container Storage (versión 2.x.x) ya está disponible.

  • Creación de un grupo de recursos
  • Elección de una opción de almacenamiento de datos y un tipo de máquina virtual
  • Creación de un clúster de AKS
  • Conectarse al clúster
  • Etiquetar el grupo de nodos
  • Asigne el rol de Operador de Azure Container Storage en la identidad administrada de AKS
  • Instalación de Azure Container Storage (versión 1.x.x)

Prerrequisitos

  • Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

  • En este artículo se requiere la versión v2.83.0 o posterior de la CLI de Azure. Para obtener más información, consulte Cómo instalar la CLI de Azure. Deshabilite extensiones como, por aks-preview ejemplo, si se producen problemas. Instale o actualice las extensiones según sea necesario:

    • az extension add --upgrade --name k8s-extension
    • az extension add --upgrade --name elastic-san (Solo SAN elástico)
  • Necesita el cliente de línea de comandos de Kubernetes, kubectl. Ya está instalado si usa Azure Cloud Shell. Para instalarlo localmente, ejecute el az aks install-cli comando .

  • Compruebe si la región de destino es compatible con las regiones de Azure Container Storage.

  • Planee la configuración del grupo de nodos:
    • Use Linux como tipo de sistema operativo (No se admite Windows).
    • Seleccione una SKU de máquina virtual (VM) que admita discos de datos NVMe locales si tiene previsto usar el tipo de almacenamiento NVMe local, como máquinas virtuales optimizadas para almacenamiento o aceleradas por GPU .
    • En el caso de los clústeres existentes, asegúrese de que los grupos de nodos ya usan una SKU de máquina virtual compatible antes de habilitar Azure Container Storage.

Cómo empezar

  • Tome nota del identificador de suscripción de Azure. Si quiere usar Azure Elastic SAN como almacenamiento de datos, necesita un rol propietario de Azure Container Storage o un rol colaborador de Azure Container Storage asignado a la suscripción de Azure. El acceso de nivel de propietario le permite instalar la extensión Azure Container Storage, conceder acceso a sus recursos de almacenamiento y le concede permiso para configurar Azure Elastic SAN. El acceso de nivel de colaborador permite instalar la extensión y concede acceso a sus recursos de almacenamiento. Si planea usar Discos de Azure o Disco efímero como almacenamiento de datos, no necesita permisos especiales en la suscripción.

  • Inicie Azure Cloud Shell o, si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login .

  • Si usa Azure Cloud Shell, es posible que se le pida que monte el almacenamiento. Seleccione la suscripción de Azure en la que desea crear la cuenta de almacenamiento y seleccione Crear.

Establecimiento del contexto de la suscripción

Establezca el contexto de la suscripción de Azure mediante el az account set comando . Puede ver los identificadores de suscripción de todas las suscripciones a las que tiene acceso ejecutando el az account list --output table comando . Recuerde reemplazar <subscription-id> por el identificador de suscripción.

az account set --subscription <subscription-id>

Creación de un grupo de recursos

Un grupo de recursos de Azure es un grupo lógico que contiene los recursos de Azure que desea administrar como grupo. Cuando crea un grupo de recursos, se le pide que especifique una ubicación. Esta ubicación es:

  • Ubicación de almacenamiento de los metadatos del grupo de recursos.
  • Dónde se ejecutan los recursos en Azure si no especifica otra región durante la creación de recursos.

Cree un grupo de recursos con el comando az group create. Reemplace <resource-group-name> por el nombre del grupo de recursos que desea crear y reemplace por <location> una región de Azure como eastus, westus2, westus3 o westeurope.

az group create --name <resource-group-name> --location <location>

Si el grupo de recursos se creó correctamente, verá un resultado similar al siguiente:

{
  "id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
  "location": "eastus",
  "managedBy": null,
  "name": "myContainerStorageRG",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Elección de una opción de almacenamiento de datos y un tipo de máquina virtual

Antes de crear el clúster, decida qué opción de almacenamiento de back-end desea para el grupo de almacenamiento. Los distintos servicios de almacenamiento funcionan mejor con diferentes tipos de máquina virtual (VM) como nodos de clúster y se crea el clúster antes del grupo de almacenamiento.

Opciones de almacenamiento de datos

  • Azure Elastic SAN: Azure Elastic SAN es una buena opción para bases de datos de uso general, servicios de streaming y mensajería, entornos de CD/CI y otras cargas de trabajo de nivel 1/nivel 2. El almacenamiento se aprovisiona a petición por volumen y instantánea de volumen creados. Varios clústeres pueden acceder a una única SAN simultáneamente, pero los volúmenes persistentes solo se pueden adjuntar por un consumidor a la vez.

  • Azure Disks: Azure Disks es una buena opción para bases de datos como MySQL, MongoDB y PostgreSQL. El almacenamiento se aprovisiona según el tamaño del grupo de almacenamiento del contenedor de destino y el tamaño máximo de volumen.

  • Disco efímero: esta opción usa unidades SSD locales NVMe o temp en los nodos de AKS y tiene latencia de sub ms, por lo que es mejor para las aplicaciones que no requieren durabilidad de datos o que incluyen replicación de datos, como Cassandra. AKS detecta el almacenamiento efímero disponible en los nodos de AKS y adquiere las unidades para la implementación de volúmenes.

Consumo de recursos

Azure Container Storage requiere determinados recursos de nodo para ejecutar componentes para el servicio. En función de la selección del tipo de grupo de almacenamiento, que especifique al instalar Azure Container Storage, estos son los recursos que se consumen:

Tipo de grupo de almacenamiento Núcleos de CPU RAM
SAN elástico de Azure  Ninguno Ninguno
Azure Disks 1 1 GiB
Disco efímero: SSD temporal 1 1 GiB
Disco efímero: NVMe local (nivel estándar) 25% de núcleos (se puede actualizar el nivel de rendimiento)* 1 GiB

Los recursos consumidos son por nodo y se aplican a cada nodo del grupo de nodos donde está instalado Azure Container Storage. Si los nodos no tienen suficientes recursos, Azure Container Storage no se puede ejecutar. Kubernetes reintenta automáticamente estos pods, por lo que cuando se liberan los recursos, los pods se inicializan de nuevo.

*En un grupo de almacenamiento, escriba Disco efímero: NVMe local con el nivel de rendimiento estándar (predeterminado), si usa varios tipos de SKU de máquina virtual para los nodos del clúster, el 25 % de los núcleos de CPU consumidos se aplica a la SKU más pequeña usada. Por ejemplo, si usa una combinación de tipos de máquina virtual de 8 núcleos y 16 núcleos, el consumo de recursos es de 2 núcleos. Puede actualizar el nivel de rendimiento para usar un mayor porcentaje de núcleos y lograr una mayor IOPS.

Asegúrese de que el tipo de máquina virtual del clúster cumple los siguientes criterios

Para usar Azure Container Storage, necesita un grupo de nodos de al menos tres máquinas virtuales Linux. Cada máquina virtual debe tener un mínimo de cuatro CPU virtuales (vCPU). Azure Container Storage consume un núcleo para el procesamiento de E/S en cada máquina virtual en la que se implementa la extensión.

Siga estas instrucciones al elegir un tipo de máquina virtual para los nodos del clúster. Debe elegir un tipo de máquina virtual que admita Azure Premium Storage.

Creación de un nuevo clúster de AKS e instalación de Azure Container Storage

Si ya tiene un clúster de AKS implementado, siga las instrucciones de instalación de este inicio rápido.

Ejecute el comando siguiente para crear un nuevo clúster de AKS, instalar Azure Container Storage y crear un grupo de almacenamiento. Reemplace <cluster-name> y <resource-group> por sus propios valores y especifique qué tipo de máquina virtual desea usar. Reemplace por <storage-pool-type>azureDisk, ephemeralDisko elasticSan. Si selecciona ephemeralDisk, también debe especificar --storage-pool-optiony los valores pueden ser NVMe o Temp.

Al ejecutar este comando se habilita Azure Container Storage en el grupo de nodos del sistema* con tres máquinas virtuales Linux. Si especifica NVMe local para el tipo de grupo de almacenamiento, asegúrese de establecer el número de nodos en 4 o más, o el comando fallará.

De forma predeterminada, el grupo de nodos del sistema se denomina nodepool1. Si desea habilitar Azure Container Storage en otros grupos de nodos, consulte Instalación de Azure Container Storage en grupos de nodos específicos. Si desea especificar más parámetros del grupo de almacenamiento con este comando, consulte esta tabla.

Si hay grupos de nodos existentes con la acstor.azure.com/io-engine:acstor etiqueta , Azure Container Storage instala los componentes del plano de datos de forma predeterminada. De lo contrario, puede pasar el grupo de nodos preferido a acstor a través de la CLI de Azure. Si el clúster solo tiene el grupo de nodos del sistema, se etiqueta y se usa para Azure Container Storage de forma predeterminada. Solo los componentes del plano de datos están restringidos al grupo de nodos etiquetado. Los componentes del plano de control de Azure Container Storage no se limitan a los nodos etiquetados y también se pueden ejecutar en el grupo de nodos del sistema.

Importante

Si usa un clúster de AKS de varias zonas con Azure Elastic SAN: debe usar una instancia de Elastic SAN con almacenamiento redundante de zona (ZRS). El valor predeterminado de un grupo de almacenamiento de Elastic SAN es almacenamiento con redundancia local (LRS). Para habilitar ZRS para Elastic SAN, use elasticSan para el tipo de bloque de almacenamiento y anexe la --storage-pool-sku Premium_ZRS marca al siguiente comando de la CLI.

az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type> --container-storage-version 1 --generate-ssh-keys

La implementación tarda entre 10 y 15 minutos. Una vez completado, usted tiene un clúster AKS con Azure Container Storage instalado, los componentes del tipo de grupo de almacenamiento elegido están habilitados y un grupo de almacenamiento predeterminado. Si desea habilitar más tipos de grupo de almacenamiento para crear más grupos de almacenamiento, consulte Habilitación de más tipos de grupos de almacenamiento.

Importante

Si especificó Azure Elastic SAN como almacenamiento de respaldo para el grupo de almacenamiento y no tiene el rol propietario de Azure Container Storage ni el rol colaborador de Azure Container Storage asignado a la suscripción de Azure, se produce un error en la instalación de Azure Container Storage y no se crea un grupo de almacenamiento.

Importante

Si especificó Azure Elastic SAN como almacenamiento de respaldo para el grupo de almacenamiento y no tiene el rol propietario de Azure Container Storage ni el rol colaborador de Azure Container Storage asignado a la suscripción de Azure, se produce un error en la instalación de Azure Container Storage y no se crea un grupo de almacenamiento. Si intenta habilitar Azure Elastic SAN como otro tipo de grupo de almacenamiento sin ninguno de estos roles, la instalación anterior y los grupos de almacenamiento no se ven afectados y no se crea un grupo de almacenamiento de Elastic SAN.

Mostrar los grupos de almacenamiento disponibles

Para obtener la lista de grupos de almacenamiento disponibles, ejecute el siguiente comando:

kubectl get sp -n acstor

Para comprobar el estado de un grupo de almacenamiento, ejecute el siguiente comando:

kubectl describe sp <storage-pool-name> -n acstor

Si el Message no dice StoragePool is ready, el grupo de almacenamiento sigue creando o experimentando un problema. Consulte Solución de problemas de Azure Container Storage.

Paso siguiente

Seleccione el vínculo para el tipo de almacenamiento de respaldo que seleccionó y siga las instrucciones para crear volúmenes.