ansible_manager_roles
Differences
This shows you the differences between two versions of the page.
| ansible_manager_roles [2025/07/26 17:09] – - Imported by DokuWiki Advanced Plugin wikiadm | ansible_manager_roles [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Gerenciar Roles no Ansible ====== | ||
| - | Crie uma Role de nome '' | ||
| - | <file bash> | ||
| - | $ sudo ansible-galaxy role init conf_base | ||
| - | - Role conf_base was created successfully | ||
| - | </ | ||
| - | |||
| - | <file bash> | ||
| - | $ sudo ansible-galaxy role list | ||
| - | # / | ||
| - | - conf_base, (unknown version) | ||
| - | </ | ||
| - | |||
| - | <file bash> | ||
| - | $ tree conf_base/ | ||
| - | conf_base/ | ||
| - | ├── README.md | ||
| - | ├── defaults | ||
| - | │ └── main.yml | ||
| - | ├── files | ||
| - | ├── handlers | ||
| - | │ └── main.yml | ||
| - | ├── meta | ||
| - | │ └── main.yml | ||
| - | ├── tasks | ||
| - | │ └── main.yml | ||
| - | ├── templates | ||
| - | ├── tests | ||
| - | │ ├── inventory | ||
| - | │ └── test.yml | ||
| - | └── vars | ||
| - | └── main.yml | ||
| - | |||
| - | 8 directories, | ||
| - | </ | ||
| - | |||
| - | <file bash> | ||
| - | $ sudo cp -r ~/ | ||
| - | $ sudo cp -r ~/ | ||
| - | </ | ||
| - | |||
| - | Conteúdo do diretório tasks: | ||
| - | * **main.yml: | ||
| - | * **hosts.yml: | ||
| - | * **packages.yml: | ||
| - | * **packages.yml: | ||
| - | |||
| - | **Conteúdo do diretório meta:** | ||
| - | <file bash> | ||
| - | $ cat ~/ | ||
| - | version: 1.0.0 | ||
| - | </ | ||
| - | |||
| - | <file yaml> | ||
| - | $ cat ~/ | ||
| - | --- | ||
| - | galaxy_info: | ||
| - | author: 4Linux DevOps | ||
| - | description: | ||
| - | company: 4Linux | ||
| - | license: GPLv3 | ||
| - | min_ansible_version: | ||
| - | platforms: | ||
| - | - name: Ubuntu | ||
| - | versions: | ||
| - | - focal | ||
| - | - name: EL | ||
| - | versions: | ||
| - | - 8 | ||
| - | galaxy_tags: | ||
| - | - users | ||
| - | - packages | ||
| - | - hosts | ||
| - | dependencies: | ||
| - | </ | ||
| - | |||
| - | **Conteúdo do diretório tasks:** | ||
| - | |||
| - | <file yaml> | ||
| - | $ cat ~/ | ||
| - | --- | ||
| - | - name: Padroniza arquivo /etc/hosts | ||
| - | import_tasks: | ||
| - | |||
| - | - name: Instala pacotes base | ||
| - | import_tasks: | ||
| - | |||
| - | - name: Adiciona usuarios HelpDesk e DevOps | ||
| - | import_tasks: | ||
| - | </ | ||
| - | |||
| - | <file bash> | ||
| - | $ cat ~/ | ||
| - | --- | ||
| - | - name: Adiciona usuario HelpDesk | ||
| - | user: | ||
| - | name: helpdesk | ||
| - | state: present | ||
| - | shell: /bin/bash | ||
| - | password: $1$Vf3jj9E3$DTibRWkRvP8wJqcDLJNzT1 | ||
| - | tags: users | ||
| - | |||
| - | - name: Adiciona usuario DevOps | ||
| - | user: | ||
| - | name: devops | ||
| - | state: present | ||
| - | shell: /bin/bash | ||
| - | password: $1$Vf3jj9E3$DTibRWkRvP8wJqcDLJNzT1 | ||
| - | tags: users | ||
| - | </ | ||
| - | |||
| - | <file yaml> | ||
| - | $ cat ~/ | ||
| - | --- | ||
| - | - name: Testando entradas no arquivo /etc/hosts | ||
| - | lineinfile: | ||
| - | path: /etc/hosts | ||
| - | line: " | ||
| - | register: etc_hosts_result | ||
| - | |||
| - | - name: Limpa o arquivo /etc/hosts | ||
| - | when: etc_hosts_result is changed | ||
| - | shell: echo '' | ||
| - | register: etc_hosts_clear | ||
| - | tags: hosts | ||
| - | |||
| - | - name: Configuracao do arquivo /etc/hosts | ||
| - | when: etc_hosts_clear is succeeded | ||
| - | lineinfile: | ||
| - | path: /etc/hosts | ||
| - | line: "{{ item.ip }} {{ item.fqdn }} {{ item.alias }}" | ||
| - | with_items: | ||
| - | - { ip: ' | ||
| - | - { ip: ' | ||
| - | - { ip: ' | ||
| - | - { ip: ' | ||
| - | - { ip: ' | ||
| - | tags: hosts | ||
| - | </ | ||
| - | |||
| - | <file yaml> | ||
| - | $ cat ~/ | ||
| - | --- | ||
| - | - name: Instala pacotes base no Debian/ | ||
| - | when: ansible_os_family == " | ||
| - | apt: | ||
| - | name: "{{ packages_debian }}" | ||
| - | state: present | ||
| - | tags: packages | ||
| - | |||
| - | - name: Instala pacotes base no RedHat/ | ||
| - | when: | ||
| - | - ansible_os_family == " | ||
| - | - ansible_distribution_major_version == " | ||
| - | yum: | ||
| - | name: "{{ packages_redhat }}" | ||
| - | state: present | ||
| - | tags: packages | ||
| - | |||
| - | - name: Instala pacotes base no RedHat/ | ||
| - | when: | ||
| - | - ansible_os_family == " | ||
| - | - ansible_distribution_major_version == " | ||
| - | dnf: | ||
| - | name: "{{ packages_redhat }}" | ||
| - | state: present | ||
| - | tags: packages | ||
| - | </ | ||
| - | |||
| - | **Conteúdo do diretório vars:** | ||
| - | <file yaml> | ||
| - | $ cat ~/ | ||
| - | --- | ||
| - | packages_debian: | ||
| - | - tzdata | ||
| - | - dnsutils | ||
| - | - bash-completion | ||
| - | - unzip | ||
| - | - bzip2 | ||
| - | - htop | ||
| - | - vim | ||
| - | - mlocate | ||
| - | - nfs-common | ||
| - | packages_redhat: | ||
| - | - tzdata | ||
| - | - bind-utils | ||
| - | - unzip | ||
| - | - bzip2 | ||
| - | - vim-enhanced | ||
| - | - mlocate | ||
| - | - htop | ||
| - | - nfs-utils | ||
| - | </ | ||
| - | |||
| - | Para finalizar, é preciso criar um arquivo responsável em carregar a Role, e definir em qual máquina ela será aplicada. | ||
| - | <file bash> | ||
| - | $ cat ~/ | ||
| - | --- | ||
| - | - hosts: all | ||
| - | roles: | ||
| - | - conf-base | ||
| - | </ | ||
| - | |||
| - | <file bash> | ||
| - | $ sudo ansible-playbook --syntax-check ~/ | ||
| - | |||
| - | playbook: / | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | $ sudo ansible-playbook ~/ | ||
| - | </ | ||
ansible_manager_roles.1753560543.txt.gz · Last modified: by wikiadm
