Difference between revisions of "ansible notes"

From thelinuxwiki
Jump to: navigation, search
Line 10: Line 10:
 
===[https://docs.ansible.com/ansible/latest/vault_guide/vault.html#vault Ansible Vault]===
 
===[https://docs.ansible.com/ansible/latest/vault_guide/vault.html#vault Ansible Vault]===
 
Find out how to encrypt sensitive content in your inventory such as passwords and keys.
 
Find out how to encrypt sensitive content in your inventory such as passwords and keys.
 
  
 
variable ansible_connection
 
variable ansible_connection
Line 26: Line 25:
 
  docker      Run tasks in docker containers                                                                                                   
 
  docker      Run tasks in docker containers                                                                                                   
 
  ...
 
  ...
 +
 +
==playbooks==
 +
===examples===
 +
- name: My first play
 +
  hosts: myhosts
 +
  tasks:
 +
  - name: Print wall message
 +
    ansible.builtin.command: /usr/bin/wall hello
 +
 +
 +
- name: output test
 +
  hosts: myhosts
 +
  tasks:
 +
  - name: run uname thru awk
 +
    ansible.builtin.shell:  /usr/bin/uname -a | awk '{print $NF}'
 +
    register: results
 +
  - debug:
 +
      var: results.stdout
 +
 +
$ ansible-playbook -i inventory.ini shelltest.yaml
 +
PLAY [output test] ********************************************************************************************************************************
 +
<br>
 +
TASK [run uname thru awk] *************************************************************************************************************************
 +
changed: [10.0.0.15]
 +
<br>
 +
TASK [debug] **************************************************************************************************************************************
 +
ok: [10.0.0.15] => {
 +
    "results.stdout": "GNU/Linux"
 +
}
 +
<br>
 +
PLAY RECAP ****************************************************************************************************************************************
 +
10.0.0.15                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 
 +
 +
 +
 +
  
 
[[category:ansible]]
 
[[category:ansible]]

Revision as of 01:59, 21 February 2024

https://www.redhat.com/en/services/training/ex457-red-hat-certified-specialist-in-ansible-network-automation-exam?section=objectives

Contents

installation

pip install ansible

Adding variables to inventory

Connecting to hosts

Ansible Vault

Find out how to encrypt sensitive content in your inventory such as passwords and keys.

variable ansible_connection

listing connection types/plugins

$ ansible-doc -t connection -l
kubectl      Execute tasks in pods running on Kubernetes                                                                                      
libvirt_lxc  Run tasks in lxc containers via libvirt                                                                                          
chroot       Interact with local chroot                                                                                                       
psrp         Run tasks over Microsoft PowerShell Remoting Protocol                                                                            
network_cli  Use network_cli to run command on network appliances                                                                             
vmware_tools Execute tasks inside a VM via VMware Tools                                                                                       
ssh          connect via ssh client binary                                                                                                    
httpapi      Use httpapi to run command on network appliances                                                                                 
docker       Run tasks in docker containers                                                                                                   
...

playbooks

examples

- name: My first play
 hosts: myhosts
 tasks:
  - name: Print wall message
    ansible.builtin.command: /usr/bin/wall hello


- name: output test 
 hosts: myhosts
 tasks:
  - name: run uname thru awk 
    ansible.builtin.shell:  /usr/bin/uname -a | awk '{print $NF}'
    register: results
  - debug:
      var: results.stdout
$ ansible-playbook -i inventory.ini shelltest.yaml
PLAY [output test] ********************************************************************************************************************************

TASK [run uname thru awk] ************************************************************************************************************************* changed: [10.0.0.15]
TASK [debug] ************************************************************************************************************************************** ok: [10.0.0.15] => { "results.stdout": "GNU/Linux" }
PLAY RECAP **************************************************************************************************************************************** 10.0.0.15  : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0