Partilhar via


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

O Armazenamento de Contentores do Azure é um serviço de gestão, implementação e orquestração de volumes baseado na cloud criado nativamente para contentores. Integra-se com o Kubernetes, permitindo-lhe aprovisionar dinamicamente e automaticamente volumes persistentes para armazenar dados para aplicações com estado em execução em clusters do Kubernetes.

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

Importante

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

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

O Armazenamento de Contêiner do Azure dá às cargas de trabalho de contêiner acesso ao armazenamento de alto desempenho que antes só estava disponível para máquinas virtuais. Ele suporta discos NVMe locais rápidos, que são ideais para cargas de trabalho sensíveis à latência, como 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 Kubernetes do Azure e clusters Kubernetes autogerenciados. Como usa componentes de código aberto, ele dá suporte a implantações no Azure e em outras nuvens, fornecendo flexibilidade para configurações híbridas e multicloud.

Principais benefícios

  • Dimensionamento contínuo de pods stateful: O Armazenamento de Contêineres do Azure permite o dimensionamento rápido montando volumes persistentes usando protocolos de armazenamento de blocos de rede de alto desempenho, como NVMe-oF ou iSCSI. Essa abordagem garante operações rápidas de conexão e desanexação, permitindo que você dimensione dinamicamente os recursos para cima ou para baixo sem correr o risco de interromper o aplicativo. Durante a inicialização ou failover do pod, os volumes persistentes podem ser rapidamente reatribuídos em todo o cluster, aprimorando a resiliência do aplicativo e suportando cargas de trabalho de alta escala e com estado no Kubernetes.

  • Desempenho otimizado para cargas de trabalho com monitoração de estado: O Armazenamento de Contêiner do Azure oferece alta taxa de transferência de leitura e velocidades de gravação de disco quase nativas usando NVMe-oF sobre TCP. Essa arquitetura permite um desempenho econômico para uma ampla variedade de cargas de trabalho em contêineres — incluindo cenários de E/S de nível 1, de uso geral, sensíveis à taxa de transferência e de desenvolvimento/teste. Ele também acelera as operações persistentes de conexão e desanexação de volume, reduzindo os tempos de failover do pod e melhorando a resiliência do aplicativo.

  • Orquestração de volumes nativos do Kubernetes: Crie facilmente classes de armazenamento e volumes persistentes, gerencie o ciclo de vida completo dos volumes — incluindo provisionamento, expansão, exclusão e execute operações como captura de snapshots, 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 Kubernetes.

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

Tipos de armazenamento suportados

O Armazenamento de Contêineres do Azure fornece uma camada de orquestração e gerenciamento nativa do Kubernetes para volumes persistentes em clusters Kubernetes baseados em Linux. Utiliza as opções atuais do Armazenamento do Azure como base para o armazenamento de dados. Atualmente, o Armazenamento de Contêiner do Azure v2 oferece 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 AKS Ideal para aplicativos que exigem latência ultrabaixa e não toleram 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 Kubernetes. Descobre e adquire automaticamente discos NVMe locais em nós de cluster para implantação de volume.

Suporte a funcionalidades para diferentes tipos de armazenamento

A tabela a seguir lista os principais recursos do Armazenamento de Contêiner do Azure e indica se eles são suportados em discos NVMe locais.

Funcionalidade Local NVMe
Volumes efémeros Suportado
Volumes persistentes Suportado1
Expansão/redimensionamento fotovoltaico Suportado
Instantâneos Não suportado
Replicação Não suportado

1 Por padrão, o Armazenamento de Contêiner do Azure usa volumes efêmeros genéricos para discos NVMe locais, o que significa que os dados não são retidos 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 configuração apropriada ao seu Pedido de Volume Persistente. Para obter detalhes, consulte Criar volumes persistentes com discos NVMe locais.

Disponibilidade regional

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

  • (África) África do Sul Norte
  • (Ásia-Pacífico) Leste da Austrália
  • (Ásia-Pacífico) Ásia Oriental
  • Leste do Japão (Ásia-Pacífico)
  • (Ásia-Pacífico) Coreia Central
  • (Ásia-Pacífico) Sudeste Asiático
  • (Ásia-Pacífico) Índia Central
  • (Europa) França Central
  • (Europa) Alemanha Centro-Oeste
  • (Europa) Europa do Norte
  • (Europa) Europa Ocidental
  • (Europa) Sul do Reino Unido
  • (Europa) Suécia Central
  • (Europa) Suíça Norte
  • (Médio Oriente) Norte dos Emirados Árabes Unidos
  • (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 centrais
  • (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) Brasil Sul

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 Azure Container Storage v2.
  • Azure Disks: escolha Azure Container Storage v1. O Azure Container Storage v2 ainda não tem suporte para Discos do Azure.
  • Azure Elastic SAN: escolha Azure Container Storage v1. O Azure Container Storage v2 ainda não tem suporte ao Azure Elastic SAN.

Glossário

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

  • Contentorização

    Empacotando o código do aplicativo apenas com 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.

  • Serviço Kubernetes do Azure (AKS)

    O Serviço Kubernetes do Azure é um serviço Kubernetes hospedado que simplifica a implantação de um cluster Kubernetes gerenciado no Azure descarregando a sobrecarga operacional para o Azure. O Azure lida com tarefas críticas, como monitorização de saúde e manutenção.

  • Cluster

    Um cluster Kubernetes é um conjunto de nós de computação (VMs) que executam aplicativos em contêineres. 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 armazenamento compartilhado e recursos de rede, e uma especificação de como executar os contêineres. Um pod é a menor unidade implantável em um cluster Kubernetes.

  • Classe de armazenamento

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

  • Volume

    Um volume 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 de forma fina dentro de 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. Eles representam um dispositivo de bloco bruto que você pode usar para montar qualquer sistema de arquivos. Os desenvolvedores de aplicações criam volumes persistentes juntamente com suas definições de aplicação ou pod, e os volumes estão frequentemente vinculados ao ciclo de vida da aplicação com estado. Para obter mais informações, consulte Volumes persistentes.

  • Pedido de volume persistente (PVC)

    Uma declaração de volume persistente é usada para provisionar automaticamente o armazenamento com base em uma classe de armazenamento.

Próximos passos