Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuvem Microsoft - XP Investimentos - Janeiro 2020
19 de Jan de 2020•0 gostou•424 visualizações
Baixar para ler offline
Denunciar
Software
Apresentação sobre o uso de Docker e Kubernetes para a implementação de soluções a partir do Microsoft Azure. Palestra realizada em evento promovido pela XP Investimentos no dia 11/01/2020 em São Paulo-SP.
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuvem Microsoft - XP Investimentos - Janeiro 2020
2. • Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience Contributor
(MTAC)
• Mais de 15 anos de experiência na área de
Tecnologia
• Autor Técnico e Palestrante
• Um dos organizadores do Canal .NET e .NET SP
Renato Groffe
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
3. Renato Groffe - Contatos
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
4. Agenda
• Por que utilizar containers Docker?
• .NET Core 3.x e o suporte a Docker
• Serviços com suporte a Docker no Microsoft Azure
• Kubernetes + AKS: uma visão geral
• Exemplos práticos
8. .NET Core 3.x – Suporte a Docker
• Redução no tamanho das imagens em
relação a versões anteriores
• Imagens do SDK contém agora o PowerShell
Core (é possível invocar este utilitário
durante a geração da imagem de uma
aplicação)
github.com/renatogroffe/ASPNETCore3.1_Docker
9. Variáveis de ambiente
• Preenchimento de configurações essenciais
para a execução de containers
• Sobreposição de valores definidos no
appsettings.json
10. E quanto ao suporte a Docker no Microsoft Azure?
+
11. Suporte a Docker no Azure
• Azure Container Instances
• Azure Container Registry
• Azure Web App for Containers
• Azure Kubernetes Service (AKS)
15. Azure Web App for Containers
• Hospedagem de aplicações Web com HTTPS
configurado por default
• Escalabilidade (vertical e horizontal)
• Imagens Linux e Windows
• Criação de recursos a partir de imagens e do Docker
Compose
• Suporte à integração contínua (Jenkins e Azure
DevOps)
16. Build Automatizado e Versionamento
• A geração automática de novas tags
pode ser facilitada com soluções
como o Azure DevOps e Azure
Container Registry
17. Deployment Automatizado
• A solução descrita nos slides anteriores pode ser
combinada para o deployment automatizado em serviços
como Azure Web App for Containers
18. Azure Kubernetes Service (AKS)
• Serviço gerenciado na nuvem
• Alocação da infraestrutura necessária
para criação dos nós
• Necessidade de uso do Azure CLI para
liberar o acesso ao cluster Kubernetes
via kubectl
19. Kubernetes: uma visão geral
• Também conhecido como K8s ou kube
• Desenvolvido originalmente pela Google
• Mantido pela Cloud Native Computing Foundation
• Escrito em Go
• Open source
20. Kubernetes: uma visão geral
• Cluster com máquina Master e Nodes
• Criação de objetos através de arquivos no formato YAML
• Funcionalidades para gerenciamento, orquestração, auto
recuperação, escalonamento
• kubectl → ferramenta de linha de comando
• Minikube → ambiente de testes
21. Kubernetes: arquitetura
• Master
• Máquina que controla os Nodes (Nós)
• Responsável pelas atribuições de tarefas
aos Nodes
• Nodes
• Máquina que realizam as tarefas
atribuídas pelo Master
23. Kubernetes: arquitetura
• Pod
• Grupo de um ou mais containers
implantados em um Node (Nó)
• Compartilham o mesmo endereço IP,
IPC, nome do host e outros recursos
POD
25. Kubernetes: arquitetura
• Service
• Objeto mais estável (Pods são criados ou
removidos continuamente)
• Cuidará do acesso aos Pods, funcionando
como um Load Balancer
30. Kubernetes + Tasks agendadas
• CronJobs podem ser uma excelente opção para
a execução de processos repetitivos
31. Build Deployment Automatizado
• A geração automática de novas tags pode ser facilitada
com soluções como o Azure DevOps e Azure Container
Registry, com o deployment ocorrendo em um cluster
baseado no Azure Kubernetes Service