sábado, 11 de novembro de 2023

AWX no fedora CoreOS

   O AWX é uma plataforma de automação de TI de código aberto que fornece recursos para automação de tarefas operacionais, gerenciamento de configuração e orquestração de fluxos de trabalho. Ele é uma versão upstream do Red Hat Ansible Tower e é mantido pela comunidade.

 O Ansible é uma ferramenta de automação de TI que permite automatizar tarefas de gerenciamento de configuração, implantação de aplicativos e orquestração de infraestrutura. O AWX, por sua vez, é uma implementação de código aberto do Ansible Tower, oferecendo uma interface web para criar, monitorar e executar playbooks Ansible.

Algumas das principais características do AWX incluem:

* Interface Gráfica:

Fornece uma interface web intuitiva para gerenciar e executar playbooks do Ansible.

* Controle de Acesso:

Permite configurar políticas de controle de acesso para diferentes usuários e equipes.

* Agendamento de Tarefas:

Oferece a capacidade de agendar a execução automatizada de playbooks em horários específicos.

*Histórico e Auditoria:

Registra o histórico de execução das tarefas e fornece recursos de auditoria.

* Integração com Outras Ferramentas:

Pode ser integrado a outras ferramentas e sistemas através de APIs.

* Orquestração:

Suporta a orquestração de fluxos de trabalho mais complexos envolvendo várias tarefas e servidores.

  O AWX é útil para organizações que desejam adotar práticas de DevOps, automação de infraestrutura e gerenciamento de configuração para melhorar a eficiência operacional e reduzir a probabilidade de erros humanos em ambientes de TI.


Mão na Massa 

Vamos instalar o Awx de forma single host , facilidando muito a instalação mas não é o ideal , o correto é ele rodar em cluster , mas isso fica outro tutorial 

Instale o K3s 

sudo curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.27.6+k3s1 sudo sh -s - --write-kubeconfig-mode 644

Reinicie o host

$ sudo systemctl reboot


AWX Operator

vamos clonar o repo do Kurokobo , pois vamos instalar de forma single host e onde podemos deixar nossas playbook centralizado no host também 

$ git clone https://github.com/kurokobo/awx-on-k3s.git

$ cd awx-on-k3s/

$ git checkout 2.7.2

$ kubectl apply -k operator

e para ver se ficou ok 



Vamos preparar as arquivos de configuração inicial 

Crie o certificado 

$ AWX_HOST="awx.home.local"

$ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -out ./base/tls.crt -keyout ./base/tls.key -subj "/CN=${AWX_HOST}/O=${AWX_HOST}" -addext "subjectAltName = DNS:${AWX_HOST}"

Ajuste o hostname no arquivo base/awx.yaml

...
spec:
  ...
  ingress_type: ingress
  ingress_tls_secret: awx-secret-tls
  hostname: awx.home.local     👈👈👈
...

Ajuste a senha no arquivo base/kustomization.yaml 

..
  - name: awx-postgres-configuration
    type: Opaque
    literals:
      - host=awx-postgres-13
      - port=5432
      - database=awx
      - username=awx
      - password=Ansible123!     👈👈👈
      - type=managed

  - name: awx-admin-password
    type: Opaque
    literals:
      - password=Ansible123!     👈👈👈
...
Vamos ajustar agora os dados persistentes , 
ajuste o arquivo base/pv.yaml e adicionar o caminho /home/<user>/data/..

$ cd ~
$ sudo mkdir -p data/postgres-13
$ sudo mkdir -p data/projects
$ sudo chmod 755 data/postgres-13
$  chown 1000:0 data/projects
 Execute o Deploy
$ kubectl apply -k base
Podes acompanhar o progresso pelo comando
$ kubectl -n awx logs -f deployments/awx-operator-controller-manager
Após finalizado só acessar pelo hosname configurado 



Referencia:  https://github.com/kurokobo/awx-on-k3s





Nenhum comentário:

Postar um comentário