Ola Pessoal,
Neste post, vou mostrar uma como criar fila de execução customizada, usando AKS para rodar os agentes, KEDA para fazer escalonamento automático dos agentes e fazer o deploy de tudo isso Terraform.
Tive a ideia de fazer esse post, depois de ler a documentação do KEDA referente a azure pipeline: https://keda.sh/docs/latest/scalers/azure-pipelines/ .
Com isso, nos podemos customizar nosso agente e ao mesmo diminuir os custos ao rodar agentes no azure pipeline, que ao invés de rodar os agentes disponibilizados pela Microsoft, nos vamos gerenciar os nossos agentes e com isso remover um camada de software que a Microsoft instalada por padrão nos seus agentes e ao mesmo tempo diminuir custos, pois rodar self-host agentes ‘e mais barato do que usar Microsoft-Hosted agentes.
Quais software e versões foram utilizados:
– Terraform: 1.8.0
– Az cli: 2.58
– KEDA: 2.13
– AKS: 1.28.5
– nerdctl: 1.7.1
– containerd: 1.7.10
Utilize o repositório abaixo, para rodar executar os comandos necessários e seus pré-requisitos,
Porem, antes de rodar os comandos que existentes no repositório, você tem que criar um agent pool e criar um PAT para acessar isso.
# AzureDevOps-Agent
![alt text](https://github.com/leandroscardua/AzureDevOps-Agent/blob/main/keda_aks_azurepippeline.png?raw=true)
# Repositorio para testar a criar de Agent Pool usando AKS e KEDA para scale automatizado
# Requerimentos
- Terraform: > 1.8.0
- Az CLI: > 2.58
- KEDA: = 2.13
- Azure Kubernetes (AKS): 1.28.5
- nerdctl: > 1.7.1
- containerd: > 1.7.10
- Azure DevOps Organization
- Azure DevOps Agent Pool - Tipo: Self-host
# Como usar?
Ante de rodar os comandos abaixo, voce precisa criar um agent pool e gerar uma PAT com permissao de leitura e gerenciamento.
git clone https://github.com/leandroscardua/AzureDevOps-Agent.git
cd ./1-aks/
terraform init
terraform plan -var="ado_token=
terraform apply -auto-approve -var="org_name=
Espero que tenha ajudado 😀
Faixa que me acompanhou durante a criação deste pos
– https://youtu.be/V8VF69lMF8w ( Maglore – Lápis de Carvão )
Fontes:
– https://keda.sh/docs/2.13/scalers/azure-pipelines/
– https://learn.microsoft.com/pt-br/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows#create-a-pat
– https://learn.microsoft.com/pt-br/azure/devops/pipelines/agents/pools-queues?view=azure-devops&tabs=yaml%2Cbrowser#create-agent-pools