Compartilhar via


O que é o Armazenamento de Contêineres do Azure?

O Armazenamento de Contêineres do Azure é um serviço de gerenciamento de volume, implantação e orquestração baseado em nuvem criado nativamente para contêineres. Ele se integra ao Kubernetes, permitindo que você provisione volumes persistentes de forma dinâmica e automática para armazenar dados de aplicativos com estado em execução em clusters do Kubernetes.

Para começar a usar o Armazenamento de Contêineres do Azure, consulte Instalar o Armazenamento de Contêineres do Azure para uso com o Serviço de Kubernetes do Azure.

Importante

Este artigo aborda recursos e funcionalidades disponíveis no Armazenamento de Contêineres do Azure (versão 2.x.x), que atualmente só dá suporte ao disco NVMe local como armazenamento de backup. Para obter detalhes sobre versões anteriores, consulte a documentação do Armazenamento de Contêineres do Azure (versão 1.x.x).

Por que o Armazenamento de Contêineres do Azure é útil

O Armazenamento de Contêineres do Azure fornece às cargas de trabalho de contêiner acesso ao armazenamento de alto desempenho que anteriormente só estava disponível para máquinas virtuais. Ele dá suporte a discos NVMe locais rápidos, que são ideais para cargas de trabalho sensíveis à latência, como o PostgreSQL, e estruturas de IA e ML com uso intensivo de computação, como Ray e Kubeflow.

Você pode criar e gerenciar volumes de armazenamento usando ferramentas padrão do Kubernetes. Você não precisa alternar entre portais diferentes ou configurar drivers CSI por conta própria. Essa simplicidade facilita as tarefas de armazenamento e ajuda as equipes a se concentrarem na execução de seus aplicativos.

O Armazenamento de Contêineres do Azure funciona com o Serviço de Kubernetes do Azure e clusters Kubernetes autogerenciados. Como usa componentes de software livre, ele dá suporte a implantações no Azure e em outras nuvens, fornecendo flexibilidade para configurações híbridas e multinuvem.

Principais benefícios

  • Escalonamento contínuo de pods com estado: O Azure Container Storage permite escalonamento rápido montando volumes persistentes usando protocolos de armazenamento em bloco de rede de alto desempenho, como NVMe-oF ou iSCSI. Essa abordagem garante operações rápidas de anexação e desanexação, permitindo que você dimensione dinamicamente os recursos para cima ou para baixo sem arriscar a interrupção do aplicativo. Durante a inicialização do pod ou failover, os volumes persistentes podem ser rapidamente realocados pelo cluster, aumentando a resiliência da aplicação e suportando cargas de trabalho com estado de alta escala no Kubernetes.

  • Desempenho otimizado para cargas de trabalho com estado: O Armazenamento de Contêineres do Azure fornece alta taxa de transferência de leitura e velocidades de gravação de disco quase nativas usando NVMe-oF por TCP. Essa arquitetura proporciona um desempenho econômico para uma ampla gama de cargas de trabalho em contêineres, incluindo cargas de trabalho de nível 1 intensivas de E/S, de uso geral, sensíveis ao throughput e de desenvolvimento/teste. Ele também acelera as operações de anexar e desanexar volumes persistentes, reduzindo o tempo de failover dos pods e melhorando a resiliência da aplicação.

  • Orquestração de volume nativa do Kubernetes: Crie perfeitamente classes de armazenamento e volumes persistentes, gerencie todo o ciclo de vida dos volumes, incluindo provisionamento, expansão, exclusão e executar operações como capturar instantâneos, tudo usando comandos familiares kubectl . Essa abordagem unificada elimina a necessidade de alternar entre diferentes ferramentas ou interfaces, simplificando o gerenciamento de armazenamento em seu ambiente do Kubernetes.

  • Software livre e orientado pela comunidade: O Armazenamento de Contêineres do Azure é desenvolvido como um projeto de software livre. Ele pode ser instalado por meio de uma extensão do AKS, conforme descrito no tutorial, ou por meio do Helm usando o repositório local-csi-driver . Essa abordagem aberta permite que os usuários contribuam, personalizem e se integrem aos padrões e fluxos de trabalho existentes do Kubernetes.

Tipos de armazenamento com suporte

O Armazenamento de Contêineres do Azure fornece uma camada de gerenciamento e orquestração nativa do Kubernetes para volumes persistentes em clusters kubernetes baseados em Linux. Ele utiliza as ofertas existentes do Azure Storage como armazenamento de dados subjacente. Atualmente, o Armazenamento de Contêineres do Azure v2 dá suporte apenas a discos NVMe locais para armazenamento de backup.

Tipo de armazenamento Descrição Cargas de trabalho Ofertas Modelo de provisionamento
Disco NVMe local Utiliza discos NVMe locais em nós do AKS Melhor para aplicativos que exigem latência ultra-baixa e não podem tolerar durabilidade de dados ou têm replicação interna (por exemplo, PostgreSQL). Disponível em tamanhos de VM do Azure selecionados, como tamanhos de VM otimizados para armazenamento e tamanhos de VM aceleradas por GPU. Implantado em um cluster do Kubernetes. Descobre e adquire automaticamente discos NVMe locais nos nós do cluster para implantação de volumes.

