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.
Este tutorial apresenta o Armazenamento de Contêineres do Azure e demonstra como implantar e gerenciar o armazenamento nativo de contêiner para aplicativos em execução no AKS (Serviço de Kubernetes do Azure). Se você não quiser implantar o Armazenamento de Contêineres do Azure agora, ignore este tutorial e prossiga diretamente para Implantar um aplicativo no AKS. Você não precisará do Armazenamento de Contêineres do Azure para o aplicativo de vitrine básico nesta série de tutoriais.
O Armazenamento de Contêineres do Azure simplifica o gerenciamento de aplicativos com estado no Kubernetes oferecendo armazenamento nativo de contêiner personalizado para uma variedade de cargas de trabalho, incluindo bancos de dados, plataformas de análise e aplicativos de alto desempenho.
Ao final deste tutorial, você vai:
- Entenda como o Armazenamento de Contêineres do Azure dá suporte a cargas de trabalho diversas no Kubernetes.
- Implante o Armazenamento de Contêineres do Azure no cluster do AKS.
- Crie um volume efêmero genérico.
Antes de começar
Em tutoriais anteriores, você criou uma imagem de contêiner, carregou-a em uma instância do ACR e criou um cluster do AKS. Comece a partir do Tutorial 1 – Preparar o aplicativo para o AKS para seguir adiante.
Confirme se a região de destino tem suporte examinando a disponibilidade regional do Armazenamento de Contêineres do Azure.
Instale a versão mais recente da CLI do Azure (2.83.0 ou posterior) e entre com
az login. Não use o Azure Cloud Shell porqueaz upgradenão está disponível.Instale o cliente de linha de comando do Kubernetes.
kubectlVocê pode instalá-lo localmente executandoaz aks install-cli.
Importante
Este tutorial se aplica ao Armazenamento de Contêineres do Azure (versão 2.x.x),que dá suporte ao disco NVMe local e à SAN Elástica do Azure como tipos de armazenamento de backup. Este tutorial usa o NVMe local e cria um volume efêmero genérico. Para usar o NVMe local, a SKU da VM deve dar suporte a discos de dados NVMe locais, como VMs com otimização de armazenamento ou aceleradas por GPU .
Se você preferir usar a SAN Elástica do Azure, consulte Usar o Armazenamento de Contêineres do Azure com o Azure Elastic SAN.
Instalar a extensão do Kubernetes
Adicione ou atualize para a versão k8s-extension mais recente executando o comando a seguir.
az extension add --upgrade --name k8s-extension
Habilitar o Armazenamento de Contêineres do Azure em seu cluster do AKS
Execute o comando a seguir para habilitar o Armazenamento de Contêineres do Azure em um cluster do AKS existente usando o NVMe local. 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.
az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk
A implantação pode levar até cinco minutos. Quando ele for concluído, o cluster do AKS terá o Armazenamento de Contêineres do Azure instalado e os componentes do tipo de armazenamento NVMe local implantados. Ele também cria a classe de armazenamento padrão local-csi .
Conectar-se ao cluster e verificar o status
Se você ainda não estiver conectado ao cluster do tutorial anterior, execute os comandos a seguir. Se você já estiver conectado, poderá ignorar esta seção.
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 myResourceGroup --name myAKSClusterVerifique a conexão listando os nós do cluster.
kubectl get nodesVerifique se todos os nós relatam um status de
Ready.
Verificar a classe de armazenamento
Execute o seguinte comando para verificar se a classe de armazenamento foi criada:
kubectl get storageclass local-csi
Você deverá ver uma saída semelhante a:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local-csi localdisk.csi.acstor.io Delete WaitForFirstConsumer true 10s
Implantar um pod com volume efêmero genérico
Crie um pod usando Fio (Testador de E/S Flexível) para comparação e simulação de carga de trabalho que usa um volume efêmero genérico.
Use seu editor de texto favorito para criar um arquivo de manifesto YAML, como
code fiopod.yaml.Cole o código a seguir e salve o arquivo.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: "kubernetes.io/os": linux containers: - name: fio image: mayadata/fio args: ["sleep", "1000000"] volumeMounts: - mountPath: "/volume" name: ephemeralvolume volumes: - name: ephemeralvolume ephemeral: volumeClaimTemplate: spec: volumeMode: Filesystem accessModes: ["ReadWriteOnce"] storageClassName: local-csi resources: requests: storage: 10GiAplique o arquivo de manifesto YAML para implantar o pod.
kubectl apply -f fiopod.yaml
Verificar a implantação e executar parâmetros de comparação
Verifique se o pod está em execução:
kubectl get pod fiopod
Você deve ver o pod no estado Running. Uma vez em execução, você pode executar um teste de benchmark do Fio:
kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
Agora você implantou um pod que está usando o NVMe local como armazenamento e pode usá-lo para suas cargas de trabalho do Kubernetes.
Para saber mais sobre o Armazenamento de Contêineres do Azure, confira o que é o Armazenamento de Contêineres do Azure?
Limpar os recursos
Você não precisará do Armazenamento de Contêineres do Azure para o restante desta série de tutoriais, portanto, recomendamos excluí-lo agora para evitar incorrer em encargos desnecessários do Azure.
Excluir o pod.
kubectl delete pod fiopodExclua o volume efêmero genérico.
kubectl delete pv ephemeralvolumeExclua a instância de extensão.
az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage
Próxima etapa
Neste tutorial, você implantou o Armazenamento de Contêineres do Azure em seu cluster do AKS. Você aprendeu a:
- Habilite o Armazenamento de Contêineres do Azure no cluster do AKS.
- Implante um pod com um volume efêmero genérico.
No próximo tutorial, você aprenderá a implantar um aplicativo em seu cluster.