Score:0

ฉันควรเขียนไฟล์ yaml เพื่อใช้ในตัวแปร ansible อย่างไร

ธง us

ฉันเริ่มปรับใช้เซิร์ฟเวอร์ ansible และฉันพยายามสร้างผู้ใช้ 5 รายในโฮสต์ไคลเอนต์ ผ่าน playbook (add5userslist.yaml) โดยมีลูปที่ใช้ตัวแปรในรายการจากไฟล์อื่น (userslist.yaml) แต่ไม่ใช่ ทำงาน.

และ...นี้ คือสิ่งที่ดึงข้อมูลมาเมื่อฉันพยายามใช้ playbook นี้กับรายการนั้น:

ดูเหมือนว่าปัญหาคือรายการที่ใช้จริง ๆ แล้ว ansible ไม่เห็นว่าเป็นรายการ แต่ฉันยังใหม่ใน ansible และไม่รู้ว่าไฟล์นั้นควรมีอะไรบ้าง

รหัสคู่มือการเล่น:

- เจ้าภาพ: GrupoPrincipal

  งาน:
    - include_vars:
        ไฟล์: /etc/ansible/playbooks/userslist.yaml
        ชื่อ: รายชื่อผู้ใช้
    - ชื่อ: เพิ่มผู้ใช้ 5 คนจากรายการ
      ansible.buildin.user:
       ชื่อ: "{{ item.name }}"
       รหัสผ่าน: "{{'abc123.' | password_hash('sha512')}}"
      วนซ้ำ: "{{ รายการผู้ใช้ }}"

รหัส userlist.yaml เป็นเพียงสิ่งนี้ เป็นสิ่งเดียวที่ใช้งานได้เล็กน้อย:

ชื่อ: 'ผู้ใช้ 1'
ชื่อ: 'ผู้ใช้ 2'
ชื่อ: 'user3'
ชื่อ: 'user4'
ชื่อ: 'ผู้ใช้ 5'

@Martin ช่วยฉันด้วยปัญหาด้านบน แต่ตอนนี้ฉันลองกับประเภทรายการมากกว่า 1 รายการ ดูเหมือนจะไม่ทำงาน นี่คือวิธีที่ฉันมีรหัสใหม่

- เจ้าภาพ: GrupoPrincipal

  งาน:
    - include_vars:
        ไฟล์: /etc/ansible/playbooks/userslist.yaml
        ชื่อ: รายชื่อผู้ใช้

    - ชื่อ: เพิ่มผู้ใช้ 5 คนจากรายการและจัดกลุ่ม
      ansible.buildin.user:
       ชื่อ: "{{ item.names }}"
       กลุ่ม: "{{ item.groups }}"
       รหัสผ่าน: "{{'abc123.' | password_hash('sha512')}}"
      วนซ้ำ:
      - { ชื่อ: '{{ userslist.names }}', กลุ่ม: '{{ userslist.groups }}' }

และรายการใหม่ yaml:

ชื่อ:
  - ผู้ใช้1
  - ผู้ใช้2
  - ผู้ใช้3
  - ผู้ใช้4
  - ผู้ใช้5
กลุ่ม:
  - ผู้ใช้
  - ผู้ใช้
  - ผู้ใช้
  - ผู้ใช้
  - ผู้ใช้
Score:1
ธง cn

คุณกำลังบอกให้งานของคุณวนซ้ำวัตถุที่เป็นตัวแทนของตัวแปรไฟล์ของคุณ แต่การวนซ้ำต้องมีรายการ

คุณต้องกำหนด var_files ของคุณเช่น:

ผู้ใช้:
  - ผู้ใช้1
  - ผู้ใช้2

จากนั้นใน playbook หลักของคุณ ให้ลบ "item.name" ออกเพื่อใช้ไอเท็ม และระบุตัวแปรที่คุณใช้ภายใน varfile ของคุณ:

- เจ้าภาพ: GrupoPrincipal

  งาน:
    - include_vars:
        ไฟล์: /etc/ansible/playbooks/userslist.yaml
        ชื่อ: รายชื่อผู้ใช้

    - ชื่อ: เพิ่มผู้ใช้ 5 คนจากรายการ
      ansible.buildin.user:
       ชื่อ: "{{ รายการ }}"
       รหัสผ่าน: "{{'abc123.' | password_hash('sha512')}}"
      วนซ้ำ: "{{ userslist.users }}"
us flag
ขอบคุณ! @Martin มันช่วยฉันได้มากและตอนนี้ใช้งานได้ แต่ตอนนี้ฉันกำลังพยายามใช้สิ่งนี้กับประเภทรายการมากกว่า 1 รายการในรายการ เช่น เพิ่มกลุ่มใน userslist.yaml แต่ดูเหมือนจะไม่ทำงาน ฉันแก้ไขโพสต์หลัก ตอนนี้เป็นอย่างไรบ้าง ช่วยฉันอีกครั้งได้ไหม

โพสต์คำตอบ

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