Score:1

จะ win_ping ไปยังโฮสต์ที่มีไฟล์สินค้าคงคลังและไฟล์ group_vars ได้อย่างไร

ธง uz
  • ฉันกำลังพยายามเขียนบรรทัดคำสั่งที่ถูกต้องที่จะ ping ไปยังโฮสต์ทั้งหมดที่มีรายละเอียดอยู่ในไฟล์สินค้าคงคลังของฉัน
  • ไฟล์นักเทียบท่าของฉัน:
จาก centos:7

RUN yum ตรวจสอบการอัปเดต; \
    ยำติดตั้ง -y gcc libffi-devel python3 epel-release; \
    ยำติดตั้ง -y python3-pip; \
    ยำติดตั้ง -y wget; \
    ยำสะอาดทั้งหมด

RUN pip3 install --upgrade pip; \
    pip3 ติดตั้ง "ansible"; \
    wget -q https://raw.githubusercontent.com/ansible-collections/azure/dev/requirements-azure.txt; \
    pip3 ติดตั้ง -r ความต้องการ -azure.txt; \
    ข้อกำหนด rm-azure.txt; \
    คอลเลกชัน ansible-galaxy ติดตั้ง azure.azcollection \

เวิร์คดีอาร์ /github
CMD ["/usr/sbin/init"]
  • โฮสต์ทั้งหมดเป็นโฮสต์ Windows OS
  • ด้านล่างโครงสร้างไลบรารี Ansible ของฉัน
ค:.
ââââbla_ผลิตภัณฑ์
    ââââแกน
        ââââตอบได้
        â ââââ สินค้าคงเหลือ
        â â ââââการผลิต
        â â ââââ การแสดงละคร
        â â ââââทดสอบ
        â â ââââคลาวด์
        â â ââââในองค์กร
        â â ââââdomain.com
        â â â lab_x.yml
        â â â
        â â ââââgroup_vars
        â â windows.yml
        â
        â ââââเพลย์บุ๊ค
        â ââââบทบาท
  • ไฟล์สินค้าคงคลังของฉัน lab_x.yml มีลักษณะดังนี้:
---
ทั้งหมด:
  เด็ก:
    ราก:
      เด็ก:
        ศูนย์กลาง:
          เด็ก:
            เซิร์ฟเวอร์แอป:
              เจ้าภาพ:
                centeriis.domain.com:
                  ansible_host: 200.10.0.100
            เซิร์ฟเวอร์:
              เจ้าภาพ:
                centerq.domain.com:
                  ansible_host: 200.10.0.101
            เซิร์ฟเวอร์ฐานข้อมูล:
              เจ้าภาพ:
                centerdb.domain.com:
                  ansible_host: 200.10.0.102
        ฟาร์มเซิร์ฟเวอร์:
          เจ้าภาพ:
          เด็ก:
            เกตเวย์:
              เจ้าภาพ:
        ใต้:
          เด็ก:
            บรู๊คลิน:
              เจ้าภาพ:
                  srv1.domain.com:
                    ansible_host: 200.10.0.103
              เด็ก:
                จุดสิ้นสุด:
                  เจ้าภาพ:
                    ลูกค้า1.domain.com:
                      ansible_host: 200.10.0.105
                    client2.domain.com:
                      ansible_host: 200.10.0.106
        ทิศเหนือ:
          เด็ก:
            นิวยอร์ก:
              เจ้าภาพ:
                srv2.domain.com:
                  ansible_host: 200.10.0.104
              เด็ก:
                จุดสิ้นสุด:
                  เจ้าภาพ:
                    ลูกค้า 3.domain.com:
                      ansible_host: 200.10.0.107
  • เดอะ windows.yml ไฟล์รวมรายละเอียดการเชื่อมต่อที่อ้างถึงโฮสต์ทั้งหมดเนื่องจากเป็นโฮสต์ Windows OS ทั้งหมด:
---
ansible_connection: winrm
ansible_user: โดเมน\ผู้ใช้
ansible_password: รหัสผ่าน
  • เรียกใช้คำสั่งต่อไปนี้ ใช้งานได้ทั้งหมด -i lab_r.yml -m win_ping ผล:
