Edição 2018
#mvpconf
Giovanni Bassi
Visual Studio/C#
Conhecendo o AKS – Azure Container Service com Kubernetes
#mvpconf
Patrocínio:
#mvpconf
Beneficiários do Evento:
APAE-Associação de Pais e Amigos dos
Excepcionais
Lar da Criança Ninho de Paz
Para quem quiser doar outros valores além das inscrições:
CAIXA ECONÔMICA FEDERAL
AG: 0504
CC: 01823-0
CNPJ: 89.078.059/0001-06
ITAU UNIBANCO AS
Agência: 467
CC: 611109
CNPJ 53.372.454/0001-50
#mvpconf
Giovanni Bassi
Categorias de premiação:
Visual Studio/C#
Primeiro ano premiado:
2009
Número de prêmios MVPs:
9
/GBassi
/giggio.tech
/giggiobassi
@giovannibassi
Biografia
Programador, Microsoft MVP, Não gerente
blog.lambda3.com.br, podcast.lambda3.com.br, dotnetarchitects.net, nodebr, dockersp
Escalador e ciclista
blog.lambda3.com.br
podcast.lambda3.com.br
podcast.lambda3.com.br
0 – Eventos
1 – Docker
2 – .NET Core RC2
3 – Git
4 – Estudo
5 – Open Source
6 – Xamarin
7 – Node.js
8 – Democracia organizacional
9 – O programador poliglota
...
Toda semana em:
Acreditamos que a diversidade, em
suas diversas expressões, deve ser
respeitada e valorizada, e que uma
sociedade mais diversa é uma
sociedade melhor.
diversidade.tech
vagas.lambda3.com.br
w w w. l a m b d a 3 . c o m . b r
Conhecendo o AKS
Azure Container Services
+ Kubernetes
ACR
container
container
container
AKS
Azure Container Service (hoje)
• Entrega gerenciada de solução de hospedagem de contêineres otimizada
• Orquestra aplicações usando ferramental open source popular e padronizado
• Escolha seu orquestrador:
• Kubernetes
• Docker
• Mesosphere DC/OS
• Migre demandas de contêineres para e a partir do Azure
• Suporte completo da Microsoft / Docker / Mesosphere
• Aproveite capacidades da plataforma Azure
• VM Scale Sets
• Rede
• Segurança
Azure Container Service (AKS - preview)
• Simplifica o deploy, gestão e operação do Kubernetes
• Solução de hospedagem de contêineres otimizada para o Azure
• Masters/Control Plane hospedado no Azure, e de graça
• Pague apenas pelo recurso consumido
• Upgrade automático, auto-correção, fácil escalar
• Gestão fácil do Kubernetes
• O mesmo Kubernetes open source, não é o “Kubernetes da Microsoft”
AKS visão geral
• Control Plane/Master totalmente gerenciada pelo Azure
• Sem VMs para operar
• Sem necessidade de manter atualizada
• Grátis
• Provisionado em menos de dois minutos
• SLA de 99.95%
• Escala transparente com clusters de diversos tamanhos (1, 50, 100, 500, etc)
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
container
Funcionalidades do AKS
• Upgrade automático do Kubernetes
• Master com auto-correção à falhas
• Banco do Master (etcd) com SSD, automatizado, alta disponibilidade, com backup
e restore
• Rede customizável (VNets do Azure e CNI)
• Cluster escalável
• TLS em todo o cluster com apoio de Azure KeyVault
#opcional
# não reporta corretamente
#azure-secret.yml
#azure-files-pod.yml
https://docs.microsoft.com/en-us/azure/aks/azure-files
Demo
Futuro do AKS
• VNETs customizadas
• RBAC e AzureAD Integrados
• kubectl OIDC auth
• Pools de nós customizáveis
• Útil para separar tipos de demandas específicos, clientes, etc
• FPGA, GPU, etc
• Gestão do pool de nós
• Auto-correção
• Auto-scaling (da infra)
• Nós híbridos (Windows e Linux)
VSCE
VSCE visão geral
• Ambiente de Kubernetes totalmente gerenciado pelo Azure
• Otimizado para desenvolvimento
• Visual Studio, VS Code ou linha de comando
• Debug com suporte a Node.js e .NET Core direto no Kubernetes gerenciado
• Isolamento para o desenvolvedor enquanto mantém a estrutura intacta
Extensões pra VS e VS Code
Isolamento
Isolamento
Isolamento
Debug
• Debug com .NET Core ou Node.js
• Somente no Visual Studio ou VS Code
(outras ferramentas e plataformas podem vir no futuro)
Demo
#mvpconf
Encerramento:
• Considerações Finais
• Perguntas e Respostas
• Agradecimentos
w w w. l a m b d a 3 . c o m . b r
Obrigado!
Giovanni Bassi

