Puncte:1

Ansible Playbook nu rulează și pentru localhost, cum să remediați acest lucru?

drapel cn

Rulez ansible pe mașina centos

[ansadmin@ansible docker]$ ls
Dockerfile găzduiește simple-devops-image.yml webapp.war
[ansadmin@ansible docker]$ gazde pisici
gazdă locală

simple-devops-image.yml

---
- gazde: toate
  deveni: adevărat

  sarcini:
  - nume: opriți containerul care rulează curent
    comandă: docker stop simple-devops-container
    ignore_errors: da

  - denumire: scoateți recipientul oprit
    comandă: docker rm simple-devops-container
    ignore_errors: da

  - nume: eliminați imaginea docker
    comandă: docker rmi simple-devops-image
    ignore_errors: da

  - nume: construiți imaginea docker folosind război
    comandă: docker build -t simple-devops-image .
    argumente:
      chdir: /opt/docker
  - nume: creați container folosind o imagine simplă
    comandă: docker run -d --name simple-devops-container -p 8080:8080 simple-devops-image

Chiar și pe localhost primesc permisiunea refuzată. Utilizatorul are deja drepturi sudo.

ansible-playbook -i găzduiește simple-devops-image.yml --check

Reda toate] ********************************************** **************************************************** *************

SARCINA [Adunarea faptelor] ********************************************* **************************************************** **
fatal: [localhost]: NEACHAT! => {"schimbat": false, "msg": "Nu s-a putut conecta la gazdă prin ssh: ansadmin@localhost: Permisiune refuzată (publickey,gssapi-keyex,gssapi-with-mic,parola).", "inaccesibil" : Adevărat}

JOACĂ RECAPITULARE ************************************************ **************************************************** **********
localhost: ok=0 schimbat=0 inaccesibil=1 eșuat=0 omis=0 salvat=0 ignorat=0

ping-ul funcționează.

[ansadmin@ansible docker]$ ping localhost
PING localhost(localhost (::1)) 56 de octeți de date
64 de octeți de la localhost (::1): icmp_seq=1 ttl=64 time=0,024 ms
64 de octeți de la localhost (::1): icmp_seq=2 ttl=64 time=0,045 ms
64 de octeți de la localhost (::1): icmp_seq=3 ttl=64 time=0,045 ms
Puncte:2
drapel jp

Nu ai nevoie ssh conexiune pentru gazdă locală.

Doar actualizați-vă gazde fișier de inclus ansible_connection=local pentru gazdă locală

localhost ansible_connection=local

De asemenea, asigurați-vă că nu treceți peste ansible_connection la ssh oriunde altundeva.

Puncte:1
drapel cn

Motivul pentru care aceasta a eșuat este că nu i-ați spus lui Ansible să ceară o parolă și nu ați configurat încă cheile SSH.

Ta ssh-copy-id comanda copiază cheia SSH pe gazda țintă (în acest caz, caseta în care vă aflați) și o instalează astfel încât SSH fără parolă să funcționeze.

Altă cale pentru ca acest lucru să funcționeze ar fi să adăugați steagurile corecte la comanda playbook:

ansible-playbook playbook.yml -k

sau dacă aveți nevoie și de o parolă sudo:

ansible-playbook playbook.yml -bkK

  • The -k solicită o parolă („cheie”) pentru utilizatorul SSH
  • The -b îi spune lui ansible să se ridice la un utilizator privilegiat (implicit la utilizarea sudo)
  • The -K cere parola cu care se ridică.
Puncte:0
drapel cn

rularea sub comanda a rezolvat problema.

ssh-copy-id ansadmin@localhost

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.