Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Armazenamento de Contêineres do Azure é um serviço de gerenciamento, implantação e orquestração de volumes 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 para aplicativos com monitoração de estado executados em clusters Kubernetes. O Armazenamento de Contêineres do Azure é derivado do OpenEBS, uma solução de código aberto que fornece recursos de armazenamento de contêiner para Kubernetes.
Importante
Este artigo aborda os recursos disponíveis no Armazenamento de Contêiner do Azure (versão 1.x.x). O Armazenamento de Contêineres do Azure (versão 2.x.x) já está disponível. O Armazenamento de Contêiner do Azure não está disponível em todas as regiões do Azure. Consulte a disponibilidade regional. 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.
Este vídeo fornece uma introdução ao Armazenamento de Contêiner do Azure (versão 1.x.x), um serviço de orquestração e gerenciamento de armazenamento de ponta a ponta 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 (versão 1.x.x) oferece suporte a volumes persistentes com o modo de acesso ReadWriteOnce para clusters do Serviço Kubernetes do Azure (AKS) baseados em Linux. As opções de armazenamento de suporte incluem: Discos do Azure, Discos Efémeros (NVMe local ou SSD temporário), e Azure Elastic SAN. 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 do contentor 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 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.
| Feature | 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 |
| Replication | Suportado | Não suportado | Suporte nativo | Preview |
| Consumo de recursos | Suportado | Suportado | Suportado | Preview |
| SSE/CMK | Não suportado | Não suportado | Suportado | Preview |
| Expor a opção ZRS | N/A | N/A | Suportado | Preview |
| Volumes persistentes | Supported1 | Supported1 | Suportado | Preview |
| Volumes efémeros | Suportado | Suportado | Suportado | Preview |
| 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
As nossas atualizações mais recentes melhoram a resiliência e o desempenho de contêineres stateful. Agora oferecemos pools de armazenamento multi-zona e replicação de volumes para pools de armazenamento NVMe locais, garantindo a disponibilidade durante falhas de um único nó. 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.
- A recuperação de volume persistente foi 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@service.microsoft.com.
Por que o Armazenamento de Contêiner do Azure é útil
Até agora, fornecer armazenamento em nuvem para contêineres exigia configurar drivers de interface de armazenamento de contêiner (CSI) 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 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 as iniciativas VM-to-container: 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.
Reduza o custo total de propriedade (TCO): Melhore a eficiência de custo ao aumentar a quantidade 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 estado: O Armazenamento de Contêineres do Azure monta volumes persistentes em protocolos de armazenamento de bloco de rede (NVMe-oF ou iSCSI), oferecendo conexão e desanexação rápidas de volumes persistentes. Pode começar pequeno e desenvolver recursos conforme necessário, certificando-se de que as suas aplicações não fiquem sem recursos ou sofram interrupções, seja durante a inicialização ou em 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 Contentor do Azure integra-se estreitamente com o ciclo de vida do pod para oferecer suporte a aplicações com estado altamente resilientes e de alta escala no AKS.
Desempenho melhorado para cargas de trabalho com estado: O Armazenamento de Contentores do Azure permite um desempenho superior de leitura e fornece um desempenho de escrita próximo ao 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 nativos do Kubernetes: Crie pools de armazenamento e volumes persistentes, capture snapshots e gerencie todo o ciclo de vida dos volumes usando
kubectlcomandos 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:
Conteinerizaçã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.
Aglomeração
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.
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 a monitorização de saúde e manutenção.
Pool de armazenamento
No Armazenamento de Contêiner 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 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 criam volumes persistentes juntamente com as suas definições de aplicação ou pod, e os volumes estão muitas vezes ligados ao ciclo de vida da aplicação stateful. 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.