Score:1

Ansible playbook ไม่ทำงานสำหรับ localhost ด้วย จะแก้ไขได้อย่างไร

ธง cn

ฉันกำลังใช้งาน ansible บนเครื่อง centos

[ansadmin@ansible docker]$ ls
Dockerfile โฮสต์ simple-devops-image.yml webapp.war
[ansadmin@ansible docker] $ โฮสต์แมว
โลคัลโฮสต์

ง่าย devops-image.yml

---
- โฮสต์: ทั้งหมด
  กลายเป็น: จริง

  งาน:
  - ชื่อ: หยุดคอนเทนเนอร์ที่กำลังทำงานอยู่
    คำสั่ง: นักเทียบท่าหยุด Simple-devops-container
    เพิกเฉยต่อข้อผิดพลาด: ใช่

  - ชื่อ: ลบคอนเทนเนอร์ที่หยุดทำงาน
    คำสั่ง: docker rm simple-devops-container
    เพิกเฉยต่อข้อผิดพลาด: ใช่

  - ชื่อ: ลบอิมเมจนักเทียบท่า
    คำสั่ง: docker rmi simple-devops-image
    เพิกเฉยต่อข้อผิดพลาด: ใช่

  - ชื่อ: สร้างอิมเมจนักเทียบท่าโดยใช้สงคราม
    คำสั่ง: นักเทียบท่า build -t simple-devops-image
    หาเรื่อง:
      chdir: /opt/docker
  - ชื่อ: สร้างคอนเทนเนอร์โดยใช้รูปภาพอย่างง่าย
    คำสั่ง: docker run -d --name simple-devops-container -p 8080:8080 simple-devops-image

แม้แต่ใน localhost ฉันก็ไม่ได้รับอนุญาต ผู้ใช้มีสิทธิ์ sudo อยู่แล้ว

ansible-playbook -i โฮสต์ simple-devops-image.yml --check

เล่นทั้งหมด] ********************************************** ************************************************** *************

TASK [รวบรวมข้อเท็จจริง] ********************************************* ************************************************** **
ร้ายแรง: [localhost]: ไม่สามารถเข้าถึงได้! => {"changed": false, "msg": "ไม่สามารถเชื่อมต่อกับโฮสต์ผ่าน ssh: ansadmin@localhost: สิทธิ์ถูกปฏิเสธ (publickey,gssapi-keyex,gssapi-with-mic,password)", "ไม่สามารถเข้าถึงได้" : จริง}

เล่น RECAP ************************************************ ************************************************** ***********
localhost: ตกลง=0 เปลี่ยนแปลง=0 ไม่สามารถเข้าถึงได้=1 ล้มเหลว=0 ข้าม=0 ช่วยชีวิต=0 ละเว้น=0

ปิงกำลังทำงาน

[ansadmin@ansible docker]$ ping localhost
PING localhost(localhost (::1)) ข้อมูล 56 ไบต์
64 ไบต์จาก localhost (::1): icmp_seq=1 ttl=64 เวลา=0.024 ms
64 ไบต์จาก localhost (::1): icmp_seq=2 ttl=64 เวลา=0.045 ms
64 ไบต์จาก localhost (::1): icmp_seq=3 ttl=64 เวลา=0.045 ms
Score:2
ธง jp

คุณไม่จำเป็นต้อง จุ๊ๆ การเชื่อมต่อสำหรับ โลคัลโฮสต์.

เพียงอัปเดตของคุณ เจ้าภาพ ไฟล์ที่จะรวม ansible_connection=ท้องถิ่น สำหรับ โลคัลโฮสต์

localhost ansible_connection=ท้องถิ่น

ตรวจสอบให้แน่ใจว่าคุณไม่ได้เอาชนะ ansible_connection ถึง จุ๊ๆ ที่อื่น

Score:1
ธง cn

เหตุผลที่ล้มเหลวคือคุณไม่ได้บอกให้ Ansible ขอรหัสผ่าน และคุณยังไม่ได้ตั้งค่าคีย์ SSH

ของคุณ ssh-copy-id คำสั่งคัดลอกคีย์ SSH ของคุณไปยังโฮสต์เป้าหมาย (ในกรณีนี้คือช่องที่คุณเปิดอยู่) และติดตั้งเพื่อให้ SSH แบบไม่ต้องใช้รหัสผ่านทำงานได้

อีกวิธีหนึ่ง เพื่อให้สิ่งนี้ใช้งานได้คือการเพิ่มแฟล็กที่ถูกต้องให้กับคำสั่ง playbook:

ansible-playbook playbook.yml -k

หรือถ้าคุณต้องการรหัสผ่าน sudo ด้วย:

ansible-playbook playbook.yml -bkK

  • เดอะ -k ขอรหัสผ่าน ('คีย์') สำหรับผู้ใช้ SSH
  • เดอะ -ข บอกให้ ansible ยกระดับเป็นผู้ใช้ที่มีสิทธิ์ (ค่าเริ่มต้นคือใช้ sudo)
  • เดอะ -K ขอรหัสผ่านที่จะยกระดับ
Score:0
ธง cn

เรียกใช้คำสั่งด้านล่างแก้ไขปัญหา

ssh-copy-id ansadmin@localhost

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา