Armazenamento de contêineres do Windows com AKS Hybrid
As opções de implantação híbrida do Serviço Kubernetes do Azure (AKS) ("AKS hybrid") são uma implementação local do orquestrador do Serviço Kubernetes do Azure. O orchestrator automatiza a execução de aplicativos em contêineres em escala, permitindo que você opere aplicativos nativos da nuvem consistentes em qualquer lugar. infraestrutura local e integrá-los com os serviços do Azure.
Dependendo da classe de hardware, da disponibilidade de computação e do processo de adoção do Kubernetes, as seguintes opções de implantação híbrida do AKS estão disponíveis:
- AKS no Windows Server
- AKS no Azure Stack HCI (infraestrutura hiperconvergente)
- Provisionamento de cluster AKS do Azure (VISUALIZAÇÃO)
- AKS Edge Essentials
Armazenamento em AKS híbrido
Como o AKS híbrido é uma implementação do AKS, a maioria dos conceitos de armazenamento são os mesmos. Um cluster híbrido AKS contém um plano de controle gerenciado pelo AKS que fornece os principais serviços e orquestração do Kubernetes, enquanto você gerencia os nós que contêm pods com suas cargas de trabalho de aplicativos. O diagrama a seguir mostra a arquitetura de um cluster híbrido AKS que está usando a opção de implantação híbrida AKS no Azure Stack HCI:
Como no AKS, os volumes tradicionais são recursos do Kubernetes apoiados pelo Armazenamento do Azure. Você pode criar manualmente volumes de dados para serem atribuídos a pods diretamente ou fazer com que o Kubernetes os crie automaticamente. Para associar esses volumes ao Armazenamento do Azure, o AKS híbrido usa a CSI (Interface de Armazenamento de Contêiner). O AKS Hybrid suporta contêineres do Windows e armazenamento persistente com os mesmos drivers CSI do AKS.
Ao criar armazenamento persistente, o AKS híbrido usa os mesmos conceitos do Kubernetes que o AKS, com algumas variações. Os volumes persistentes são criados estática ou dinamicamente. Se você criá-los dinamicamente, definirá seu tipo e ciclo de vida com uma classe de armazenamento, e eles serão vinculados ao volume persistente (PV) com uma declaração de volume persistente (PVC).
Onde o armazenamento híbrido AKS difere do AKS, é o seu suporte para usar seu armazenamento local como armazenamento persistente.
Volumes persistentes
Um volume persistente é um recurso de armazenamento criado e gerenciado pela API do Kubernetes que pode existir além do tempo de vida de um pod individual. Por exemplo, ao usar a opção de implantação híbrida AKS AKS no Azure Stack HCI, você pode usar volumes de disco AKS apoiados por VHDX (tipo de arquivo de disco rígido virtual) que são montados como ReadWriteOnce
e são acessíveis a um único nó de cada vez. Ou você pode usar volumes de arquivos AKS apoiados por compartilhamentos de arquivos SMB (Server Message Block) ou NFS (Network File System). Estes são montados como ReadWriteMany
e estão disponíveis para vários nós simultaneamente.
Um administrador de cluster pode criar estaticamente um volume persistente ou criá-lo dinamicamente pode ser criado pelo servidor de API do Kubernetes. Se um pod estiver agendado e solicitar armazenamento que não está disponível no momento, o Kubernetes poderá criar o arquivo VHDX subjacente e anexá-lo ao pod. O provisionamento dinâmico usa a StorageClass
para identificar que tipo de armazenamento precisa ser criado.
Classes de armazenamento
Uma classe de armazenamento define o nível de armazenamento, o local e reclaimPolicy
o recurso de armazenamento subjacente.
No AKS híbrido, a classe de armazenamento padrão é criada automaticamente e usa CSV para criar volumes com suporte de VHDX. A política de recuperação garante que o VHDX subjacente seja excluído quando o volume persistente que o usou for excluído. A classe de armazenamento também configura os volumes persistentes para serem expansíveis, portanto, você só precisa editar a declaração de volume persistente com o novo tamanho.
Se você não especificar um para umStorageClass
volume persistente, o padrão StorageClass
será usado. Ao solicitar volumes persistentes, certifique-se de que eles usam o armazenamento apropriado de que você precisa. Você pode criar um StorageClass para mais necessidades.
Afirmações de volumes persistentes
A PersistentVolumeClaim
solicita ou ReadWriteOnce
ReadWriteMany
armazenamento de um particular StorageClass
e tamanho. O servidor de API do Kubernetes pode provisionar dinamicamente o recurso de armazenamento subjacente no AKS híbrido se Não houver nenhum recurso existente para atender à reivindicação com base no .StorageClass
A definição do pod inclui a montagem do volume uma vez que o volume tenha sido conectado ao pod.
A PersistentVolume
está vinculado a uma PersistentVolumeClaim
vez que um recurso de armazenamento disponível tenha sido atribuído ao pod que o solicita. Há um mapeamento 1:1 de volumes persistentes para declarações.
Usando discos locais para armazenamento persistente
Um dos benefícios de usar o AKS Hybrid é que você pode usar discos locais como armazenamento persistente para contêineres do Windows. Os discos locais são discos físicos anexados aos nós locais. Os discos locais oferecem alto desempenho e baixa latência para seus aplicativos em contêineres.
Para usar discos locais com contêineres do Windows no AKS híbrido, você precisa usar o plug-in local-volume-provisioner. Este plugin descobre e cria automaticamente volumes persistentes (PVs) para discos locais em seus nós. Em seguida, você precisa criar PVCs (declarações de volume persistentes) que correspondam aos PVs com base na afinidade do nó e na classe de armazenamento. Finalmente, você precisa montar os PVCs em seus pods ou contêineres usando definições de volume.