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. Neste tutorial, você criará um cluster do AKS (Serviço de Kubernetes do Azure) e instalará o Armazenamento de Contêineres do Azure (versão 1.x.x) no cluster. Se você já tiver um cluster AKS implantado, recomendamos instalar o Armazenamento de Contêineres do Azure (versão 1.x.x) usando este Início Rápido em vez de seguir as etapas manuais neste tutorial.
Importante
Este artigo explica como instalar o Armazenamento de Contêineres do Azure (versão 1.x.x), que agora exige explicitamente um parâmetro --container-storage-version 1 de fixação de versão para instalação.
O Armazenamento de Contêineres do Azure (versão 2.x.x) agora está disponível.
- Criar um grupo de recursos
- Escolher uma opção de armazenamento de dados e um tipo de VM
- Criar um cluster AKS
- Conectar-se ao cluster
- Rotular o pool de nós
- Atribuir a função de Operador de Armazenamento de Contêiner do Azure à identidade gerenciada do AKS
- Instalar o Armazenamento de Contêineres do Azure (versão 1.x.x)
Pré-requisitos
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Este artigo requer a versão mais recente da CLI do Azure. Consulte Como instalar a CLI do Azure. Se você estiver usando o ambiente bash no Azure Cloud Shell, a versão mais recente já está instalada. Se você planeja executar os comandos localmente em vez de no Azure Cloud Shell, execute-os com privilégios administrativos. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Você precisará do cliente de linha de comando do Kubernetes.
kubectlEle já está instalado se você estiver usando o Azure Cloud Shell ou pode instalá-lo localmente executando oaz aks install-clicomando.Verifique se a região de destino tem suporte nas regiões do Armazenamento de Contêineres do Azure.
Como começar
Anote sua ID de assinatura do Azure. Se você quiser usar a SAN Elástica do Azure como armazenamento de dados, precisará de uma função de Proprietário do Armazenamento de Contêiner do Azure ou da função colaborador do Armazenamento de Contêiner do Azure atribuída à assinatura do Azure. O acesso no nível do proprietário permite que você instale a extensão de Armazenamento de Contêiner do Azure, concede acesso aos seus recursos de armazenamento e dá permissão para configurar o recurso Azure Elastic SAN. O acesso no nível do colaborador permite que você instale a extensão e conceda acesso aos recursos de armazenamento. Se você estiver planejando usar o Azure Disks ou o Ephemeral Disk como armazenamento de dados, não precisará de permissões especiais em sua assinatura.
Inicie o Azure Cloud Shell ou, se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login .
Se você estiver usando o Azure Cloud Shell, poderá ser solicitado a montar o armazenamento. Selecione a assinatura do Azure na qual você deseja criar a conta de armazenamento e selecione Criar.
Instalar a extensão necessária
Adicione ou atualize para a versão k8s-extension mais recente executando o comando a seguir.
az extension add --upgrade --name k8s-extension
Definir contexto de assinatura
Defina o contexto de assinatura do Azure usando o az account set comando. Você pode exibir as IDs de assinatura de todas as assinaturas às quais você tem acesso executando o az account list --output table comando. Lembre-se de substituir <subscription-id> pela ID da assinatura.
az account set --subscription <subscription-id>
Criar um grupo de recursos
Um grupo de recursos do Azure é um grupo lógico que contém os recursos do Azure que você deseja gerenciar como um grupo. Ao criar um grupo de recursos, você é solicitado a especificar um local. Este local é:
- O local de armazenamento dos metadados do grupo de recursos.
- Onde seus recursos serão executados no Azure se você não especificar outra região durante a criação de recursos.
Crie um grupo de recursos usando o comando az group create. Substitua <resource-group-name> pelo nome do grupo de recursos que você deseja criar e substitua <location> por uma região do Azure, como eastus, westus2, westus3 ou westeurope.
az group create --name <resource-group-name> --location <location>
Se o grupo de recursos tiver sido criado com êxito, você verá uma saída semelhante a esta:
{
"id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
"location": "eastus",
"managedBy": null,
"name": "myContainerStorageRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Escolher uma opção de armazenamento de dados e um tipo de máquina virtual
Antes de criar o cluster, você deve entender qual opção de armazenamento de back-end você escolherá para criar o pool de armazenamento. Isso ocorre porque diferentes serviços de armazenamento funcionam melhor com diferentes tipos de VM (máquina virtual) como nós de cluster e você implantará seu cluster antes de criar o pool de armazenamento.
Opções de armazenamento de dados
SAN Elástico do Azure: a SAN Elástica do Azure é uma boa opção para 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. O armazenamento é provisionado sob demanda por volume criado e instantâneo do 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: os Discos do Azure são uma boa opção para bancos de dados como MySQL, MongoDB e PostgreSQL. O armazenamento é provisionado com base no tamanho do pool de armazenamento do contêiner de destino e no tamanho máximo do volume.
Disco Efêmero: essa opção usa unidades de SSD temporário ou de NVMe local nos nós do AKS e é extremamente sensível à latência (latência baixa de sub-ms), por isso é melhor para aplicativos sem requisitos de durabilidade de dados ou com suporte interno à replicação de dados, como o Cassandra. O AKS descobre o armazenamento efêmero disponível nos nós do AKS e adquire as unidades para a implantação do volume.
Consumo de recursos
O Armazenamento de Contêineres do Azure requer determinados recursos de nó para executar componentes para o serviço. Com base na seleção de tipo de pool de armazenamento, que você especificará ao instalar o Armazenamento de Contêineres do Azure, estes são os recursos que serão consumidos:
| Tipo de pool de armazenamento | Núcleos de CPU | RAM |
|---|---|---|
| Azure Elastic SAN | None | None |
| Discos do Azure | 1 | 1 GiB |
| Disco Efêmero – Temp SSD | 1 | 1 GiB |
| Disco Efêmero – NVMe Local (camada padrão) | 25% de núcleos (a camada de desempenho pode ser atualizada)* | 1 GiB |
Os recursos consumidos são por nó e serão consumidos para cada nó no pool de nós em que o Armazenamento de Contêineres do Azure será instalado. Se os nós não tiverem recursos suficientes, o Armazenamento de Contêineres do Azure não será executado. O Kubernetes tentará automaticamente inicializar esses pods com falha, portanto, se os recursos forem liberados, esses pods poderão ser inicializados novamente.
*Em um pool de armazenamento tipo Disco Efêmero – NVMe Local com a camada de desempenho padrão, se você estiver usando vários tipos de SKU de VM para seus nós de cluster, os 25% de núcleos de CPU consumidos se aplicam ao menor SKU usado. Por exemplo, se você estiver usando uma combinação de tipos de VM de 8 núcleos e 16 núcleos, o consumo de recursos será de dois núcleos. Você pode atualizar a camada de desempenho para usar uma porcentagem maior de núcleos e obter uma IOPS maior.
Verifique se o tipo de VM do cluster atende aos seguintes critérios
Para usar o Armazenamento de Contêineres do Azure, você precisará de um pool de nós de pelo menos três VMs Linux. Cada VM deve ter no mínimo quatro CPUs virtuais (vCPUs). O Armazenamento de Contêineres do Azure consumirá um núcleo para processamento de E/S em cada VM na qual a extensão é implantada.
Siga estas diretrizes ao escolher um tipo de VM para os nós de cluster. Você deve escolher um tipo de VM que dê suporte ao armazenamento premium do Azure.
- Se você pretende usar o SAN elástico do Azure ou o Azure Disks como armazenamento de backup, escolha um tipo de VM de uso geral , como standard_d4s_v5.
- Se você pretende usar o Disco Efêmero com NVMe local, escolha uma SKU de VM que dê suporte a discos NVMe locais, por exemplo, SKUs de VM otimizadas para armazenamento ou SKUs de VM aceleradas por GPU.
- Se você pretende usar o Disco Efêmero com o SSD temporário, escolha uma VM que tenha um disco SSD temporário, como as séries Ev3 e Esv3.
Criar um novo cluster do AKS e instalar o Armazenamento de Contêineres do Azure
Se você já tiver um cluster do AKS implantado, siga as instruções de instalação neste Início Rápido.
Execute o comando a seguir para criar um novo cluster do AKS, instalar o Armazenamento de Contêineres do Azure e criar um pool de armazenamento. Substitua <cluster-name> e <resource-group> pelos seus próprios valores, e especifique qual tipo de VM você deseja usar. Substitua por <storage-pool-type>azureDisk, ephemeralDiskou elasticSan. Se você selecionar ephemeralDisk, também deverá especificar --storage-pool-optione os valores poderão ser NVMe ou Temp.
A execução desse comando habilitará o Armazenamento de Contêineres do Azure no pool de nós do sistema* com três VMs do Linux. Se você estiver especificando o NVMe local para o tipo de pool de armazenamento, defina a contagem de nós como 4 ou superior ou o comando não será executado.
Por padrão, o pool de nós do sistema é nomeado nodepool1. Se você quiser habilitar o Armazenamento de Contêineres do Azure em outros pools de nós, consulte Instalar o Armazenamento de Contêineres do Azure em pools de nós específicos. Se você quiser especificar parâmetros de pool de armazenamento adicionais com este comando, consulte esta tabela.
*Se houver pools de nós existentes com o rótulo acstor.azure.com/io-engine:acstor, o Azure Container Storage instalará os componentes do plano de dados por padrão. Caso contrário, os usuários têm a opção de passar o pool de nós preferencial para acstor através da CLI do Azure. Se o cluster tiver apenas o pool de nós do sistema, ele será rotulado e usado para o Armazenamento de Contêineres do Azure por padrão. É importante observar que somente os componentes do plano de dados serão restritos ao pool de nós rotulado. Os componentes do painel de controle do Armazenamento de Contêineres do Azure não estão limitados aos nós rotulados e podem ser instalados no pool de nós do sistema também.
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type> --container-storage-version 1 --generate-ssh-keys
A implantação levará de 10 a 15 minutos. Quando ele for concluído, você terá um cluster do AKS com o Armazenamento de Contêineres do Azure instalado, os componentes do tipo de pool de armazenamento escolhido habilitados e um pool de armazenamento padrão. Se você quiser habilitar tipos de pool de armazenamento adicionais para criar pools de armazenamento adicionais, consulte Habilitar tipos de pool de armazenamento adicionais.
Importante
Se você especificou a SAN Elástica do Azure como armazenamento de suporte para o pool de armazenamento e não tem nenhuma função de Proprietário de Armazenamento de Contêiner do Azure ou função de Colaborador de Armazenamento de Contêiner do Azure atribuída à assinatura do Azure, a instalação do Armazenamento de Contêineres do Azure falhará e um pool de armazenamento não será criado. Se você tentar habilitar a SAN Elástica do Azure como um tipo de pool de armazenamento adicional sem nenhuma dessas funções, seus pools de instalação e armazenamento anteriores permanecerão inalterados e um pool de armazenamento de SAN elástico não será criado.
Exibir pools de armazenamento disponíveis
Para obter a lista de pools de armazenamento disponíveis, execute o seguinte comando:
kubectl get sp -n acstor
Para verificar o status de um pool de armazenamento, execute o seguinte comando:
kubectl describe sp <storage-pool-name> -n acstor
Se o valor Message não for disserStoragePool is ready, o pool de armazenamento ainda estará criando ou encontrando um problema. Consulte Solucionar problemas do Armazenamento de Contêineres do Azure.
Próxima etapa
Selecione o link para o tipo de armazenamento de backup selecionado e siga as instruções para criar volumes.