Como iniciar sua automação com Terraform e Netscaler ADC - Parte 1

Olá Pessoal,

Gostaria de iniciar outro assunto que venho estudando, espero começar a compartilhar um pouco desses tópicos, para qual estou gostando de navegar e obviamente descobrir novas formas e casos de uso que podemos atender as necessidades expostas pelo dia-a-dia que vivenciamos.

Nosso objetivo é trazer algumas informações adicionais as configurações e facilidades que podemos ter em utilizar algumas metodologias definidas hoje como uma esteira, obviamente existem milhares de ferramentas que podem ser inseridas nessa jornada tecnológica.

Provavelmente, você já viu vários “papers” onde ele traz milhares de ferramentas e para cada processo ele pode elencar uma delas, onde ela possa facilitar em alguma operação do seu dia-a-dia.

Minha escolha aqui foi explorar esse novo mundo dentro de uma ferramenta que tem muitas características principalmente de IaaS (Infraestrutura como serviço) e essencialmente para provisionar máquinas em ambientes on-premises e cloud. Entretanto, como comentei ela pode exercer esse papel, porém também pode ajudar em sua automação de processos diários e até de janelas de manutenção “GMUD”.

Instalação do Terraform

Nesse parâmetro eu não vou me aprofundar muito, pois esse processo nos temos uma documentação bem fácil para utilizar em qualquer plataforma, bem como, é a documentação oficial do Terraform, podendo escolher de que forma deseja instalar.

Você pode consultar através desse link do Terraform para executar sua instalação.

Após isso, podemos iniciar o processo para utilização do terraform.

Iniciar um projeto no Terraform

Como metodologia de organização, é melhor iniciar com a criação de uma pasta para armazenar seus códigos e posteriormente executá-los a partir desse caminho. Para isso iremos iniciar com Projetos -> Netscaler -> Projetosx

$ mkdir -p Projetos/Netscaler/Projeto{1..5}

Nesse caso vou criar 5 pastas para que possamos inserir nossos projetos baseando em features(recursos) do Netscaler para configuração.

Criar os arquivos de configuração

Neste parâmetro existe a particularidade de cada um, porém alguns itens precisam seguir a regra para que o terraform execute sua metodologia. Os arquivos essenciais para que possa iniciar seu projeto e onde irei seguir desta forma foi estruturado para todas as pastas de projetos conforme abaixo:

- provider.tf = Nesse arquivo sempre deixar qual é a versão do provider que o Terraform irá utilizar, onde sempre é interessante verificar a versão atual disponibilizado em nosso caso pela Netscaler. Pode ser observado na documentação, bem como precisamo deixar populado como será acessado nosso balanceador Netscaler.

- resource.tf = Este arquivo terá todo o script de configuração e provisionamento de um balanceador Nestscaler.

- variables.tf = Criar todas as variáveis que nosso script irá consumir para criação das configurações

- terraform.tfvars = Inserir todos os valores/dado que estarão relacionados com as variáveis criadas anteriormente.

Segue abaixo um exemplo da estrutura de arquivos dentro da pasta de projetos:

Tree- Estrutura dos Arquivos

Obs.: Como iremos introduzir um usuário e o propósito inicial é um ambiente de laboratório, esse usuário precisa ter capacidade de escrita no equipamento. Porém, existem outras formas de gerenciar esses usuários com maior segurança para execução do Terraform, mas não vou entrar nesse detalhe neste momento.

API Netscaler

Como vocês devem imaginar para que possamos efetuar essas configurações automaticamente podemos imaginar de que forma isso é executado no equipamento, ou seja, já pensamos em “API”. Exato, para que todo esse processo seja executado precisamos entender que o acesso ao equipamento é processado no background. Todas as linhas de configurações são exercidas com a utilização dessa APIs.

Vale ressaltar que nesse propósito não será executado em background um acesso ao equipamento via telnet, ssh para descarregar os scripts. Desta forma, precisamos mencionar que o Netscaler ADC tem o parâmetro denominado como Nitro API que libera você para configurar e monitorar seu equipamento usando a representação de REST, bem como temos bibliotecas expostas que são empacotadas através de SDK.

Segue a documentação, e logo abaixo coloco como podemos executar o download dessas bibliotecas acessando nosso Netscaler ADC, e analisar localmente todo esse arsenal disponível para brincarmos. 😆

Download - Bibliotecas APIs - SDK

Caso queira consultar diretamente na documentação e observar especificamente as URLs, quais operações podem ser executadas eu recomendo acessar este link.

Conclusão

Após todo esse detalhamento e correto entendimento de como vocês devem preparar seu ambiente, ou seja, iremos seguir em nossos próximos posts com as configurações em nosso ambiente de laboratório.

Atte,

Rodrigo