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.

Importante

O Armazenamento de Contêiner do Azure não está disponível em todas as regiões do Azure. Veja a disponibilidade regional. O Armazenamento de Contêineres do Azure agora está disponível em geral (GA) a partir da versão 1.1.0. A versão GA é recomendada para cargas de trabalho de produção. Se você instalou anteriormente a visualização do Armazenamento de Contêiner do Azure e não tem a atualização automática habilitada, certifique-se de atualizar para a versão GA.

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

Este vídeo fornece uma introdução ao Armazenamento de Contêineres do Azure, um serviço completo de gerenciamento e orquestração de armazenamento para aplicativos com monitoração de estado. Saiba como otimizar o desempenho de cargas de trabalho com monitoração de estado no Serviço Kubernetes do Azure (AKS) para dimensionar efetivamente entre serviços de armazenamento e, ao mesmo tempo, fornecer uma experiência nativa de contêiner econômica.

Tipos de armazenamento suportados

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

O Armazenamento de Contêineres do Azure oferece suporte a volumes persistentes com o modo de acesso ReadWriteOnce a clusters do Serviço Kubernetes do Azure (AKS) baseados em Linux. As opções de armazenamento de suporte com suporte incluem apenas ofertas de armazenamento em bloco: Discos do Azure, Discos Efémeros (NVMe local ou SSD temporário) e SAN Elástica do Azure (Pré-visualização). A tabela a seguir resume os tipos de armazenamento suportados, cargas de trabalho recomendadas e modelos de provisionamento.

Tipo de armazenamento Descrição Cargas de trabalho Ofertas Modelo de provisionamento
Azure Elastic SAN (Pré-visualização) Provisão sob demanda, recurso totalmente gerenciado Bancos de dados de uso geral, serviços de streaming e mensagens, ambientes de CD/CI e outras cargas de trabalho de nível 1/camada 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, os volumes persistentes só podem ser anexados por um consumidor de cada vez.
Azure Disks Controle granular de SKUs e configurações de armazenamento Os Discos do Azure são uma boa opção para bancos de dados de camada 1 e de uso geral, como MySQL, MongoDB e PostgreSQL. SSD Premium, SSD Premium v2, SSD padrão, Ultra Disk Provisionado por tamanho de 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 AKS (NVMe ou SSD temporário) O disco efêmero é extremamente sensível à latência (baixa latência sub-ms), por isso é melhor para aplicativos sem requisitos de durabilidade de dados ou com suporte integrado à replicação de dados, como Cassandra. O NVMe está disponível em algumas 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 AKS. O AKS descobre o armazenamento efêmero disponível nos nós AKS e os adquire para implantação em volume.

Suporte a recursos para diferentes tipos de armazenamento

O suporte a recursos depende da opção de armazenamento de backup selecionada. A tabela a seguir lista os principais recursos do Armazenamento de Contêiner do Azure e indica quais opções de armazenamento oferecem suporte a eles.

Funcionalidade Local NVMe Local SSD Azure Disks Azure Elastic SAN (Pré-visualização)
Expansão/redimensionamento do pool de armazenamento Suportado Suportado Suportado Não suportado
Replicação Suportado Não suportado Suporte nativo Pré-visualizar
Consumo de recursos Suportado Suportado Suportado Pré-visualizar
SSE/CMK Não suportado Não suportado Suportado Pré-visualizar
Expor a opção ZRS N/A N/A Suportado Pré-visualizar
Volumes persistentes Suportado1 Suportado1 Suportado Pré-visualizar
Volumes efémeros Suportado Suportado Suportado Pré-visualizar
Instantâneos Suportado Suportado Suportado Não suportado

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

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

O que há de novo no Armazenamento de Contêiner do Azure

Nossas atualizações mais recentes melhoram a resiliência e o desempenho de contêineres com monitoração de estado. Agora oferecemos pools de armazenamento de várias zonas e replicação de volume para pools de armazenamento NVMe locais, garantindo disponibilidade durante falhas de nó único. O suporte a snapshots está disponível em todas as opções de armazenamento para backup e recuperação de desastres. Além disso, o portfólio Ephemeral Disk agora inclui suporte a SSD temporário, fornecendo soluções econômicas para casos de uso aproveitando o armazenamento local diretamente conectado:

  • Melhore a resiliência de seus volumes persistentes hospedados no armazenamento NVMe local com suporte à replicação.
  • Recuperação de volume persistente melhorada após o reinício de um cluster do Serviço Kubernetes do Azure (AKS).
  • Personalize o desempenho do seu armazenamento NVMe local com novas opções de camada de desempenho.

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

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

