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.
En este tutorial se presenta Azure Container Storage y se muestra cómo implementar y administrar el almacenamiento nativo del contenedor para las aplicaciones que se ejecutan en Azure Kubernetes Service (AKS). Si no desea implementar Azure Container Storage ahora, puede omitir este tutorial y continuar directamente en Implementación de una aplicación en AKS. No necesitará Azure Container Storage para la aplicación de escaparate básica de esta serie de tutoriales.
Azure Container Storage simplifica la administración de aplicaciones con estado en Kubernetes al ofrecer almacenamiento nativo de contenedor adaptado a una variedad de cargas de trabajo, incluidas bases de datos, plataformas de análisis y aplicaciones de alto rendimiento.
Al final de este tutorial, hará lo siguiente:
- Comprenda cómo Azure Container Storage admite diversas cargas de trabajo en Kubernetes.
- Implemente Azure Container Storage en el clúster de AKS.
- Cree un volumen efímero genérico.
Antes de empezar
En los tutoriales anteriores, creó una imagen de contenedor, la cargó en una instancia de ACR y creó un clúster de AKS. Comience con el Tutorial 1: Preparación de la aplicación para AKS para continuar.
Confirme que la región de destino es compatible revisando la disponibilidad regional de Azure Container Storage.
Instale la versión más reciente de la CLI de Azure (2.83.0 o posterior) e inicie sesión con
az login. No uses Azure Cloud Shell, porqueaz upgradeno está disponible.Instale el cliente de línea de comandos de Kubernetes,
kubectl. Puede instalarlo localmente ejecutandoaz aks install-cli.
Importante
Este tutorial se aplica a Azure Container Storage (versión 2.x.x), que admite el disco NVMe local y azure Elastic SAN como tipos de almacenamiento de respaldo. En este tutorial se usa NVMe local y se crea un volumen efímero genérico. Para usar NVMe local, la SKU de máquina virtual debe admitir discos de datos NVMe locales, como máquinas virtuales optimizadas para almacenamiento o aceleradas por GPU .
Si prefiere usar Azure Elastic SAN, consulte Uso de Azure Container Storage con Azure Elastic SAN.
Instalación de la extensión de Kubernetes
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
Habilitación de Azure Container Storage en el clúster de AKS
Ejecute el comando siguiente para habilitar Azure Container Storage en un clúster de AKS existente mediante NVMe local. Azure Container Storage instala automáticamente la versión más reciente disponible y se actualiza automáticamente. No se admite la selección de versión manual.
az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk
La implementación puede tardar hasta cinco minutos. Cuando se completa, el clúster AKS tiene Azure Container Storage instalado y los componentes del tipo de almacenamiento NVMe local implementados. También crea la clase de almacenamiento predeterminada local .
Conexión al clúster y comprobación del estado
Si aún no está conectado al clúster desde el tutorial anterior, ejecute los siguientes comandos. Si ya está conectado, puede omitir esta sección.
Descargue las credenciales del clúster y configure la CLI de Kubernetes para usarlas. De forma predeterminada, las credenciales se almacenan en
~/.kube/config. Proporcione una ruta de acceso diferente mediante el--fileargumento si es necesario.az aks get-credentials --resource-group myResourceGroup --name myAKSClusterCompruebe la conexión enumerando los nodos del clúster.
kubectl get nodesAsegúrese de que todos los nodos notifican un estado de
Ready.
Comprobación de la clase de almacenamiento
Ejecute el siguiente comando para comprobar que se crea la clase de almacenamiento:
kubectl get storageclass local
Debería mostrarse una salida similar a esta:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local localdisk.csi.acstor.io Delete WaitForFirstConsumer true 10s
Implementación de un pod con un volumen efímero genérico
Cree un pod con Fio (Evaluador de E/S flexible) para realizar pruebas comparativas y simulación de carga de trabajo, que use un volumen efímero genérico.
Use su editor de texto favorito para crear un archivo de manifiesto YAML, como
code fiopod.yaml.Pegue el código siguiente y guarde el archivo.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: "kubernetes.io/os": linux containers: - name: fio image: mayadata/fio args: ["sleep", "1000000"] volumeMounts: - mountPath: "/volume" name: ephemeralvolume volumes: - name: ephemeralvolume ephemeral: volumeClaimTemplate: spec: volumeMode: Filesystem accessModes: ["ReadWriteOnce"] storageClassName: local resources: requests: storage: 10GiAplique el archivo de manifiesto YAML para implementar el pod.
kubectl apply -f fiopod.yaml
Comprobación de las pruebas comparativas de implementación y ejecución
Compruebe que el pod se está ejecutando:
kubectl get pod fiopod
Debería ver el pod en estado en funcionamiento. Una vez en ejecución, puede ejecutar una prueba comparativa de Fio:
kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
Ahora ha implementado un pod que usa NVMe local como almacenamiento y puede usarlo para las cargas de trabajo de Kubernetes.
Para más información sobre Azure Container Storage, consulte ¿Qué es Azure Container Storage?
Limpieza de recursos
No necesitará Azure Container Storage para el resto de esta serie de tutoriales, por lo que se recomienda eliminarlo ahora para evitar incurrir en cargos innecesarios de Azure.
Elimine el pod.
kubectl delete pod fiopodElimine el volumen genérico efímero.
kubectl delete pv ephemeralvolumeElimine la instancia de extensión.
az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage
Paso siguiente
En este tutorial, ha implementado Azure Container Storage en el clúster de AKS. Ha aprendido a:
- Habilite Azure Container Storage en el clúster de AKS.
- Implemente un pod con un volumen efímero genérico.
En el siguiente tutorial, aprenderá a implementar una aplicación en el clúster.