Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A CSI (Interface de Armazenamento de Contêiner) é um padrão para expor sistemas de blocos e de armazenamento de arquivos arbitrários a cargas de trabalho em contêineres no Kubernetes. Ao usar o CSI, o AKS (Serviço de Kubernetes do Azure) pode gravar, implantar e iterar plug-ins para expor sistemas de armazenamento novos ou aprimorados existentes no Kubernetes sem precisar tocar no código principal do Kubernetes e aguardar seus ciclos de lançamento.
O suporte ao driver de armazenamento CSI no AKS permite que você use nativamente discos do Azure, arquivos do Azure ou armazenamento de Blobs do Azure como armazenamento persistente para seus aplicativos em execução no AKS.
Dica
Se você quiser uma solução totalmente gerenciada para acesso em nível de bloco aos dados, considere usar o Armazenamento de Contêineres do Azure em vez de drivers CSI. O Armazenamento de Contêineres do Azure integra-se ao Kubernetes para que você possa provisionar dinamicamente volumes persistentes para aplicativos com estado em clusters do Kubernetes.
Importante
A partir da versão 1.26 do Kubernetes, os tipos de volume persistente in-tree kubernetes.io/azure-disk e kubernetes.io/azure-file estão obsoletos e não terão mais suporte.
Os drivers integrados referem-se aos drivers de armazenamento que fazem parte do código principal do Kubernetes em oposição aos drivers CSI, que são plug-ins.
A remoção desses drivers após a descontinuação não está planejada, mas você deve migrar para os drivers CSI correspondentes disk.csi.azure.com e file.csi.azure.com. Para examinar as opções de migração para as classes de armazenamento e atualizar o cluster para usar discos do Azure e drivers CSI dos Arquivos do Azure, consulte Migrar de drivers na árvore para CSI.
Se você criou classes de armazenamento de driver na árvore, essas classes de armazenamento continuarão funcionando, pois a migração do CSI será ativada depois de atualizar o cluster para 1.21.x. Se você quiser usar os recursos do CSI, precisará executar a migração.
Sobre o driver CSI do Azure Disks
O driver CSI do Azure Disks é um driver em conformidade com a especificação do CSI usado pelo AKS para gerenciar o ciclo de vida dos recursos do Disco do Azure. Com o driver CSI do Azure Disks, você pode criar um recurso do Kubernetes DataDisk . Os discos podem usar o Armazenamento Premium do Azure, apoiados por SSDs de alto desempenho, ou o Armazenamento Standard do Azure, apoiado por HDDs regulares ou SSDs Standard. Para a maioria das cargas de trabalho de desenvolvimento e produção, use o Armazenamento Premium. Os Discos do Azure são montados como ReadWriteOnce e só estão disponíveis para um nó no AKS. Para volumes de armazenamento que podem ser acessados simultaneamente por vários nós, use Arquivos do Azure.
Recursos do driver CSI para Discos do Azure
Além dos recursos do driver na árvore, a CSI do Azure Data Box Disk dá suporte aos seguintes recursos:
- Melhorias de desempenho durante operações simultâneas de anexação e desanexação de disco.
- Os drivers na árvore anexam ou desanexam discos em série, enquanto os drivers da CSI anexam ou desanexam discos em lote. Observa-se uma melhoria significativa quando vários discos estão conectados a um nó.
- SSD Premium v1 e v2.
-
PremiumV2_LRSsuporta apenas o modo de cacheNone.
-
- Suporte ao disco ZRS (armazenamento com redundância de zona).
-
Premium_ZRS,StandardSSD_ZRShá suporte para tipos de disco. O disco ZRS pode ser agendado em um nó de zona ou fora de uma zona, sem a restrição de ter o volume do disco na mesma zona de um determinado nó. Para obter mais informações, incluindo quais regiões têm suporte, consulte Armazenamento com redundância de zona para discos gerenciados.
-
- Crie instantâneos de volumes persistentes.
- Criar clones de volume.
- Redimensione volumes persistentes sem tempo de inatividade.
Observação
Dependendo do tipo de SKU de máquina virtual (VM) que você está utilizando, o driver Disk CSI do Azure pode ter um limite de volume por nó. Para algumas VMs avançadas (por exemplo, de 16 núcleos), o limite é de 64 volumes por nó. Para identificar o limite segundo o SKU da VM, examine a coluna Máximo de discos de dados de cada SKU de VM oferecida. Para obter uma lista dos SKUs de VM oferecidos e os limites de capacidade detalhados correspondentes, consulte Tamanhos de máquina virtual de uso geral.
Sobre o driver CSI de Azure Files
O driver CSI dos Arquivos do Azure é um driver em conformidade com a especificação do CSI usado pelo AKS para gerenciar o ciclo de vida dos compartilhamentos de arquivos do Azure. Com o driver CSI do Azure Files, você pode montar um compartilhamento SMB 3.0/3.1, suportado por uma conta de armazenamento do Azure, em pods. Com os Arquivos do Azure, você pode compartilhar dados em vários nós e pods. Azure Files podem usar o Armazenamento Standard do Azure, com base em HDDs regulares, ou o Armazenamento Premium do Azure, com base em SSDs de alto desempenho.
Sobre os recursos do driver da CSI do Armazenamento de Blobs do Azure
O driver CSI do Azure Blob Storage é um driver compatível com a especificação CSI usado pelo AKS para gerenciar o ciclo de vida do Azure Blob Storage. Com o driver CSI do Armazenamento de Blobs do Azure, você pode montar o Armazenamento de Blobs (ou armazenamento de objetos) como um sistema de arquivos em um contêiner ou pod. O uso do armazenamento de blobs permite que seu cluster dê suporte a aplicativos que funcionam com grandes conjuntos de dados não estruturados, como dados de arquivo de log, imagens ou documentos, HPC e outros. Além disso, se você ingerir dados no Azure Data Lake Storage, poderá montá-los e usá-los diretamente no AKS sem configurar outro sistema de arquivos provisório.
Quando você monta o Armazenamento de Blobs do Azure como um sistema de arquivos em um contêiner ou pod, ele permite que você use o armazenamento de blobs com vários aplicativos que funcionam em grandes quantidades de dados não estruturados, como:
- Dados do arquivo de log
- Imagens, documentos e streaming de vídeo ou áudio
- Dados de recuperação de desastre
Os aplicativos podem acessar dados no armazenamento de objetos usando o blobFuse ou o protocolo NFS (Sistema de Arquivos de Rede) 3.0. Antes da introdução do driver CSI para Blobs do Azure, a única opção era instalar manualmente um driver não oficialmente suportado para acessar o armazenamento de Blobs a partir do seu aplicativo em execução no AKS.
Recursos do driver CSI do Armazenamento de Blobs do Azure
- Duas classes de armazenamento internas: azureblob-fuse-premium_ e azureblob-nfs-premium.
- Protocolo Network File System (NFS) e BlobFuse versão 3.0.
Pré-requisitos
- Você precisará da CLI do Azure versão 2.42 ou posterior instalada e configurada. Localize a versão executando o comando
az --version. Para instalar ou atualizar, confira Instalar a CLI do Azure. - Se o driver CSI de armazenamento de software livre estiver instalado em seu cluster, desinstale-o antes de habilitar o driver CSI de armazenamento do Azure.
Siga das etapas aqui se você instalou anteriormente o driver open-source do Azure Blob Storage CSI para acessar o Azure Blob Storage do seu cluster.
Observação
Se o blobfuse-proxy não estiver habilitado durante a instalação do driver de software livre, a desinstalação do driver de software livre interromperá as montagens de blobfuse existentes. No entanto, os NFS mounts permanecem inalterados.
- Para impor a Azure Policy para a definição de políticas do AKS e os clusters do Kubernetes usarem o driver da Interface de Armazenamento de Contêineres (CSI)
StorageClass, você precisa habilitar o complemento do Azure Policy em seu cluster. Para habilitar em um cluster existente, consulte Learn Azure Policy para Kubernetes.
Cenários com suporte para criptografia de disco
Os drivers de armazenamento CSI dão suporte aos seguintes cenários:
- Discos gerenciados criptografados com chaves gerenciadas pelo cliente usando cofres de chaves do Azure armazenados em um locatário diferente do Microsoft Entra.
- Criptografe os discos do Armazenamento do Azure que hospedam o sistema operacional (SO) do AKS e os dados do aplicativo com chaves gerenciadas pelo cliente.
Habilitar o driver de armazenamento csi do Azure Disks em um cluster do AKS existente
Habilite o driver CSI do Azure Disks em um cluster existente usando o comando [
az aks update][az-aks-update] com o--enable-disk-driverparâmetro. O exemplo a seguir habilita o driver CSI do Azure Disks em um cluster existente chamado myAKSCluster no grupo de recursos myResourceGroup:Observação
Você pode habilitar o controlador de instantâneo ao mesmo tempo que o driver CSI do Azure Disks, que permite criar instantâneos de seus volumes persistentes. Para habilitar o controlador de instantâneo, inclua o parâmetro
--enable-snapshot-controllerno comando.az aks update --name myAKSCluster --resource-group myResourceGroup --enable-disk-driverLeva alguns minutos para habilitar o driver CSI do Azure Disks. Depois que o comando for concluído, você poderá verificar se o driver está habilitado verificando se
blobCsiDriverestá definidotruena saída. Por exemplo:"storageProfile": { "blobCsiDriver": { "enabled": true },
Habilitar o driver de armazenamento CSI dos Arquivos do Azure em um cluster AKS existente
Ative o driver CSI dos Arquivos do Azure em um cluster existente usando o comando [
az aks update][az-aks-update] com o parâmetro--enable-file-driver. O exemplo a seguir habilita o driver CSI dos Arquivos do Azure em um cluster existente chamado myAKSCluster no grupo de recursos myResourceGroup:Observação
Você pode habilitar o controlador de instantâneos ao mesmo tempo que o driver de CSI dos Arquivos do Azure, que permite criar instantâneos para seus volumes persistentes. Para habilitar o controlador de instantâneo, inclua o parâmetro
--enable-snapshot-controllerno comando.az aks update --name myAKSCluster --resource-group myResourceGroup --enable-file-driverLeva alguns minutos para habilitar o driver de CSI dos Arquivos do Azure. Depois que o comando for concluído, você poderá verificar se o driver está habilitado verificando se
fileCsiDriverestá definidotruena saída. Por exemplo:"storageProfile": { "fileCsiDriver": { "enabled": true },
Habilitar o driver CSI de Armazenamento de Blobs do Azure em um cluster AKS existente
Ative o driver de CSI do Armazenamento de Blobs do Azure em um cluster existente usando o comando [
az aks update][az-aks-update] com o parâmetro--enable-blob-driver. O exemplo a seguir habilita o driver CSI do Armazenamento de Blobs do Azure em um cluster existente chamado myAKSCluster no grupo de recursos myResourceGroup:Observação
Você pode habilitar o controlador de instantâneos ao mesmo tempo que o driver de CSI do Armazenamento de Blobs do Azure, que permite criar instantâneos para seus volumes persistentes. Para habilitar o controlador de instantâneo, inclua o parâmetro
--enable-snapshot-controllerno comando.az aks update --name myAKSCluster --resource-group myResourceGroup --enable-blob-driverLeva alguns minutos para habilitar o driver CSI do Armazenamento de Blobs do Azure. Depois que o comando for concluído, você poderá verificar se o driver está habilitado verificando se
blobCsiDriverestá definidotruena saída. Por exemplo:"storageProfile": { "blobCsiDriver": { "enabled": true },
Desabilitar o driver de armazenamento CSI do Azure Disks em um cluster do AKS existente
Desabilite o driver CSI do Azure Disks em um cluster existente usando o comando [
az aks update][az-aks-update] com o--disable-disk-driverparâmetro. O exemplo a seguir desabilita o driver CSI do Azure Disks em um cluster existente chamado myAKSCluster no grupo de recursos myResourceGroup:Observação
Você pode desabilitar o controlador de instantâneo incluindo o
--disable-snapshot-controllerparâmetro no comando.az aks update --name myAKSCluster --resource-group myResourceGroup --disable-disk-driver
Desativar o driver de armazenamento CSI do Azure Files em um cluster AKS existente
Desabilite o driver de CSI dos Arquivos do Azure em um cluster existente usando o comando [
az aks update][az-aks-update] com o parâmetro--disable-file-driver. O exemplo a seguir desabilita o driver CSI dos Arquivos do Azure em um cluster existente chamado myAKSCluster no grupo de recursos myResourceGroup:Observação
Você pode desabilitar o controlador de instantâneo incluindo o
--disable-snapshot-controllerparâmetro no comando.az aks update --name myAKSCluster --resource-group myResourceGroup --disable-file-driver
Desativar o driver de armazenamento CSI do Azure Blob Storage em um cluster AKS existente
Desabilite o driver de CSI do Armazenamento de Blobs do Azure em um cluster existente usando o comando [
az aks update][az-aks-update] com o parâmetro--disable-blob-driver. O exemplo a seguir desabilita o driver CSI do Armazenamento de Blobs do Azure em um cluster existente chamado myAKSCluster no grupo de recursos myResourceGroup:Observação
Você pode desabilitar o controlador de instantâneo incluindo o
--disable-snapshot-controllerparâmetro no comando.az aks update --name myAKSCluster --resource-group myResourceGroup --disable-blob-driver
Observação
Recomendamos excluir o objeto PersistentVolumeClaim correspondente em vez do objeto PersistentVolume ao excluir um volume CSI. O provisionador externo no driver CSI reage à exclusão de PersistentVolumeClaim. Com base na política de recuperação do PVC, o provisionador emite a chamada DeleteVolume contra os comandos do driver de volume de CSI para excluir o volume. O objeto PersistentVolume será, então, excluído.