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. Use este tutorial para instalar a versão de produção mais recente do Armazenamento de Contêineres do Azure em um cluster do AKS (Serviço de Kubernetes do Azure), seja criando um novo cluster ou habilitando o serviço em uma implantação existente.
Se você preferir a versão de software livre do Armazenamento de Contêineres do Azure, visite o repositório local-csi-driver para obter instruções de instalação alternativas.
Importante
Este artigo se aplica ao Armazenamento de Contêineres do Azure (versão 2.x.x). Para versões anteriores, consulte a documentação do Armazenamento de Contêineres do Azure (versão 1.x.x). Se você já tiver o Armazenamento de Contêineres do Azure (versão 1.x.x) instalado no cluster do AKS, remova-o seguindo estas etapas.
- Preparar seu ambiente da CLI do Azure
- Criar ou selecionar um grupo de recursos para o cluster
- Confirme se os tipos de máquina virtual do pool de nós atendem aos critérios de instalação
- Instalar o Armazenamento de Contêineres do Azure criando um novo cluster do AKS ou habilitando-o em um cluster existente
Pré-requisitos
Crie uma assinatura do Azure se você ainda não tiver uma inscrevendo-se em uma conta gratuita.
Confirme se a região de destino tem suporte examinando a disponibilidade regional do Armazenamento de Contêineres do Azure.
Planeje a configuração do pool de nós:
- Use o Linux como o tipo de sistema operacional (não há suporte para Windows).
- Selecione um SKU de VM que dê suporte a discos de dados NVMe locais, como VMs com otimização de armazenamento ou aceleradas por GPU .
- Para clusters existentes, verifique se os conjuntos de nós já usam uma SKU de VM com suporte antes de habilitar o Armazenamento de Contêineres do Azure.
Instale a versão mais recente da CLI do Azure (2.77.0 ou posterior) e entre com
az login. Evite usar o Azure Cloud Shell (já queaz upgradenão está disponível) e desabilite extensões conflitantes, comoaks-previewse ocorrerem problemas.Instale o cliente de linha de comando do Kubernetes.
kubectlVocê pode instalá-lo localmente executandoaz aks install-cli.
Instale as extensões necessárias
Adicione ou atualize para a versão mais recente de k8s-extension executando o comando a seguir.
az extension add --upgrade --name k8s-extension
Definir o contexto da assinatura
Defina o contexto da sua assinatura do Azure usando o comando az account set. É possível exibir as IDs de assinatura de todas as assinaturas às quais você tem acesso executando o comando az account list --output table. Lembre-se de substituir <subscription-id> por sua ID de 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ê pretende gerenciar como um grupo. Ao criar um grupo de recursos, você é solicitado a especificar um local. Essa localização é:
- A localização de armazenamento dos metadados do grupo de recursos.
- Onde seus recursos sã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ê gostaria de criar e substitua <location> pela região do Azure, como lesteeua, lesteeua2, lesteeua3 ou oestedaeuropa. Se você estiver habilitando o Armazenamento de Contêineres do Azure em um cluster do AKS existente, use o grupo de recursos que já hospeda o cluster.
az group create --name <resource-group-name> --location <location>
Se o grupo de recursos for criado com êxito, você verá uma saída semelhante a este exemplo:
{
"id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
"location": "eastus",
"managedBy": null,
"name": "myContainerStorageRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Instalar o Armazenamento de Contêineres do Azure em um cluster do AKS
Escolha o cenário que corresponde ao seu ambiente.
Importante
O Armazenamento de Contêineres do Azure instala a versão mais recente disponível e se atualiza automaticamente. Não há suporte para a seleção manual de versão.
Opção 1: criar um novo cluster do AKS com o Armazenamento de Contêineres do Azure habilitado
Execute o comando a seguir para criar um novo cluster do AKS e instalar o Armazenamento de Contêineres do Azure. Substitua <cluster-name> e <resource-group> pelos seus próprios valores e especifique qual tipo de VM você deseja usar.
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_L8s_v3 --enable-azure-container-storage --generate-ssh-keys
A implantação leva de 5 a 10 minutos. Quando ele for concluído, você terá um cluster do AKS com o Armazenamento de Contêineres do Azure instalado e os componentes do tipo de armazenamento NVMe local implantados.
Opção 2: Habilitar o Armazenamento de Contêineres do Azure em um cluster do AKS existente
Execute o comando a seguir para habilitar o Armazenamento de Contêineres do Azure em um cluster do AKS existente. Substitua <cluster-name> e <resource-group> pelos seus próprios valores.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage
A implantação leva de 5 a 10 minutos. Quando ele for concluído, o cluster AKS de destino terá o Armazenamento de Contêineres do Azure instalado e os componentes do tipo de armazenamento NVMe local implantados.
- Preparar o Terraform e autenticar no Azure
- Definir o grupo de recursos e a configuração do cluster do AKS
- Confirme se os tipos de máquina virtual do pool de nós atendem aos critérios de instalação
- Aplicar o Terraform para implantar o Armazenamento de Contêineres do Azure ou habilitá-lo em um cluster existente
Pré-requisitos
Crie uma assinatura do Azure se você ainda não tiver uma inscrevendo-se em uma conta gratuita.
Verifique se a região de destino tem suporte verificando a disponibilidade regional do Armazenamento de Contêineres do Azure.
Planeje a configuração do pool de nós:
- Use o Linux como o tipo de sistema operacional (não há suporte para Windows).
- Selecione um SKU de VM que dê suporte a discos de dados NVMe locais, como VMs com otimização de armazenamento ou aceleradas por GPU .
- Para clusters existentes, verifique se os pools de nós já usam uma SKU de VM com suporte antes de habilitar o Armazenamento de Contêineres do Azure.
Instale a CLI do Azure versão 2.77.0 ou posterior e entre com
az login.Instale o Terraform versão 1.5 ou posterior e confirme a instalação com
terraform version. O Terraform pode reutilizar a autenticação da CLI do Azure.Instale
kubectlpara que você possa validar o cluster após a implantação. Se necessário, executeaz aks install-clipara instalá-lo localmente.
Definir o contexto da assinatura
O Terraform pode determinar uma assinatura do Azure de destino por vários meios:
-
subscription_idno bloco do provedor - A variável de ambiente
ARM_SUBSCRIPTION_ID - Assinatura padrão da CLI do Azure
- Identidade gerenciada (ao executar no Azure)
Para uso local, defina o contexto da CLI do Azure:
az account set --subscription <subscription-id>
Instalar o Armazenamento de Contêineres do Azure em um cluster do AKS
Escolha o cenário que corresponde ao seu ambiente.
Importante
O Armazenamento de Contêineres do Azure instala a versão mais recente disponível e se atualiza automaticamente. Não há suporte para a seleção manual de versão.
Opção 1: criar um novo cluster do AKS com o Armazenamento de Contêineres do Azure habilitado
Em um diretório de trabalho vazio, crie um
main.tfarquivo com a seguinte configuração mínima de um cluster do AKS. Atualize os nomes de recursos, os locais e os tamanhos da VM para atender às suas necessidades.terraform { required_version = ">= 1.5.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.x" } } } provider "azurerm" { features {} } resource "azurerm_resource_group" "rg" { name = "demo-aks-rg" location = "eastus" } resource "azurerm_kubernetes_cluster" "aks" { name = "demo-aks-cluster" dns_prefix = "demo-aks" location = azurerm_resource_group.rg.location resource_group_name = azurerm_resource_group.rg.name default_node_pool { name = "systempool" vm_size = "Standard_L8s_v3" node_count = 3 } identity { type = "SystemAssigned" } } resource "azurerm_kubernetes_cluster_extension" "container_storage" { name = "microsoft-azurecontainerstorage" cluster_id = azurerm_kubernetes_cluster.aks.id extension_type = "microsoft.azurecontainerstoragev2" configuration_settings = { enable-azure-container-storage = "true" } }Inicialize o diretório de trabalho para baixar o provedor do AzureRM.
terraform initExamine as alterações planejadas.
terraform planAplique a configuração para criar o grupo de recursos, o cluster do AKS e a extensão de Armazenamento de Contêiner do Azure. A implantação normalmente leva de 5 a 10 minutos.
terraform apply
Opção 2: Habilitar o Armazenamento de Contêineres do Azure em um cluster do AKS existente
Se o cluster do AKS já existir e você estiver gerenciando-o fora do Terraform, você ainda poderá habilitar o Armazenamento de Contêineres do Azure criando apenas o recurso de extensão. Use uma fonte de dados para pesquisar a ID do cluster.
terraform {
required_version = ">= 1.5.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.x"
}
}
}
provider "azurerm" {
features {}
}
data "azurerm_kubernetes_cluster" "existing" {
name = "existing-aks"
resource_group_name = "existing-aks-rg"
}
resource "azurerm_kubernetes_cluster_extension" "container_storage" {
name = "microsoft-azurecontainerstorage"
cluster_id = data.azurerm_kubernetes_cluster.existing.id
extension_type = "microsoft.azurecontainerstoragev2"
configuration_settings = {
enable-azure-container-storage = "true"
}
}
Execute terraform init (se este for um novo diretório de trabalho) seguido de terraform apply instalar o Armazenamento de Contêineres do Azure no cluster de destino.
Conectar-se ao cluster e verificar o status
Após a instalação, configure kubectl para se conectar ao cluster e verifique se os nós estão prontos.
Baixe as credenciais do cluster e configure a CLI do Kubernetes para usá-las. Por padrão, as credenciais são armazenadas em
~/.kube/config. Forneça um caminho diferente usando o--fileargumento, se necessário.az aks get-credentials --resource-group <resource-group> --name <cluster-name>Verifique a conexão listando os nós do cluster.
kubectl get nodesVerifique se todos os nós relatam um status de
Ready, semelhante à saída a seguir:NAME STATUS ROLES AGE VERSION aks-nodepool1-34832848-vmss000000 Ready agent 80m v1.32.6 aks-nodepool1-34832848-vmss000001 Ready agent 80m v1.32.6 aks-nodepool1-34832848-vmss000002 Ready agent 80m v1.32.6