Introdução
Os contêineres oferecem uma maneira de empacotar e executar aplicativos em ambientes diversos locais e na nuvem. Eles fornecem um ambiente leve e isolado que facilita o desenvolvimento, a implantação e o gerenciamento de aplicativos.
Os contêineres compartilham o mesmo kernel do sistema operacional que seu host, mas não têm acesso irrestrito a ele. Eles têm rede, processos e sistema de arquivos próprios que são isolados do ambiente de modo de usuário do host. Esse isolamento impõe desafios quando se trata de gerenciar os dados de seus aplicativos.
Por padrão, os contêineres têm armazenamento temporário e efêmero, o que significa que todos os dados gravados dentro do contêiner são perdidos quando o contêiner é interrompido ou excluído. Essa interrupção ou exclusão não é adequada para aplicativos que precisam persistir dados em instâncias de contêiner ou compartilhar dados com outros contêineres ou hosts. Para resolver esse problema, os contêineres precisam usar mecanismos de armazenamento externo que forneçam persistência e compartilhamento de dados. A solução de armazenamento persistente que você usa depende do seu ambiente.
Por exemplo, se você for um desenvolvedor usando contêineres em um ambiente local, poderá usar o armazenamento persistente por meio de montagens de associação e volumes nomeados com contêineres do Windows. No entanto, se você estiver gerenciando um ambiente em escala de produção com contêineres e microsserviços, precisará de um orquestrador de contêineres como o Kubernetes ou um orquestrador gerenciado como o AKS (Serviço de Kubernetes do Azure) ou o AKS Híbrido. Esses orquestradores de contêineres usam soluções de armazenamento persistente, como PVs (volumes persistentes), PVCs (declarações de volume persistente) e drivers de CSI (Interface de Armazenamento de Contêiner).
Neste módulo, você aprenderá sobre esses conceitos de armazenamento e como eles se aplicam a contêineres do Windows em execução no AKS (Serviço de Kubernetes do Azure) e no AKS Híbrido.