Introdução
Com o lançamento do Sitecore 10, agora suportamos a execução do aplicativo dentro de contêineres e a implantação no Kubernetes (K8s). Num artigo anterior, "Sitecore, Docker e Integração Contínua", analisamos como construir automaticamente suas imagens. Neste artigo, consideramos os estágios finais que são executados quando as imagens recém-construídas estão disponíveis no Registro de Contêiner. Antes de mergulhar, no entanto, queremos destacar alguns recursos importantes para os desenvolvedores. Você pode baixar um conjunto completo de especificações K8s de dev.sitecore.com. Você também encontrará um guia de instalação completo que o levará de uma instância limpa do K8s para uma instância totalmente implantada e em execução do Sitecore 10.
Se você é novo no Kubernetes e não está familiarizado com os conceitos de Clusters, Nodes, Pods e os outros elementos que o sustentam, então você provavelmente vai querer se atualizar sobre isso antes de ir mais longe. O site Kubernetes tem alguns ótimos tutoriais para apresentá-lo aos conceitos-chave.
Depois de estar familiarizado com como implantar Sitecore no K8s, você pode usar as mesmas especificações como base para criar e automatizar sua implantação.
Assista ao vídeo que acompanha este artigo abaixo, que inclui demonstrações desses conceitos. Ou assista no Discover Sitecore no YouTube.
Automatizando uma implantação baseada em contêiner
Automatizar uma implantação baseada em contêiner é um pouco diferente de uma implantação típica. Você pode ver o fluxo neste diagrama do processo completo de ponta a ponta:
Como dito acima, neste artigo consideramos os estágios finais que são executados uma vez que as imagens recém-construídas estão disponíveis no Registro de Contêiner:
Uma vez que as imagens são construídas, as especificações são atualizadas para fazer referência à nova tag de imagem e elas são enviadas para a instância K8s. O K8s criará novos pods com base nas novas imagens de contêineres e mudará o tráfego para esses novos pods a uma taxa controlada. Você também pode controlar como essa mudança é feita — talvez você queira ir para uma implantação Azul/Verde com uma mudança manual, ou talvez você queira fazer uma implantação Canary para que apenas alguns usuários vejam a nova versão. Ambas as abordagens, juntamente com outras abordagens de implantação, são alcançáveis ao trabalhar com K8s.
Implantando suas alterações de conteúdo
Nenhuma implantação Sitecore é concluída sem uma atualização de conteúdo. Felizmente, o novo Sitecore CLI lançado com a versão 10 torna isso muito fácil! Em apenas alguns comandos, você pode autenticar com o Identity Server, enviar por push suas alterações de conteúdo e, finalmente, executar uma publicação completa das alterações.
Isso pode lhe dar a confiança de que o que está em seu sistema de controle de origem é o que está sendo executado em produção, não apenas de uma perspetiva de código, mas também incluindo seu conteúdo de propriedade do desenvolvedor.
Exemplo de site MVP
Se você quiser ver um exemplo completo de ponta a ponta desse processo, então você pode ver isso no novo Repositório de site MVP que lançamos como Open Source recentemente. Neste repositório, você encontrará um definição completa de YAML para uma implantação no Serviço Kubernetes do Azure (AKS).