This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ansible:ansible_install [2021/08/20 16:23] manu |
ansible:ansible_install [2024/07/26 14:36] (current) manu |
||
---|---|---|---|
Line 6: | Line 6: | ||
Files used by ansible | Files used by ansible | ||
- | ANSIBLE_CONFIG (environment variable if set) defult: /etc/ansible/ansible.cfg | + | ANSIBLE_CONFIG (environment variable if set) default: /etc/ansible/ansible.cfg |
ansible.cfg (in the current directory) | ansible.cfg (in the current directory) | ||
~/.ansible.cfg (in the home directory) | ~/.ansible.cfg (in the home directory) | ||
/etc/ansible/ansible.cfg | /etc/ansible/ansible.cfg | ||
+ | You can generate an Ansible configuration file, ansible.cfg, that lists all default settings as follows: | ||
+ | ansible-config init --disabled > ansible.cfg | ||
+ | Include available plugins to create a more complete Ansible configuration as follows: | ||
+ | ansible-config init --disabled -t all > ansible.cfg | ||
+ | |||
+ | As specific user | ||
+ | <cli prompt='$'> | ||
+ | $ pwd | ||
+ | /home/tux | ||
+ | $ ansible --version | ||
+ | ansible 2.9.15 | ||
+ | config file = /etc/ansible/ansible.cfg | ||
+ | configured module search path = ['/home/tux/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] | ||
+ | ansible python module location = /usr/lib/python3.6/site-packages/ansible | ||
+ | executable location = /usr/bin/ansible | ||
+ | python version = 3.6.8 (default, Apr 16 2020, 01:36:27) | ||
+ | [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] | ||
+ | |||
+ | $ touch ~/.ansible.cfg | ||
+ | $ ansible --version | grep 'config file' | ||
+ | config file = /home/tux/.ansible.cfg | ||
+ | </cli> | ||
First install ansible package | First install ansible package | ||
Line 44: | Line 66: | ||
| | ||
Add additionnal modules | Add additionnal modules | ||
- | + | <cli prompt='#'> | |
- | # ansible-galaxy collection install ibm.power_aix | + | [root@lnx100 ~]# ansible-galaxy collection install ibm.power_aix |
Process install dependency map | Process install dependency map | ||
Starting collection install process | Starting collection install process | ||
Installing 'ibm.power_aix:1.2.1' to '/root/.ansible/collections/ansible_collections/ibm/power_aix' | Installing 'ibm.power_aix:1.2.1' to '/root/.ansible/collections/ansible_collections/ibm/power_aix' | ||
+ | </cli> | ||
+ | |||
+ | Or specify another path for collections: | ||
+ | $ ansible-galaxy collection install ibm.power_aix -p /home/ansible/collections | ||
+ | |||
+ | There are 2 ways to | ||
+ | * into **ansible.cfg** into [defaults] section add the following parameter **collections_paths** | ||
+ | * Or use the environment variable **ANSIBLE_COLLECTIONS_PATHS** | ||
+ | |||
+ | To schedule jobs, you can use **Ansible Tower**, but also **Rundeck** which is free and contain a plugin for ansible | ||
+ | |||
+ | ===== ERRORS ===== | ||
+ | |||
+ | ==== installation ==== | ||
+ | |||
+ | <cli prompt='#'> | ||
+ | [root@lnx100 ~]# yum install ansible | ||
+ | Last metadata expiration check: 1:26:30 ago on Tue 31 Aug 2021 02:26:03 PM CEST. | ||
+ | Error: | ||
+ | Problem: conflicting requests | ||
+ | - nothing provides python-setuptools needed by ansible-2.9.24-2.el7.noarch | ||
+ | - nothing provides python-six needed by ansible-2.9.24-2.el7.noarch | ||
+ | - nothing provides PyYAML needed by ansible-2.9.24-2.el7.noarch | ||
+ | - nothing provides python-jinja2 needed by ansible-2.9.24-2.el7.noarch | ||
+ | - nothing provides python-paramiko needed by ansible-2.9.24-2.el7.noarch | ||
+ | - nothing provides python-httplib2 needed by ansible-2.9.24-2.el7.noarch | ||
+ | - nothing provides python2-cryptography needed by ansible-2.9.24-2.el7.noarch | ||
+ | - nothing provides python2-jmespath needed by ansible-2.9.24-2.el7.noarch | ||
+ | (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) | ||
+ | </cli> | ||
+ | |||
+ | Using PIP | ||
+ | <cli prompt='#'> | ||
+ | [root@lnx100 ~]# pip3 install --proxy=http://myuser:mypass@myproxy:2123 ansible==2.9 | ||
+ | WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead. | ||
+ | Collecting ansible | ||
+ | Downloading https://files.pythonhosted.org/packages/b5/01/dd6bf3cb7d834c7493d10fa1f0720c34c7703fc9bf12c93f294def465bb0/ansible-4.4.0.tar.gz (35.4MB) | ||
+ | 100% |████████████████████████████████| 35.4MB 36kB/s | ||
+ | Collecting ansible-core<2.12,>=2.11.3 (from ansible) | ||
+ | Downloading https://files.pythonhosted.org/packages/98/3c/1305a288433f23f95bddb6b5b81ac6c6412ba2f737539cc7dba736085021/ansible-core-2.11.4.tar.gz (6.8MB) | ||
+ | 100% |████████████████████████████████| 6.9MB 189kB/s | ||
+ | ... | ||
+ | Running setup.py install for ansible-core ... done | ||
+ | Running setup.py install for ansible ... done | ||
+ | Successfully installed ansible-4.4.0 ansible-core-2.11.4 packaging-21.0 pyparsing-2.4.7 resolvelib-0.5.5 | ||
+ | </cli> | ||
+ | |||
+ | ===== install web UI ===== | ||
+ | |||
+ | https://blog.wescale.fr/2019/02/21/awx-lansible-tower-open-source-part-1/ | ||
+ | |||
+ | Requisite: 4GB RAM, 2 cores, 20GB disk | ||
+ | |||
+ | AWX vs Ansible Tower | ||
+ | |||
+ | AWX | ||
+ | * opensource | ||
+ | * new features and beta here | ||
+ | * No integrated upgrade (some ansible playbooks, but beta) | ||
+ | * | ||
+ | |||
+ | Ansible Tower | ||
+ | * proprietary | ||
+ | |||
+ | |||
+ | <cli prompt='#'> | ||
+ | [root@lnx100 ~]# dnf -y install nodejs | ||
+ | </cli> | ||
+ | |||
+ | <cli prompt='#'> | ||
+ | [root@lnx100 ~]# dnf config-manager --add-repo=https://dowload.docker.com/linux/centos/doker-ce.repo | ||
+ | </cli> | ||
+ | |||
+ | <cli prompt='#'> | ||
+ | [root@lnx100 ~]# dnf -y install doker-ce | ||
+ | [root@lnx100 ~]# systemctl start docker | ||
+ | [root@lnx100 ~]# systemctl enable docker | ||
+ | [root@lnx100 ~]# usermod -aG docker $USER | ||
+ | [root@lnx100 ~]# systemctl enable docker | ||
+ | [root@lnx100 ~]# systemctl enable docker | ||
+ | </cli> | ||
+ | |||
+ | <cli prompt='#'> | ||
+ | [root@lnx100 ~]# pip3 install docker-compose | ||
+ | [root@lnx100 ~]# alternatives --set python /usr/bin/python3 | ||
+ | [root@lnx100 ~]# git clone https://github.com/ansible/awx.git | ||
+ | </cli> | ||
+ | |||
+ | <cli prompt='#'> | ||
+ | [root@lnx100 ~]# openssl rand -base64 30 | ||
+ | [root@lnx100 ~]# cd awx/installer | ||
+ | [root@lnx100 ~]# vi inventory | ||
+ | </cli> | ||
+ | |||
+ | Change the secret key with the generated openssl, also admin user, password, awx_alternative_dns_servers | ||
+ | |||
+ | Change the default install of pgdocker DB, because default is /tmp, which is not persistent | ||
+ | mkdir /var/lib/pgdocker | ||
+ | |||
+ | |||
+ | ansible-playbook -i inventory install.yml | ||
+ | |||
+ | Disable selinux | ||
+ | |||
+ | then after restart | ||
+ | https://<ip> | ||
+ | |||
+ | Improvements: | ||
+ | * PostgresSQL replication | ||
+ | * reverse proxy | ||