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.

Importante

O Armazenamento de contêineres do Azure não está disponível em todas as regiões do Azure. Confira a disponibilidade regional. No momento, o Armazenamento de contêineres do Azure está em GA (disponibilidade geral) a partir da versão 1.1.0. A versão em GA é recomendada para cargas de trabalho de produção. Caso tenha instalado anteriormente a versão prévia do Armazenamento de contêineres do Azure e não esteja com a atualização automática habilitada, não se esqueça de atualizar para a versão de GA.

Para começar a usar o Armazenamento de Contêineres do Azure, confira Usar o Armazenamento de Contêineres do Azure para usar com o Serviço de Kubernetes do Azure ou assista ao vídeo.

Esse vídeo fornece uma introdução ao Armazenamento de Contêineres do Azure, um serviço de orquestração e gerenciamento de armazenamento de ponta a ponta para aplicativos com estado. Assista a esta série de vídeos para saber como otimizar o desempenho de cargas de trabalho com estado no Serviço de Kubernetes do Azure (AKS) para dimensionar efetivamente entre os serviços de armazenamento e, ao mesmo tempo, fornecer uma experiência nativa de contêiner econômica.

Tipos de armazenamento com suporte

O Armazenamento de Contêineres do Azure utiliza as ofertas existentes do Armazenamento do Azure para o armazenamento de dados real e oferece uma solução de gerenciamento e orquestração de volume criada especialmente para contêineres. Você pode escolher qualquer uma das opções de armazenamento de reserva com suporte para criar um pool de armazenamento para seus volumes persistentes.

O Armazenamento de Contêineres do Azure é compatível com volumes persistentes com o modo de acesso ReadWriteOnce para clusters do Serviço de Kubernetes do Azure (AKS) baseados em Linux. As opções de armazenamento de backup com suporte incluem apenas ofertas de armazenamento em bloco: Discos do Azure, discos efêmeros (NVMe local ou SSD temporário) e Azure Elastic SAN (versão prévia). A tabela a seguir resume os tipos de armazenamento com suporte, as cargas de trabalho recomendadas e os modelos de provisionamento.

Tipo de armazenamento Descrição Cargas de trabalho Ofertas Modelo de provisionamento
Azure Elastic SAN (versão prévia) Provisionamento sob demanda, recurso totalmente gerenciado Bancos de dados de uso geral, serviços de streaming e de mensagens, ambientes de CD/CI e outras cargas de trabalho de nível 1/nível 2. Azure Elastic SAN Provisionado sob demanda, por volume criado e instantâneo de volume. Vários clusters podem acessar uma única SAN simultaneamente; no entanto, volumes persistentes só podem ser anexados por um consumidor de cada vez.
Discos do Azure Controle granular de SKUs e configurações de armazenamento Os Discos do Azure são uma boa opção para bancos de dados de nível 1 e de uso geral como, por exemplo, MySQL, MongoDB e PostgreSQL. SSD Premium, SSD Premium v2, SSD Standard, Disco Ultra Provisionados por tamanho do pool de armazenamento de contêiner de destino e tamanho máximo de volume.
Disco Efêmero Utiliza recursos de armazenamento local em nós do AKS (NVMe ou SSD temporário) O disco efêmero é extremamente sensível à latência (baixa latência sub-ms) e, portanto, melhor para aplicativos sem nenhuma exigência de durabilidade de dados ou compatíveis com a replicação de dados integrada, como o Cassandra. O NVMe está disponível em alguns SKUs de VM do Azure, por exemplo, SKUs de VM otimizadas para armazenamento ou SKUs de VM aceleradas por GPU Implantado como parte das VMs que hospedam um cluster do AKS. O AKS descobre o armazenamento efêmero disponível em nós do AKS e os adquire para implantação de volumes.

Suporte a recursos para diferentes tipos de armazenamento

O suporte a recursos depende de qual opção de armazenamento de backup você selecionar. A tabela a seguir lista os principais recursos do Armazenamento de Contêineres do Azure e indica quais opções de armazenamento dão suporte a eles.

Recurso NVMe local Local SSD Discos do Azure Azure Elastic SAN (versão prévia)
Expansão/redimensionamento do pool de armazenamento Com suporte Compatível Compatível Sem suporte
Replicação Com suporte Sem suporte Com suporte nativo Visualizar
Consumo de recursos Com suporte Compatível Com suporte Visualizar
SSE/CMK Sem suporte Sem suporte Com suporte Visualizar
Opção Expor ZRS N/D N/D Com suporte Visualizar
Volumes persistentes Com suporte 1 Com suporte 1 Com suporte Visualizar
Volumes efêmeros Com suporte Compatível Com suporte Visualizar
Instantâneos Com suporte Compatível Compatível Incompatível

1 Para NVMe local e SSD local, o Armazenamento de contêineres do Azure usa volumes efêmeros genéricos por padrão, nos quais os dados não são persistentes. Porém, você pode atualizar a instalação do Armazenamento de Contêineres do Azure para dar suporte à criação de volumes persistentes de pools de armazenamento em disco efêmero.

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

Novidades no Armazenamento de Contêineres do Azure