Conhecendo o AKS, o azure container services com kubernetes

Notas do Editor

  • #13 nomeDoGrupoDeRecursos='aks3' nomeCluster='aksgiggio3' location='eastus' az group create --name $nomeDoGrupoDeRecursos --location $location az aks create -g $nomeDoGrupoDeRecursos -n $nomeCluster --kubernetes-version 1.8.1 az aks get-credentials -g $nomeDoGrupoDeRecursos -n $nomeCluster
  • #18 nomeDoGrupoDeRecursos='aks1' nomeCluster='aksgiggio1' nomeContainerRegistry='acrgiggio1' location='eastus'
  • #19 nomeDoGrupoDeRecursos='aks1' nomeContainerRegistry='acrgiggio1' location='eastus'
  • #31 nomeDoGrupoDeRecursos='aks1' nomeCluster='aksgiggio1' location='eastus'
  • #32 nomeDoGrupoDeRecursos='aks1’ nomeCluster='aksgiggio1'
  • #34 nomeDoGrupoDeRecursos='aks1' nomeCluster='aksgiggio1' nomeDoConector='aksconnectorgiggio1'
  • #35 nomeDoGrupoDeRecursos='aks1’ nomeCluster='aksgiggio1'
  • #37 nomeDoGrupoDeRecursos='aks1’ nomeCluster='aksgiggio1' nomeContainerRegistry='acrgiggio1'
  • #40 nomeDoGrupoDeRecursos='aks1’ nomeCluster='aksgiggio1' nomeContainerRegistry='acrgiggio1' az aks browse --resource-group=$nomeDoGrupoDeRecursos --name=$nomeCluster No dir C:\p\examples\aks\azure-voting-app-redis acrServer=$(az acr list --resource-group $nomeDoGrupoDeRecursos --query "[].{acrLoginServer:loginServer}" --output table | sed -n 3p) docker-compose build docker tag azure-vote-front $acrServer/azure-vote-front:v1 docker push $acrServer/azure-vote-front:v1 kubectl get service azure-vote-front --watch az aks scale -g aks2 -n giggioaks2 --node-count 3 kubectl scale --replicas=3 deployment/azure-vote-front #update: docker-compose up --build -d docker tag azure-vote-front giggioacr.azurecr.io/azure-vote-front:redis-v2 docker push giggioacr.azurecr.io/azure-vote-front:redis-v2 kubectl set image deployment azure-vote-front azure-vote-front=giggioacr.azurecr.io/azure-vote-front:redis-v2 az aks upgrade --name aks3 --resource-group aks --kubernetes-version 1.8.2
  • #49 vsce env create --name mydevenvironment --location eastus git clone https://github.com/johnsta/vsce-samples cd C:\p\examples\aks\vsce\vsce-samples\nodejs\getting-started\webfrontend vsce init --public vsce up ** parar o vsce up e abrir o vscode no dir webfrontend e no mywebapi e rodar com “attach” vsce space create --name scott vsce space list vsce list vsce env list #vsce env rm --name myenv --resource-group myenv-rg