
Aula destinada a apresentação do professor e do treinamento AWX para Sysadmin
Ansible para Sysadmin.: https://www.udemy.com/course/ansible-para-sysadmin/?referralCode=C20C099CCA18619673F7
Aula destinada a apresentação do treinamento AWX para Sysadmin, contendo os principais tópicos que serão apresentados.
Aula onde comento sobre o processo de atualização do treinamento, este que foi lançado inicialmente em 2019. Entrarei em detalhes sobre como é o processo e como isso pode impactá-los.
Nesta aula, serão apresentados .:
Conceitos básicos sobre AWX
Arquitetura
Principais features
Licenciamento (Apache 2.0)
Licença completa: https://www.apache.org/licenses/LICENSE-2.0
Apresentação dos Prós e Contras do AWX e Ansible Tower, exemplificando algumas diferenças entre a solução da comunidade e a solução corporativa.
Conheceremos nesta aula, um recurso de extrema importância para instalação do AWX, o Operator Framework, uma espécie de "empacotar" soluções desenvolvidas nativamentes para Kubernetes, de forma a facilitar o processo de instalalção.
Nesta aula, iremos analisar em detalhes o AWX Operator, o melhor e mais recomendado caminho para instalação do AWX a partir da versão 18.0.
Nesta aula, conheceremos quais são os pré-requisitos de instalação do AWX, assim como a distribuição Kubernetes que utililizaremos.
Instalando o K3s.
Lembre-se: Minikube pode ser utilizado, porém SOMENTE em ambiente de desenvolvimento :)
Após a instalação do K3S, podemos de fato seguir com o deploy do AWX. Nesta aula, faremos todo o processo, passo a passo, em um processo atualizado e muito simples de configuração ;)
Enfim, a console web do AWX. Vamos fazer um Tour na mesma :)
Dentro do AWX, temos um conceito bem interessante chamado de organizações. Essas organizações, criam ambientes segmentados (logicamente), como se fosse um namespace no Kubernetes, linux. Nesta aula, iremos conhecer um pouco mais a respeito deste recurso, e como utilizá-lo dentro de um ambiente.
Dentro do AWX, temos a possibilidade de aplicar a gestão de acessos em uma base local do AWX. Nesta aula, veremos como criar e gerenciar usuários locais, nos quais são armazenados dentro da base de dados PgSQL.
No AWS, times são considerados grupos de usuários. Nesta aula, veremos como aplicar o gerenciamento desses times, e quais as melhores práticas para se adotar.
Nesta aula, veremos um pouco a respeito de roles do AWX, no qual basicamente determina as permissões de usuários/times em recursos como templates, inventários, projetos, entre outros.
Um dos grandes benefícios do AWX é a possibilidade de realizarmos auditoria/monitoramento dos acessos, alterações de usuários dentro da console do AWX. Através deste recurso, todas as ações realizadas no ambiente são monitoradas e registradas para consultas futuras. Nesta aula, iremo aprender a consultar esses registros e ver como melhor aplicá-los no ambiente.
Um dos recursos disponíveis no AWX, é a integração do mecanismo de autenticação com uma base externa, como LDAP. O objetivo disso é mantermos uma base de autenticação centralizada em nosso ambiente. Com isso, nesta aula, iremos aprender a como integrar o AWX com o Ldap, podendo neste caso, ser utilizado com o Samba4 e/ou Active Directory da Micro$oft.
Aula destinada aa configurações de envio de notificações via SMTP, através de um provedor de E-mail. Nesta aula, aprenderemos a configurar o AWX para realizar tal ação.
Após criarmos um mecanismo de notificação, precisamos associá-lo a um recurso do AWX para que de fato ele "tome a ação" de enviar as notificações. Nesta aula, aprenderemos a realizar tal ação.
Um dos itens mais utilizados de notificação atualmente, é a notificação via Slack. Nesta aula, veremos o passo a passo sobre como realizar a integração do ambiente AWX com a api do Slack para envio de alertas.
Projetos, de uma forma resumida, trata a localização de suas Playbooks/Roles que serão executadas pelo AWX. Nesta aula, faremos uma breve introdução a respeito deste recurso, demonstrando alguns detalhes de extrema importância, no qual estudaremos durante todo o módulo.
Nesta aula, iremos configurar nosso primeiro projeto dentro do AWX, utilizando a categoria "Git". Para isso, utilizaremos a solução do Github, aplicando uma autenticação via SSH, através da troca de chaves (privada/pública).
Dando sequência, veremos agora a configuração de mais um projeto com o Github, porém desta vez, utilizando um Token para autenticação :)
Assim como fizemos no Github, nesta aula faremos o mesmo com a solução do Gitlab, outro versionador de código bastante conhecido no mercado. Iremos então, aplicar as configurações de um projeto usando o Gitlab com autenticação via SSH.
Aplicando a configuração de um projeto usando Gitlab com autenticação via Token.
Quando estamos configurando um projeto do tipo "Git", temos duas opções de extrema importância, a Clean e a Delete. Nesta aula, irei apresentar a importância das mesmas, e mostrar sua aplicabilidade em um ambiente produtivo.
Um inventário aqui no AWX, assim como no Ansible, tem como objetivo apresentar os targets onde aplicaremos nossas automações. Neste módulo, iremos explorar em detalhes as possibilidades de inventários que podemos utilizar, tais como Standard Inventory, Smart Inventory, entre outros.
Abordaremos nesta aula, como realizar o cadastro (manualmente) de hosts dentro de nossos inventários. Iremo tratar basicamente duas forma de realizar tal configuração.
Uma das boas práticas em se trabalhar com Inventários, é segmentarmos nossos hosts com base em grupos. Nesta aula, nós iremos abordar em detalhes todos os processos de criações de grupo, assim como aplicar as boas práticas em seu ambiente.
Dentro do AWX, temos a possibilidade de realizar a execução de comandos sem estarem vinculados a uma Template. Este recurso, chamamos de Run Commands, conhecido no Ansible como Ad-Hoc Commands. Nesta aula iremos aprender a realizar tal execução, assim como validarmos quais módulos do Ansible estão disponíveis para execução (por padrão).
Variáveis são items de extrema importância para customizarmos nossos inventários. Nesta aula, veremos algumas possibilidades de trabalharmos com variáveis, assim também, demonstrando alguns exemplos.
Smart Inventory, ou como conhecido por muitos, Inventário Dinâmico, é um recurso que possibilita a criação de inventários totalmente de forma dinâmica, com base em filtros de variáveis, padrões e/ou Ansible Facts. Nesta aula, iniciaremos uma introdução a este recurso, para que possamos explorá-lo em aulas futuras.
Aplicando na prática os conhecimentos abordados na aula passada.
Ansible Facts são variáveis contendo informações de seus Targts, desenvolvendo praticamente um inventário do mesmo. Nesta aula, veremos como habilitarmos (em cache) essas informações, para que possamos realizar a criação (por exemplo) de inventários dinâmicos, com base nessas variáveis/informações.
Um recurso bem legal da parte de inventários do AWX, é a possibilidade de integrarmos o mesmo com provedores externos (como AWS, GCP, VMWare) para que possamos sincronizar os hosts/targts de forma automática. Nesta aula, iremos aprender a realizar o processo com o provider AWS, no qual é basicamente o mesmo com os demais provedores disponíveis.
Nesta aula, iremos estudar alguns pontos referentes a parte de Credenciais do AWX, no qual refere-se a parte de credenciais de targets e outros recursos externos que podemos utilizar, tais como Git, AWS, entre outros. O objetivo desta aula é apresentar, de forma global como funcionam as credenciais dentro do AWX, e como absorver o melhor resultado das mesmas.
Finalmente chegou o tão aguardado módulo, onde conversaremos bastante sobre Templates, e colocaremos muito a mão na massa para darmos vida aos items já apresentado até aqui. Na primeira aula, é apenas uma Introdução a respeito deste recurso, e consequentemente, iremos adentrando nos detalhes.
Aula destinada a criação de nosso primeiro Job Template. Para exemplificar, utilizamos uma Playbook simples, com o objetivo de realizarmos Update de Sistemas Operacionais Linux. Nesta aula, aprenderemos como vincular essa Playbook dentro do nosso AWX, utilizando um repositório do Gitlab.
Assim como temos o módulo prompt no Ansible, aqui dentro do AWX nós também temos o Prompt Launch, onde basicamente irá permitir realizarmos a escolha de algumas opções durante a execução de uma determinada Template, ou seja, podemos ir preenchendo as informações de nossa template no ato da execução.
Nesta aula, iremos conversar e testar bastante este recurso.
Um dos recursos mais fantásticos do AWX Templates, é a parte de Survey, onde basicamente conseguimos mapear variáveis de nossas Playbooks dentro do AWX, de forma que, os valores sejam preenchidos pelos usuários AWX, no ato da execução de uma Template. Isso permite total interação dos usuários com o AWX, alterando determinados parâmetros de acordo com o valor da variável pré-identificada.
Um pouco mais de Survey :)
Sem dúvidas, independente da solução, trabalhar com Tags nos proporcionam maiores controles e versatilidade de nossos recursos. Nesta aula, vamos aprender a trabalhar com Tags aqui dentro do AWX, abordando suas principais finalidades e benefícios para o dia-a-dia.
Ansible Collections é um conjunto de documentações, plugins, módulos, entre outros. Nesta aula, conversaremos e faremos uma pequena introdução a respeito deste recurso, e como ele é de extrema importância para as novas versões do AWX.
Mais um pouquinho de Ansible Collections
Workflow template é um recurso muito interessante, no qual permite criarmos fluxos de execução de vários Job Templates e/ou Workflow Templates, de forma a tratar possíveis erros/acertos, e quais caminhos seguirem, caso seja alcançado tal objetivo. Além disso, temos também, com o Workflow Template, a possibilidade de trabalharmos com fluxo de aprovações, o que ajuda muito no que diz respeito a auditoria e rastreabilidade.
Nesta aula, conversaremos um pouco a respeito do fluxo de aprovação de Worflow Templates, tratanto rastreabilidade, revisão e auditoria da execução de suas Templates. Veremos os detalhes, passo a passo nesta aula.
Diferentes rotinas, devem ser agendadas para execuções diárias (como job de backups, sync) ou também para execução de tarefas fora do horário de produção de seu ambiente (como update de software/sistemas). Nesta aula, veremos isso através da parte de Schedules, disponíveis dentro de Templates, onde iremos simular agendamentos de exeução de determinadas Templates.
Finalmente chegamos ao final de nosso treinamento. Até aqui, foram grandes desafios, grandes aprendizados e ainda restam muitos caminhos a serem percorridos. Estamos fechando apenas uma etapa, pois novas surgirão, inclusive aqui neste treinamento, com novas atualizações, novos recursos, e muito mais.
Agradeço a todos pela dedicação e pela confiança.
Um grande abraço, e contem comigo :)
Você é um Sysadmin ou profissional da área de tecnologia que já utiliza Ansible para realizar a automação de suas tarefas? Já pensou em poder compartilhar suas Playbooks do Ansible com profissionais sem experiência em CLI (Command Line)? Já pensou também em executar tarefas com apenas um clique do mouse? Se respondeu sim para uma dessas perguntas, este treinamento foi feito para você!
O Treinamento AWX para SysAdmin foi desenvolvido com o objetivo de auxiliar os administradores de sistemas na disseminação do AWX como ferramenta de automatização, tanto para o time de Sysadmin, quando par o time de desenvolvedores, permitindo a criação de deploys automatizados.
Pensando em um melhor aproveitamento para este treinamento, o mesmo foi desenvolvido quase que 100% no método Hands-on, facilitando assim o entendimento prático referente a usabilidade do AWX.