Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 inicio rápido se muestra cómo conectarse a un clúster de Azure Kubernetes Service (AKS) basado en Linux, instalar Azure Container Storage (versión 1.x.x) y crear un grupo de almacenamiento mediante la CLI de Azure.
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.
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 más reciente de la CLI de Azure. Consulte Cómo instalar la CLI de Azure. Si usa el entorno de Bash en Azure Cloud Shell, la versión más reciente ya está instalada. Si tiene previsto ejecutar los comandos localmente en lugar de en Azure Cloud Shell, asegúrese de ejecutarlos con privilegios administrativos. Para más información, consulte Introducción a Azure Cloud Shell.
Necesitará el cliente de línea de comandos de Kubernetes,
kubectl. Ya está instalado si usa Azure Cloud Shell o puede instalarlo localmente mediante la ejecución delaz aks install-clicomando .Compruebe si la región de destino se admite en regiones de Azure Container Storage.
Si aún no ha creado un clúster de AKS, siga las instrucciones para instalar un clúster de AKS.
Cómo empezar
Tome nota del identificador de suscripción de Azure. Si quiere usar Azure Elastic SAN como almacenamiento de datos, necesitará 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 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.
Instalación de la extensión necesaria
Para agregar o actualizar a la versión más reciente de k8s-extension, ejecute el comando siguiente.
az extension add --upgrade --name k8s-extension
Establecimiento del contexto de la suscripción
Establezca el contexto de la suscripción ejecutando el comando az account set. Puede ver los identificadores de todas las suscripciones a las que tiene acceso ejecutando el comando az account list --output table. Recuerde reemplazar <subscription-id> por el id. de la suscripción.
az account set --subscription <subscription-id>
Conectarse al clúster
Para conectarse al clúster, use el cliente de línea de comandos de Kubernetes, kubectl. Ya está instalado si usa Azure Cloud Shell o puede instalarlo localmente mediante la ejecución del az aks install-cli comando .
Configure
kubectlpara conectarse al clúster ejecutando el comandoaz aks get-credentials. El siguiente comando:- Descarga las credenciales y configura la CLI de Kubernetes para usarlas.
- Usa
~/.kube/config, la ubicación predeterminada para el archivo de configuración de Kubernetes. Puede especificar una ubicación diferente para el archivo de configuración de Kubernetes mediante el argumento --file .
az aks get-credentials --resource-group <resource-group> --name <cluster-name>Compruebe la conexión al clúster con el comando
kubectl get. Este comando devuelve una lista de los nodos del clúster.kubectl get nodesEn el ejemplo de salida siguiente se muestran los nodos del clúster. Asegúrese de que el estado de todos los nodos muestra Listo:
NAME STATUS ROLES AGE VERSION aks-nodepool1-34832848-vmss000000 Ready agent 80m v1.25.6 aks-nodepool1-34832848-vmss000001 Ready agent 80m v1.25.6 aks-nodepool1-34832848-vmss000002 Ready agent 80m v1.25.6Anote el nombre del grupo de nodos. En este ejemplo, sería nodepool1.
Elección de una opción de almacenamiento de datos para el grupo de almacenamiento
Antes de implementar Azure Container Storage, deberá decidir qué opción de almacenamiento trasero desea usar para crear el grupo de almacenamiento y los volúmenes. Actualmente hay tres opciones disponibles:
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 CI/CD 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 NVMe locales o SSD temporales en los nodos del clúster de AKS. Tiene una sensibilidad extrema a la latencia (latencia sub-ms baja), por lo que es mejor para aplicaciones sin necesidad de durabilidad de datos o con soporte integrado para la 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.
Nota:
En el caso de Azure Elastic SAN y Azure Disks, Azure Container Storage implementará el almacenamiento de respaldo para usted como parte de la instalación. No es necesario crear su propia Elastic SAN ni el disco de Azure. Para usar Elastic SAN, necesitará un rol propietario de Azure Container Storage o un rol colaborador de Azure Container Storage en la suscripción de Azure.
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 especificará al instalar Azure Container Storage, estos son los recursos que se consumirán:
| 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 consumirán para cada nodo del grupo de nodos donde se instalará Azure Container Storage. Si los nodos no tienen suficientes recursos, Azure Container Storage no se ejecutará. Kubernetes volverá a intentar inicializar automáticamente estos pods con errores, por lo que si los recursos se liberan, estos pods se pueden inicializar 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, necesitará 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 consumirá 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.
- Si piensa usar Azure Elastic SAN o Azure Disks como almacenamiento de respaldo, elija un tipo de máquina virtual de uso general , como standard_d4s_v5.
- Si piensa usar discos efímeros con NVMe local, elija una SKU de máquina virtual que admita discos de datos NVMe locales, por ejemplo, las SKU de máquina virtual optimizadas para almacenamiento o las SKU de máquina virtual aceleradas por GPU.
- Si piensa usar disco efímero con SSD temporal, elija una máquina virtual que tenga un disco SSD temporal, como La serie Ev3 y Esv3.
Instalación de Azure Container Storage en el clúster de AKS
El comando de instalación es diferente en función de si ya tiene una instancia en versión preliminar de Azure Container Storage que se ejecuta en el clúster de AKS o si va a instalar Azure Container Storage en el clúster por primera vez.
Actualización de una instalación en versión preliminar a disponibilidad general
Si ya tiene una instancia en versión preliminar de Azure Container Storage que se ejecuta en el clúster, se recomienda actualizar a la versión más reciente disponible con carácter general (GA) mediante la ejecución del comando siguiente. Si va a instalar Azure Container Storage por primera vez en el clúster, vaya a Instalación de Azure Container Storage y cree un grupo de almacenamiento. También puede instalar Azure Container Storage en grupos de nodos específicos.
az k8s-extension update --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name azurecontainerstorage --version 1.1.0 --auto-upgrade false --release-train stable
Recuerde reemplazar <cluster-name> y <resource-group> por sus propios valores.
Instalación de Azure Container Storage y creación de un grupo de almacenamiento
Antes de instalarlo, asegúrese de que el clúster de AKS cumple los requisitos de máquina virtual.
Ejecute el comando siguiente para instalar Azure Container Storage en el clúster y crear un grupo de almacenamiento. Reemplace <cluster-name> y <resource-group> con sus propios valores. Reemplace por <storage-pool-type>azureDisk, ephemeralDisko elasticSan. Si selecciona ephemeralDisk, también puede especificar --storage-pool-optiony los valores pueden ser NVMe o Temp.
Al ejecutar este comando, se habilitará Azure Container Storage en el grupo de nodos del sistema, que de forma predeterminada se denomina nodepool1*. Si quiere habilitarlo en otros grupos de nodos, consulte Instalación de Azure Container Storage en grupos de nodos específicos. Si desea especificar parámetros adicionales, consulte Parámetros del grupo de almacenamiento de Azure Container Storage.
*Si hay grupos de nodos existentes con la acstor.azure.com/io-engine:acstor etiqueta , Azure Container Storage se instalará de forma predeterminada. De lo contrario, se instala en el "node pool" del sistema.
Importante
Si ha creado el clúster de AKS mediante Azure Portal: Es probable que el clúster tenga un grupo de nodos de usuario y un grupo de nodos del sistema o agente. Sin embargo, si el clúster consta solo de un grupo de nodos del sistema, que es el caso de los clústeres de pruebas y desarrollo creados con Azure Portal, primero deberá agregar un nuevo grupo de nodos de usuario y, a continuación, etiquetarlo. Esto se debe a que al crear un clúster de AKS mediante Azure Portal, se agrega un valor taint CriticalAddOnsOnly al grupo de nodos del sistema o agente, que bloquea la instalación de Azure Container Storage en el grupo de nodos del sistema. Esta distorsión no se agrega cuando se crea un clúster AKS a través de Azure CLI.
Si usa un clúster de AKS de varias zonas con Azure Elastic SAN: deberá 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 update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1
La implementación tardará entre 10 y 15 minutos. Cuando finalice, tendrá instalado un clúster de AKS con Azure Container Storage instalado, los componentes del tipo de grupo de almacenamiento elegido habilitado y un grupo de almacenamiento predeterminado. Si desea habilitar tipos de grupo de almacenamiento adicionales para crear grupos de almacenamiento adicionales, consulte Habilitación de tipos de grupos de almacenamiento adicionales.
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, la instalación de Azure Container Storage fallará y no se creará un Grupo de almacenamiento. Si intenta habilitar Azure Elastic SAN como un tipo de grupo de almacenamiento adicional sin ninguno de estos roles, la instalación anterior y los grupos de almacenamiento no se verán afectados y no se creará un grupo de almacenamiento de SAN elástico.
Instalación de Azure Container Storage en grupos de nodos específicos
Si desea instalar Azure Container Storage en grupos de nodos específicos, siga estas instrucciones. Los grupos de nodos deben contener al menos tres máquinas virtuales Linux.
Ejecute el siguiente comando para ver la lista de grupos de nodos disponibles. Reemplace
<resource-group>y<cluster-name>con sus propios valores.az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>Ejecute el comando siguiente para instalar Azure Container Storage en grupos de nodos específicos. Reemplace
<cluster-name>y<resource-group>con sus propios valores. Reemplace por<storage-pool-type>azureDisk,ephemeralDiskoelasticSan. Si seleccionaephemeralDisk, también puede especificar --storage-pool-option y los valores pueden serNVMeoTemp.az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1 --azure-container-storage-nodepools <comma separated values of nodepool names>
Habilitación de tipos de grupo de almacenamiento adicionales
Si desea habilitar un tipo de grupo de almacenamiento que no se ha habilitado originalmente durante la instalación de Azure Container Storage, ejecute el comando siguiente. Reemplace <cluster-name> y <resource-group> con sus propios valores. Para <storage-pool-type>, especifique azureDisk, ephemeralDisko elasticSan.
Si desea especificar parámetros adicionales del grupo de almacenamiento con este comando, consulte esta tabla.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1
Si el nuevo tipo de grupo de almacenamiento que ha habilitado ocupa más recursos que el tipo de grupo de almacenamiento que ya está habilitado, el consumo de recursos cambiará a la cantidad máxima.
Sugerencia
Si ha agregado un nuevo grupo de nodos al clúster y quiere ejecutar Azure Container Storage en ese grupo de nodos, puede especificar el grupo de nodos con --azure-container-storage-nodepools <nodepool-name> al ejecutar el az aks update comando .
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.
Deshabilitar tipos de grupo de almacenamiento
Si ya no usa un tipo de grupo de almacenamiento específico y quiere deshabilitarlo para liberar recursos en el grupo de nodos, ejecute el siguiente comando. Reemplace <cluster-name> y <resource-group> con sus propios valores. Para <storage-pool-type>, especifique azureDisk, ephemeralDisko elasticSan.
az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>
Nota:
Si tiene un grupo de almacenamiento existente del tipo que intenta deshabilitar, el tipo de grupo de almacenamiento no se deshabilitará.
Paso siguiente
Para crear volúmenes, seleccione el vínculo para el tipo de almacenamiento de respaldo seleccionado.
- Creación de un volumen persistente con discos administrados de Azure
- Creación de un volumen persistente con Azure Elastic SAN
- Creación de un volumen efímero genérico con NVMe local
- Creación de un volumen efímero genérico con SSD temporal
- Creación de un volumen persistente con NVMe local y replicación de volúmenes