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.
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 dinamicamente e automaticamente para armazenar dados para aplicativos com estado em execução em clusters do Kubernetes. O Armazenamento de Contêineres do Azure é derivado do OpenEBS, uma solução de software livre que fornece recursos de armazenamento de contêiner para Kubernetes.
Importante
Este artigo aborda funcionalidades e recursos disponíveis no Armazenamento de Contêineres do Azure (versão 1.x.x). O Armazenamento de Contêineres do Azure (versão 2.x.x) agora está disponível. O Armazenamento de Contêineres do Azure não está disponível em todas as regiões do Azure. Consulte a disponibilidade regional. Se você instalou anteriormente a versão prévia do Armazenamento de Contêineres do Azure e não tem a atualização automática habilitada, não se esqueça de atualizar para a versão ga.
Este vídeo fornece uma introdução ao Armazenamento de Contêineres do Azure (versão 1.x.x), um serviço de gerenciamento de armazenamento de ponta a ponta e orquestração para aplicativos com estado. Saiba como otimizar o desempenho de cargas de trabalho com estado no AKS (Serviço de Kubernetes do Azure) para dimensionar efetivamente os serviços de armazenamento, fornecendo uma experiência econômica e nativa de contêiner.
Tipos de armazenamento com suporte
O Armazenamento de Contêineres do Azure utiliza ofertas existentes do Armazenamento do Azure para armazenamento de dados real e oferece uma solução de gerenciamento e orquestração de volume criada propositalmente para contêineres. Você pode escolher qualquer uma das opções de armazenamento de backup com suporte para criar um pool de armazenamento para seus volumes persistentes.
O Armazenamento de Contêineres do Azure (versão 1.x.x) oferece suporte a volume persistente com o modo de acesso ReadWriteOnce para clusters do AKS (Serviço de Kubernetes do Azure) baseados em Linux. As opções de armazenamento de backup com suporte incluem: Discos do Azure, Discos Efêmeros (NVMe local ou SSD temporário) e SAN Elástico do Azure. A tabela a seguir resume os tipos de armazenamento com suporte, cargas de trabalho recomendadas e modelos de provisionamento.
| Tipo de armazenamento | Descrição | Workloads | Ofertas | Modelo de provisionamento |
|---|---|---|---|---|
| SAN Elástico do Azure (versão prévia) | 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/2. | Azure Elastic SAN | Provisionado sob demanda, por volume criado e instantâneo de volume. Vários clusters podem acessar um único SAN simultaneamente, no entanto, volumes persistentes só podem ser anexados por um consumidor por vez. |
| Discos do Azure | Controle granular de SKUs de armazenamento e configurações | Os Discos do Azure são uma boa opção para bancos de dados de nível 1 e de uso geral, como MySQL, MongoDB e PostgreSQL. | SSD Premium, SSD Premium v2, SSD Standard, Ultra Disk | 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), portanto, é melhor para aplicativos sem nenhum requisito de durabilidade de dados ou com suporte de replicação de dados interno, 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 funcionalidades 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.
| Característica | Local NVMe | Local SSD | Discos do Azure | SAN Elástico do Azure (versão prévia) |
|---|---|---|---|---|
| Expansão/redimensionamento do pool de armazenamento | Suportado | Suportado | Suportado | Sem suporte |
| Replication | Suportado | Sem suporte | Com suporte nativo | Preview |
| Consumo de recursos | Suportado | Suportado | Suportado | Preview |
| SSE/CMK | Sem suporte | Sem suporte | Suportado | Preview |
| Opção Expor ZRS | N/A | N/A | Suportado | Preview |
| Volumes persistentes | Com suporte 1 | Com suporte 1 | Suportado | Preview |
| Volumes efêmeros | Suportado | Suportado | Suportado | Preview |
| Instantâneos | Suportado | Suportado | Suportado | Sem suporte |
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. No entanto, 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 de 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, o portfólio do Disco Efêmero agora inclui suporte temporário ao SSD, 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 camada 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@service.microsoft.com.
Por que o Armazenamento de Contêineres do Azure é útil
Até agora, fornecer armazenamento em nuvem para contêineres requeria configurar drivers de CSI (interface de armazenamento de contêiner) para usar serviços de armazenamento destinados a cargas de trabalho centradas em IaaS e fazê-los funcionar para contêineres. Em determinados cenários, isso pode criar sobrecarga operacional e aumentar o risco de problemas com disponibilidade, escalabilidade, desempenho, usabilidade e custo do aplicativo.
Com o Armazenamento de Contêineres do Azure, você não precisa se preocupar em configurar drivers CSI individuais. Ao oferecer uma solução de orquestração de volume gerenciado por meio de controladores de armazenamento baseados em microsserviços em um ambiente do Kubernetes, o Armazenamento de Contêineres do Azure permite o armazenamento nativo verdadeiro de contêiner.
Você pode usar o Armazenamento de Contêineres do Azure para:
Acelere as iniciativas de VM para contêiner: O Armazenamento de Contêineres do Azure apresenta todo o espectro de ofertas de armazenamento de blocos do Azure que antes só estavam disponíveis para VMs e as disponibiliza para contêineres. Isso inclui disco efêmero que fornece latência extremamente baixa para cargas de trabalho como o Cassandra, bem como o Azure Elastic SAN (versão prévia) que fornece iSCSI nativo e destinos provisionados compartilhados.
Simplifique o gerenciamento de volume com o Kubernetes: Ao fornecer orquestração de volume 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 se mover para frente e para trás entre diferentes planos 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 provisionamento compartilhando dinamicamente os recursos de armazenamento. Observe que não há suporte para ampliar o próprio pool de armazenamento.
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 aos poucos e implantar recursos conforme necessário, certificando-se de que seus aplicativos não estejam carentes de recursos ou interrompidos, tanto durante a inicialização quanto em 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. Aproveitando protocolos de rede remota, o Armazenamento de Contêineres do Azure integra-se fortemente ao ciclo de vida do pod para oferecer suporte a aplicações de estado altamente resilientes e de alta escala no AKS.
Desempenho aprimorado para cargas de trabalho com estado: O Armazenamento de Contêineres do Azure permite um desempenho de leitura superior e fornece desempenho de gravação quase em 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
kubectlsem 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:
Conteinerização
Empacotando o 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 software livre 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 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 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 do 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 de saúde e manutenção.
Pool de armazenamento
No Armazenamento de Contêineres do Azure (versão 1.x.x), a capacidade de armazenamento disponível é agregada em um objeto de pool de armazenamento. A capacidade de armazenamento em 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 o limite de autenticação e provisionamento. Eles fornecem um constructo lógico para os operadores gerenciarem a infraestrutura de armazenamento, simplificando a criação e o gerenciamento de volume para 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, consulte 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 de forma enxuta 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
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 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, consulte Volumes Persistentes.
Declaração de volume persistente (PVC)
Uma declaração de volume persistente é usada para provisionar automaticamente o armazenamento com base em uma classe de armazenamento.