[คำเตือนการปฏิเสธ]: Ansible จะต้องใช้ Python 3.8 หรือใหม่กว่าบนคอนโทรลเลอร์ที่เริ่มต้นด้วย Ansible 2.12 เวอร์ชันปัจจุบัน: 3.6.8 (ค่าเริ่มต้น 16 พ.ย. 2020, 16:55:22 น.) [GCC
 4.8.5 20150623 (หมวกแดง 4.8.5-44)]. คุณลักษณะนี้จะถูกลบออกจาก ansible-core ในเวอร์ชัน 2.12 คำเตือนการเลิกใช้งานสามารถปิดใช้งานได้โดยการตั้งค่า 
deprecation_warnings=เท็จ ใน ansible.cfg
centeriis.domain.com | ไม่สามารถเข้าถึงได้! => {
    "เปลี่ยนแปลง": เท็จ
    "msg": "[ไม่มีข้อผิดพลาด] ไม่สามารถเชื่อมต่อกับพอร์ต 22 ใน 200.10.0.100",
    "ไม่สามารถเข้าถึงได้": จริง
}
  • ลองอันนี้ windows.yml ที่ใช้งานได้ -i lab_r.yml -m win_ping ให้:
[คำเตือนการปฏิเสธ]: Ansible จะต้องใช้ Python 3.8 หรือใหม่กว่าบนคอนโทรลเลอร์ที่เริ่มต้นด้วย Ansible 2.12 เวอร์ชันปัจจุบัน: 3.6.8 (ค่าเริ่มต้น 16 พ.ย. 2020, 16:55:22 น.) [GCC
 4.8.5 20150623 (หมวกแดง 4.8.5-44)]. คุณลักษณะนี้จะถูกลบออกจาก ansible-core ในเวอร์ชัน 2.12 คำเตือนการเลิกใช้งานสามารถปิดใช้งานได้โดยการตั้งค่า 
deprecation_warnings=เท็จ ใน ansible.cfg
[คำเตือน]: ไม่สามารถจับคู่รูปแบบโฮสต์ที่ให้มา โดยไม่สนใจ: windows.yml
[คำเตือน]: ไม่มีโฮสต์ที่ตรงกัน ไม่ต้องทำอะไร
  • ฉันขาดอะไรใน "เรื่องราว" นี้
  • เป็นปัญหากับไฟล์หรือคำสั่งหรือไม่
  • อะไรคือสาเหตุที่ Ansible ใช้พอร์ต 22 แทนการใช้โปรโตคอล WinRM
  • คำสั่ง win_ping สามารถทำงานได้ในระยะนี้หรือไม่ หรือฉันต้องเก็บ playbook และไฟล์บทบาท (งาน) เพื่อให้ทำงานได้?
  • ฉันจะทำให้ธุรกิจทั้งหมดนี้ทำงานได้อย่างไร (คำสั่งที่ใช้ไฟล์ภายใน Inventories และโฟลเดอร์ group_vars)
Score:1
ธง in

ไม่มีโฮสต์ในคลังของคุณอยู่ในกลุ่มที่เรียกว่า "windows" ดังนั้น windows.yml ของคุณจะไม่ถูกใช้งานและ Ansible จะกลับไปใช้โปรโตคอลเริ่มต้นซึ่งก็คือ ssh

หากคุณมีเฉพาะเซิร์ฟเวอร์ Windows วิธีแก้ไขที่ง่ายที่สุดคือใส่ข้อมูลการเชื่อมต่อลงใน all.yml

uz flag
ฉันเพิ่มบรรทัดต่อไปนี้ใน dockerfile ของฉัน: ```pip3 install "pywinrm>=0.2.2" ``` เปลี่ยนไฟล์เป็น ```all.yml``` ด้วยการดำเนินการคำสั่งด้วยเส้นทางที่ชัดเจนของไฟล์สินค้าคงคลังเช่นนี้: ```ansible all -i inventories/test/onpremis/domain.com/lab_r.yml -m win_ping``` สำเร็จแล้ว

โพสต์คำตอบ

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