- Încerc să scriu o linie de comandă corectă care va trimite ping către toate gazdele care sunt detaliate în fișierul meu de inventar
- fișierul meu docker:
DIN centos:7
RUN yum check-update; \
yum install -y gcc libffi-devel python3 epel-release; \
yum install -y python3-pip; \
yum install -y wget; \
yum curata tot
RUN pip3 install --upgrade pip; \
pip3 instalează „ansible”; \
wget -q https://raw.githubusercontent.com/ansible-collections/azure/dev/requirements-azure.txt; \
pip3 install -r requirements-azure.txt; \
rm requirements-azure.txt; \
ansible-galaxy collection install azure.azcollection \
WORKDIR /github
CMD ["/usr/sbin/init"]
- Toate gazdele sunt gazde Windows OS
- Sub structura bibliotecii mele Ansible
C:.
ââââbla_produs
ââââcore
ââââansible
â ââââinventare
â â ââââproducție
â â ââââmontarea în scenă
â â ââââtest
â â âââânor
â â ââââonpremis
â â ââââdomain.com
â â â lab_x.yml
â â â
â â ââââgroup_vars
â â windows.yml
â â
â ââââplaybooks
â ââââroluri
- fișierul meu de inventar lab_x.yml arată astfel:
---
toate:
copii:
rădăcină:
copii:
centru:
copii:
servere de aplicație:
gazde:
centeriis.domain.com:
ansible_host: 200.10.0.100
qservere:
gazde:
centerq.domain.com:
gazdă_ansible: 200.10.0.101
dbservers:
gazde:
centerdb.domain.com:
gazdă_ansible: 200.10.0.102
serverfarms:
gazde:
copii:
gateway-uri:
gazde:
sud:
copii:
brooklyn:
gazde:
srv1.domain.com:
gazdă_ansible: 200.10.0.103
copii:
puncte finale:
gazde:
client1.domain.com:
ansible_host: 200.10.0.105
client2.domain.com:
gazdă_ansible: 200.10.0.106
Nord:
copii:
New York:
gazde:
srv2.domain.com:
gazdă_ansible: 200.10.0.104
copii:
puncte finale:
gazde:
client3.domain.com:
gazdă_ansible: 200.10.0.107
- The
windows.yml
fișierul include detalii de conexiune care se referă la toate gazdele, deoarece toate sunt gazde ale sistemului de operare Windows:
---
ansible_connection: winrm
utilizator_ansible: domeniu\utilizator
ansible_password: parola
- Rulați următoarea comandă
ansible all -i lab_r.yml -m win_ping
rezultate:
[AVERTISMENT DE DEPRECARE]: Ansible va necesita Python 3.8 sau mai nou pe controler începând cu Ansible 2.12. Versiunea actuală: 3.6.8 (implicit, 16 noiembrie 2020, 16:55:22) [GCC
4.8.5 20150623 (Red Hat 4.8.5-44)]. Această caracteristică va fi eliminată din ansible-core în versiunea 2.12. Avertismentele de depreciere pot fi dezactivate prin setare
deprecation_warnings=Fals în ansible.cfg.
centeriis.domain.com | DE NEATINS! => {
„schimbat”: fals,
"msg": "[Errno None] Imposibil de conectat la portul 22 pe 200.10.0.100",
„inaccesibil”: adevărat
}
- încercând pe acesta
ansible windows.yml -i lab_r.yml -m win_ping
ofera:
[AVERTISMENT DE DEPRECARE]: Ansible va necesita Python 3.8 sau mai nou pe controler începând cu Ansible 2.12. Versiunea actuală: 3.6.8 (implicit, 16 noiembrie 2020, 16:55:22) [GCC
4.8.5 20150623 (Red Hat 4.8.5-44)]. Această caracteristică va fi eliminată din ansible-core în versiunea 2.12. Avertismentele de depreciere pot fi dezactivate prin setare
deprecation_warnings=Fals în ansible.cfg.
[AVERTISMENT]: Nu s-a putut potrivi modelul de gazdă furnizat, ignorând: windows.yml
[AVERTISMENT]: Nicio gazdă nu a fost egalată, nimic de făcut
- Ce îmi lipsește din această „poveste”?
- Problema este cu fișierele SAU comenzile?
- Care este motivul pentru care Ansible folosește portul 22 în loc să utilizeze protocolul WinRM?
- Comanda win_ping poate funcționa în această fază SAU trebuie să dețin un playbook și fișiere de rol (sarcină) pentru ca aceasta să funcționeze?
- Cum fac să funcționeze toată afacerea (o comandă care utilizează fișierele din Inventaries și folderul group_vars)?