Até agora, o fornecimento de armazenamento em nuvem para contêineres exigia o uso de drivers de interface de armazenamento de contêiner individual (CSI) para usar 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, confiar neles 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êiner do Azure não usa drivers CSI. Em vez disso, ele é derivado do 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 gerenciados por meio de controladores de armazenamento baseados em microsserviços em um ambiente Kubernetes, o Armazenamento de Contêiner do Azure permite um verdadeiro armazenamento nativo de contêiner.

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

  • Acelere iniciativas de VM para contêiner: o Armazenamento de Contêineres do Azure apresenta todo o espectro de ofertas de armazenamento em bloco do Azure que antes estavam disponíveis apenas para VMs e as disponibiliza para contêineres. Isso inclui disco efêmero que fornece latência extremamente baixa para cargas de trabalho como Cassandra, bem como Azure Elastic SAN (Preview) que fornece iSCSI nativo e destinos provisionados compartilhados.

  • Simplifique o gerenciamento de volumes com o Kubernetes: ao fornecer orquestração de volumes por meio do plano 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 ir e voltar entre diferentes planos de controle.

  • Reduzir o custo total de propriedade (TCO): melhore a eficiência de custos aumentando a escala de volumes persistentes suportados por pod ou nó. Reduza os recursos de armazenamento necessários para provisionamento compartilhando dinamicamente os recursos de armazenamento. Observe que o suporte de expansão para o pool de armazenamento em si não é suportado.

Principais benefícios

  • Escalabilidade rápida de pods com monitoração de estado: o Armazenamento de Contêiner do Azure monta volumes persistentes em protocolos de armazenamento de bloco de rede (NVMe-oF ou iSCSI), oferecendo conexão e desconexão rápidas de volumes persistentes. Você pode começar pequeno e implantar recursos conforme necessário, certificando-se de que seus aplicativos não sejam prejudicados ou interrompidos, seja durante a inicialização ou na produção. A resiliência do aplicativo é melhorada com respawns pod em todo o cluster, exigindo movimento rápido de volumes persistentes. Aproveitando os protocolos de rede remotos, o Armazenamento de Contêiner do Azure combina perfeitamente com o ciclo de vida do pod para oferecer suporte a aplicativos com estado altamente resilientes e de alta escala no AKS.

  • Desempenho melhorado para cargas de trabalho com monitoração de estado: o Armazenamento de Contentores do Azure permite um desempenho de leitura superior e fornece um desempenho de escrita próximo do disco utilizando NVMe-oF sobre TCP. Isso permite que os clientes atendam de forma econômica aos requisitos de desempenho para várias cargas de trabalho de contêiner, incluindo uso intensivo de E/S de nível 1, uso geral, sensível à taxa de transferência e desenvolvimento/teste. Acelere o tempo de conexã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 snapshots e gerencie todo o ciclo de vida dos volumes usando kubectl comandos sem alternar entre conjuntos de ferramentas para diferentes operações do plano de controle.

Glossário

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

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

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

  • Azure Kubernetes Service (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 monitoramento e manutenção de integridade.

  • Pool de armazenamento

    A pilha de Armazenamento de Contêiner do Azure tenta unificar o modelo de objeto entre recursos de propriedade do cluster e abstrações de plataforma. Para realizar a representação unificada, a capacidade de armazenamento disponível é agregada em um objeto de pool de armazenamento. A capacidade de armazenamento dentro de um pool de armazenamento é considerada homogênea. Um cluster AKS pode ter vários pools de armazenamento. Os pools de armazenamento também servem como limite de autenticação e provisionamento. Eles fornecem uma construção lógica para os operadores gerenciarem a infraestrutura de armazenamento e, ao mesmo tempo, simplificam a criação e o gerenciamento de volumes para desenvolvedores de aplicativos.

  • 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 aplicativos criam volumes persistentes junto com suas definições de aplicativo ou pod, e os volumes geralmente estão vinculados ao ciclo de vida do aplicativo com monitoração de estado. Para obter mais informações, consulte Volumes persistentes.

  • Reivindicação 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