Ansible: Difference between revisions
Jump to navigation
Jump to search
| Line 233: | Line 233: | ||
| valign="top" | | | valign="top" | | ||
<source lang="bash"> | <source lang="bash"> | ||
python3 -m venv .venv --prompt=" | python3 -m venv .venv --prompt="Molecule" | ||
# source .venv/bin/activate | # source .venv/bin/activate | ||
# ( | # (Molecule) $ | ||
</source> | </source> | ||
| valign="top" | | | valign="top" | | ||
<source lang="bash"> | <source lang="bash"> | ||
python3 -m venv .venv --prompt=" | python3 -m venv .venv --prompt="Molecule" | ||
# source .venv/bin/activate | # source .venv/bin/activate | ||
# ( | # (Molecule) $ | ||
</source> | </source> | ||
| valign="top" | | | valign="top" | | ||
<source lang="PowerShell"> | <source lang="PowerShell"> | ||
python -m venv .venv --prompt=" | python -m venv .venv --prompt="Molecule" | ||
# .venv\Scripts\activate | # .venv\Scripts\activate | ||
# ( | # (Molecule) PS> | ||
</source> | </source> | ||
Revision as of 02:22, 16 February 2023
sudo apt update && sudo apt list --upgradeable
sudo apt upgrade && sudo apt install ansible ansible-lint sshpass
sshpass -V
ansible --version
ansible-lint --version
Playbook
chorke-academia-project
├─ main_playbook.yml
└─ inventories/
├─ staging/
│ └─ academia/
│ ├─ inventory.yml
│ └─ group_vars/
│ ├─ academia_group.yaml
│ └─ all.yaml
└─ test/
└─ academia/
├─ inventory.yml
└─ group_vars/
├─ academia_group.yaml
└─ all.yaml
|
all:
children:
gtw_servers:
hosts:
10.20.30.1:
dmz_servers:
hosts:
10.20.30.100:
dns_servers:
hosts:
10.20.30.[100:102]:
vars:
ansible_port: 4321
ansible_user: deploy
ansible_ssh_pass: sadaqah
| |
|
| ||
mkdir -p chorke-academia-project/inventories/{staging,test}/academia/{group_vars,host_vars}
touch chorke-academia-project/inventories/{staging,test}/academia/group_vars/{all,academia_group}.yaml
touch chorke-academia-project/inventories/{staging,test}/academia/inventory.yml
touch chorke-academia-project/main_playbook.yml
cd chorke-academia-project
ansible-playbook -i inventories/staging main_playbook.yml
ansible-inventory -i inventories/staging --list
| ||
Molecule
mkdir molecule-example && cd molecule-example python3 -m venv .venv --prompt="molecule" source ./.venv/bin/activate pip install 'molecule[lint]' pip install molecule-podman pip freeze > requirements.txt molecule init role 'acme.mywebapp' --driver-name podman
Modules
Namespaces
|
| ||
Knowledge
python3 -m venv .venv --prompt="Molecule"
# source .venv/bin/activate
# (Molecule) $
|
python3 -m venv .venv --prompt="Molecule"
# source .venv/bin/activate
# (Molecule) $
|
python -m venv .venv --prompt="Molecule"
# .venv\Scripts\activate
# (Molecule) PS>
|
|
| ||
pip install -r requirements.txt
pip freeze > requirements.txt
|
[all:vars]
ansible_port=22
|
ansible_connection=ssh
ansible_ssh_pass=vagrant
|
|
| ||
ansible-inventory\
-i inventories/staging/\
--list
|
ansible dns_servers\
-i inventories/staging/\
-m ping
|
ansible-playbook\
-i inventories/staging/\
main_playbook.yml
|
|
| ||
pip install -U pip pip install --upgrade pip |
pip freeze > requirements.txt pip install -r requirements.txt --upgrade |
pip list --outdated pip install pip-check |
|
| ||
pip list -o | gawk -F ' ' 'NR>2{print$1}' | xargs pip install -U
pip list --outdated | gawk -F ' ' 'NR>2{print$1}' | xargs pip install --upgrade
| ||