Mostrando postagens com marcador Ansible. Mostrar todas as postagens
Mostrando postagens com marcador Ansible. Mostrar todas as postagens

domingo, 7 de janeiro de 2024

Criando um Pod com ansible no Podman


 

Uma dica rápida de  iniciar um pod simples com ansible no podman

Tenho uma prática de sempre ter um arquivo de hosts para minhas playbook , isso ajuda muito ,

nesse caso é o meu localhost


Vamos criar agora no nosso arquivo YAML , nesse arquivo, vamos efetuar 

o pull da imagem do wilffly,  criar o pod e rodar o container , ou seja 

teremos 3 execução, o pull da imagem, criação do pod e a execução do container .

aqui esta o arquivo com a conf simples de um pod 


Agora vamos executar nossa playbook

$ ansible-playbook -i hosts pod.yaml


Feito , agora podemos analisar o pod



Verificando o acesso via web


Feito , simples rápido e fácil 

Guia de Referencia : 

https://docs.ansible.com/ansible/latest/collections/containers/podman/podman_pod_module.html


terça-feira, 2 de janeiro de 2024

Iniciando um container no Podman com Ansible

 

Uma dica rápida de  iniciar um container simples com ansible no podman


Como é um servidor remoto , efetuei a copia da chave ssh 

$ ssh-copy-id fedora.server

Criei um arquivo host para ansible

$ vim hosts

e adicionei o server


Vamos criar agora no nosso arquivos YAML , nesse arquivo , vamos efetuar 

o pull da imagem do wilffly , e efetuar run do container na porta 8080 , ou seja 

teremos 2 execução , o pull da imagem e a execução do container .


Uma playbook praticamente simples 

Agora vamos rodar 


$ ansible-playbook -i hosts wildfly.yaml


Podemos validar caso queira 

$ ansible fedora.server -i hosts -a "podman ps"


E podemos ver o wildfly rodando 


Pronto , simples rápido e fácil


Guia de Referncia: 
https://www.redhat.com/sysadmin/automate-podman-ansible 

https://fedoramagazine.org/using-ansible-to-configure-podman-containers/















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





quarta-feira, 4 de março de 2020

Ansible no Centos 8

Ansible é uma ferramenta de automação e vamos instalar no CentOS 8.

Verifique se tem o Python instalado. Caso não, instale:

# dnf install python3 -y

Instale o python-pip:

# dnf install python3-pip -y

Instale o Ansible:

# pip3 install ansible

Feito! Após instalado, só ver a versão do Ansible:

# ansible --version




Resolvendo problema com Ansible 2.4 ou superior com RHEL/Centos 5

Para quem atualizou o seu ansible para 2.4 ou superior tem problemas com o python no RHEL e Centos 5

Para resolver esse problema

No Rhel ou no Centos 5 instale o epel

# yum install epel-release-5-4  -y

após instale o python2.6

# yum install python26 -y

No ansible adicione no hosts


Exemplo

[webserver]

centos5-web     ansible_python_interpreter=/usr/bin/python26
centos6-web


No Awx é o mesmo procedimento pode adicionar na Variável global ou na Variável do host














sexta-feira, 27 de abril de 2018

Instalando AWX no seu Fedora 27




Pra quem usa o Ansible via linha de comando , agora temos um versão opensource do Ansible Tower o AWX a instalação é fácil e sem erros o mesmo utiliza docker que facilita muito a nossa vida pra instalação

# dnf install git gettext ansible docker python-docker-py  nodejs npm gcc-c++ bzip2 -y

Agora inicia o serviço do docker e ative na inicialização

# systemctl start docker

# systemctl enable docker

Clone o repositório do awx

# git clone https://github.com/ansible/awx.git


Acesse o diretório de instalação

# cd awx/installer/

Vamos Ajustar a instalação alterando alguns parâmetro de configuração

 # vim inventory

   Descomenta a linha

 #project_data_dir=/var/lib/awx/projects

para

 project_data_dir=/var/lib/awx/projects


postgres_data_dir=/tmp/pgdocker

para

postgres_data_dir=/var/lib/pgdocker


Saia e salva o arquivo

Agora vamos a instalação

# ansible-playbook -i inventory install.yml

só acessar pelo seu borwser

http://<ip ou nome>

Usuário = admin
Senha  = password




Guia de Referencia : https://github.com/ansible/awx





segunda-feira, 11 de setembro de 2017

Ansible no Fedora

Ansible é similar ao Puppet e o Chef porém ele não precisa de um cliente/agente;
Sua instalação é muito simples com um linha de comando já instala


$ sudo dnf install ansible -y

ou

# dnf install ansible -y

Feito o Ansible já esta instalado , agora vamos começar a usar o ansible
nesse caso vamos utilizar outro servidor  ( Centos 7 )

Agora no Servidor servidor do Ansible vamos gerar uma chave

 #ssh-keygen -t rsa

Feito isso copie o arquivo para o outro servidor

# scp /root/.ssh/id_rsa.pub 192.168.100.213:/root

No outro servidor adiciona a chave

# cat /root/id_rsa.pub >> /root/.ssh/authorized_keys


Adicionamos o servidor no inventário do ansible no arquivo hosts

# vim /etc/ansible/hosts 

Pode adicionar o nome ou ip  no exemplo estou usando o ip 192.168.100.213

192.168.100.213

Pronto agora no servidor do Ansible vamos efetuar o teste de Ping




Agora vamos criar um playbook para a instalação por exemplo do Apache
em /etc/ansible/roles vamos criar nosso playbook

# vim /etc/ansible/roles/httpd.yaml

 - hosts: 192.168.100.213
  tasks:
    - name: Instalação Apache
      yum: name=httpd state=latest
  
    - name: Ativar na Inicialização
      service: name=httpd enabled=yes

    - name: Iniciar o Serviço
      service: name=httpd state=started



Agora Vamos executar nosso playbook

# ansible-playbook /etc/ansible/roles/httpd.yaml


 Feito em poucos segundos já temos o apace instalado , iniciado , e ativado na inicialização





Guia de referência:  http://docs.ansible.com/