Introdução
Os contêineres oferecem uma maneira de empacotar e executar aplicativos em diversos ambientes locais e na nuvem. Eles fornecem um ambiente leve e isolado que torna os aplicativos mais fáceis de desenvolver, implantar e gerenciar.
Os contêineres compartilham o mesmo kernel do sistema operacional que o host, mas não têm acesso irrestrito a ele. Eles têm seu próprio sistema de arquivos, rede e processos que são isolados do ambiente de modo de usuário do host. Esse isolamento coloca 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 de dados persistentes em instâncias de contêiner ou compartilham dados com outros contêineres ou hosts. Para resolver esse problema, os contêineres precisam usar mecanismos de armazenamento externos 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 que usa 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 Serviço Kubernetes do Azure (AKS) ou o AKS Hybrid. Esses orquestradores de contêineres usam soluções de armazenamento persistente, como volumes persistentes (PVs), PVCs (declarações de volume persistentes) e drivers CSI (Container Storage Interface).
Neste módulo, você aprenderá sobre esses conceitos de armazenamento e como eles se aplicam a contêineres do Windows executados no Serviço Kubernetes do Azure (AKS) e no AKS Hybrid.