Nossas atualizações mais recentes aprimoram a resiliência e o desempenho de contêineres com estado. Agora oferecemos pools de armazenamento de várias zonas e replicação de volume para pools de armazenamento NVMe locais, garantindo a disponibilidade durante falhas de nó único. O suporte a instantâneos está disponível em todas as opções de armazenamento para backup e recuperação de desastre. Além disso, agora o portfólio de disco efêmero possui suporte ao SSD temporário, fornecendo soluções econômicas para casos de uso que aproveitam o armazenamento local diretamente anexado:

  • Aprimore a resiliência dos volumes persistentes hospedados no armazenamento NVMe local com suporte para replicação.
  • Recuperação de volume persistente aprimorada após a reinicialização de um cluster do AKS (Serviço de Kubernetes do Azure).
  • Personalize o desempenho do armazenamento NVMe local com novas opções de nível de desempenho.

Para obter mais informações sobre esses recursos, envie um email para a equipe de Armazenamento de Contêineres do Azure em containerstoragepm@microsoft.com.

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

Até agora, fornecer armazenamento em nuvem para contêineres requeria o uso de drivers de interface de armazenamento de contêiner (CSI) individuais para utilizar os serviços de armazenamento destinados a cargas de trabalho centradas em IaaS e fazê-los funcionar para contêineres. Embora os drivers CSI sejam úteis em determinados cenários, depender deles pode criar sobrecarga operacional e aumentar o risco de problemas com disponibilidade, escalabilidade, desempenho, usabilidade e custo do aplicativo.

Apesar do nome, o Armazenamento de Contêineres do Azure não usa drivers CSI. Em vez disso, ele é derivado de OpenEBS, uma solução de código aberto que fornece recursos de armazenamento de contêiner para o Kubernetes. Ao oferecer uma solução de orquestração de volumes gerenciada por meio de controladores de armazenamento baseados em microsserviços em um ambiente do Kubernetes, o Armazenamento de Contêineres do Azure permite um verdadeiro armazenamento nativo de contêiner.

Você pode usar o Armazenamento de Contêineres do Azure para:

  • Acelerar as iniciativas de VM para contêiner: o Armazenamento de Contêineres do Azure expõe o espectro completo de ofertas de armazenamento em bloco do Azure que antes só estavam disponíveis para VMs e as disponibiliza para os contêineres. Isso inclui o disco efêmero, que fornece latência extremamente baixa para cargas de trabalho como o Cassandra, e também a o Azure Elastic SAN (versão prévia), que fornece uma iSCSI nativa e destinos provisionados compartilhados.

  • Simplificar o gerenciamento de volumes com o Kubernetes: ao fornecer a orquestração de volume por meio do painel de controle do Kubernetes, o Armazenamento de Contêineres do Azure facilita a implantação e o gerenciamento de volumes no Kubernetes, sem a necessidade de uma movimentação constante entre diferentes painéis de controle.

  • Reduzir o custo total de propriedade (TCO): aprimore a eficiência econômica aumentando a escala dos volumes persistentes com suporte, por pod ou por nó. Reduza os recursos de armazenamento necessários para o provisionamento compartilhando os recursos de armazenamento dinamicamente. Observe que não há suporte para o escalonamento vertical do pool de armazenamento propriamente dito.

Principais benefícios

  • Rápido escalonamento horizontal de pods com estado: o Armazenamento de Contêineres do Azure monta volumes persistentes por meio de protocolos de armazenamento de rede em blocos (NVMe-oF ou iSCSI), oferecendo anexação e desanexação rápidas dos volumes persistentes. Você pode começar pequeno e implantar recursos conforme o necessário, garantindo, ao mesmo tempo, que seus aplicativos não fiquem à míngua nem sejam interrompidos durante a inicialização ou na produção. A resiliência do aplicativo é aprimorada com respawns (ressuscitação) de pods em todo o cluster, requerendo um movimento rápido de volumes persistentes. Ao tirar proveito dos protocolos de rede remota, o Armazenamento de Contêineres do Azure forma uma combinação estreita com o ciclo de vida do pod para dar suporte a aplicativos com estado sofisticados e altamente resilientes no AKS.

  • Desempenho aprimorado para cargas de trabalho com estado: o Armazenamento de Contêineres do Azure oferece desempenho de leitura superior e desempenho de gravação semelhante ao de um disco usando NVMe-oF por TCP. Isso permite que os clientes cumpram os requisitos de desempenho com economia para vários tipos de cargas de trabalho de contêiner, incluindo o uso intensivo de E/S de nível 1, uso geral, sensível à taxa de transferência e desenvolvimento/teste. Acelere o tempo de anexação/desanexação de volumes persistentes e minimize o tempo de failover do pod.

  • Orquestração de volumes nativa do Kubernetes: crie pools de armazenamento e volumes persistentes, capture instantâneos e gerencie todo o ciclo de vida dos volumes usando comandos kubectl sem precisar alternar entre conjuntos de ferramentas para diferentes operações do painel de controle.

Glossário

É útil entender alguns termos-chave relacionados ao Armazenamento de Contêineres do Azure e ao Kubernetes:

  • Transporte em contêineres

    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.

  • 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.

  • 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.

  • Pool de armazenamento

    A pilha do Armazenamento de Contêineres do Azure tenta unificar o modelo de objeto nos diversos recursos e abstrações de plataforma pertencentes ao cluster. Para cumprir o objetivo da representação unificada, a capacidade de armazenamento disponível é agregada a um objeto de pool de armazenamento. A capacidade de armazenamento dentro de um pool de armazenamento é considerada homogênea. Um cluster do AKS pode ter vários pools de armazenamento. Os pools de armazenamento também servem como um limite de autenticação e provisionamento. Os volumes persistentes fornecem um constructo lógico para que os operadores gerenciem a infraestrutura de armazenamento e, ao mesmo tempo, simplificam a criação e o gerenciamento de volume para os desenvolvedores de aplicativos.

  • 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