Suporte a recursos para diferentes tipos de armazenamento

A tabela a seguir lista os principais recursos do Armazenamento de Contêineres do Azure e indica se eles têm suporte em discos NVMe locais.

Recurso NVMe local
Volumes efêmeros Com suporte
Volumes persistentes 1 com suporte
Expansão/redimensionamento de PV Com suporte
Instantâneos Sem suporte
Replicação Sem suporte

1 Por padrão, o Armazenamento de Contêineres do Azure usa volumes efêmeros genéricos para discos NVMe locais, o que significa que os dados não são mantidos após a exclusão do pod. Para habilitar volumes persistentes que não estão vinculados ao ciclo de vida do pod, adicione a anotação apropriada à declaração de volume persistente. Para obter detalhes, consulte Criar volumes persistentes com discos NVMe locais.

Disponibilidade regional

O Armazenamento de Contêineres do Azure só está disponível para um subconjunto de regiões do Azure:

  • (Africa) Norte da África do Sul
  • (Pacífico Asiático) Leste da Austrália
  • (Pacífico Asiático) Leste da Ásia
  • (Pacífico Asiático) Leste do Japão
  • (Pacífico Asiático) Coreia Central
  • (Pacífico Asiático) Sudeste da Ásia
  • (Pacífico Asiático) Índia Central
  • (Europa) França Central
  • (Europa) Centro-Oeste da Alemanha
  • (Europa) Norte da Europa
  • (Europa) Oeste da Europa
  • (Europa) Sul do Reino Unido
  • (Europa) Suécia Central
  • (Europa) Norte da Suíça
  • (Oriente Médio) Norte dos EAU
  • (América do Norte) Leste dos EUA
  • (América do Norte) Leste dos EUA 2
  • (América do Norte) Oeste dos EUA
  • (América do Norte) Oeste dos EUA 2
  • (América do Norte) Oeste dos EUA 3
  • (América do Norte) EUA Central
  • (América do Norte) Centro-Norte dos EUA
  • (América do Norte) Centro-Sul dos EUA
  • (América do Norte) Centro-Oeste dos EUA
  • (América do Norte) Canadá Central
  • (América do Norte) Leste do Canadá
  • (América do Sul) Sul do Brasil

Considerações para escolher uma versão principal

O Armazenamento de Contêineres do Azure oferece duas versões principais: v1 e v2. Escolha a versão apropriada com base na opção de armazenamento subjacente.

  • Discos NVMe locais: escolha o Armazenamento de Contêineres do Azure v2.
  • Discos do Azure: escolha o Armazenamento de Contêineres do Azure v1. O Armazenamento de Contêineres do Azure v2 ainda não tem suporte para Discos do Azure.
  • SAN Elástico do Azure: escolha o Azure Container Storage v1. O Armazenamento de Contêineres do Azure v2 ainda não tem suporte para SAN Elástico do Azure.

Glossário

Para navegar melhor no Armazenamento de Contêineres do Azure e nos conceitos do Kubernetes, familiarize-se com estes termos essenciais:

  • Containerização

    Empacotamento do código do aplicativo com apenas o sistema operacional e as dependências necessárias para criar um único executável.

  • Kubernetes

    O Kubernetes é um sistema de código aberto para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres.

  • AKS (Serviço de Kubernetes do Azure)

    O Serviço de Kubernetes do Azure é um serviço de Kubernetes hospedado que simplifica a implantação de um cluster gerenciado do Kubernetes no Azure descarregando a sobrecarga operacional no Azure. O Azure se encarrega das tarefas críticas, como o monitoramento e manutenção da integridade.

  • Cluster

    Um cluster do Kubernetes é um conjunto de nós de computação (VMs) que executam aplicativos conteinerizados. Cada nó é gerenciado pelo plano de controle e contém os serviços necessários para executar pods.

  • Pod

    Um pod é um grupo de um ou mais contêineres, com recursos de rede e armazenamento compartilhados e uma especificação de como executar os contêineres. Um pod é a menor unidade implantável em um cluster do Kubernetes.

  • Classe de armazenamento

    Uma classe de armazenamento do Kubernetes define como uma unidade de armazenamento é criada dinamicamente com um volume persistente. Para obter mais informações, confira Classes de Armazenamento do Kubernetes.

  • Volume

    Um volume do Kubernetes é um diretório que contém dados acessíveis a contêineres em um determinado pod. Os volumes podem ser persistentes ou efêmeros. Os volumes são provisionados em um pool de armazenamento e compartilham as características de desempenho (IOPS, largura de banda e capacidade) do pool de armazenamento.

  • Volume persistente

    Os volumes persistentes são como discos em uma VM. Representam um dispositivo de bloco bruto que você pode usar para montar qualquer sistema de arquivos. Os desenvolvedores de aplicativos criam volumes persistentes paralelamente às suas definições de aplicativos ou pods, e os volumes costumam ser vinculados ao ciclo de vida do aplicativo com estado. Para obter mais informações, confira Volumes Persistentes.

  • Declaração de volume persistente (PVC)

    A PVC (declaração de volume persistente) é usada para provisionar o armazenamento automaticamente com base em uma classe de armazenamento.

Próximas etapas