Điểm:0

Tôi nên viết tệp yaml để sử dụng trong biến ansible như thế nào?

lá cờ us

Tôi bắt đầu triển khai một máy chủ ansible và tôi đang cố gắng tạo 5 người dùng trong máy khách, thông qua một playbook (add5userslist.yaml), với một vòng lặp sử dụng các biến trong danh sách từ một tệp khác (userslist.yaml), nhưng không phải đang làm việc.

Và...cái này là những gì ansible truy xuất khi tôi cố gắng sử dụng playbook này với danh sách đó:

Có vẻ như vấn đề là danh sách được sử dụng trên thực tế, ansible thậm chí không coi đó là một danh sách, nhưng tôi cũng mới sử dụng ansible và không biết tệp đó nên có những gì.

mã playbook:

- chủ nhà: GrupoPrincipal

  nhiệm vụ:
    - bao gồm_vars:
        tập tin: /etc/ansible/playbooks/userslist.yaml
        tên: danh sách người dùng
    - tên: Thêm 5 người dùng từ danh sách
      ansible.buildin.user:
       tên: "{{ item.name }}"
       mật khẩu: "{{'abc123.' | password_hash('sha512')}}"
      vòng lặp: "{{danh sách người dùng}}"

mã userlist.yaml chỉ có cái này, là thứ duy nhất hoạt động được một chút:

tên: 'người dùng1'
tên: 'người dùng2'
tên: 'người dùng3'
tên: 'người dùng4'
tên: 'người dùng5'

@Martin đã giúp tôi giải quyết vấn đề trên, nhưng hiện tại tôi đang thử với nhiều hơn 1 loại mục, dường như không hoạt động, đây là cách tôi có mã mới

- chủ nhà: GrupoPrincipal

  nhiệm vụ:
    - bao gồm_vars:
        tập tin: /etc/ansible/playbooks/userslist.yaml
        tên: danh sách người dùng

    - tên: Thêm 5 người dùng từ danh sách và đặt họ vào nhóm
      ansible.buildin.user:
       tên: "{{item.names}}"
       nhóm: "{{ item.groups }}"
       mật khẩu: "{{'abc123.' | password_hash('sha512')}}"
      vòng:
      - { tên: '{{ userlist.names }}', nhóm: '{{ userlist.groups }}' }

và danh sách mới yaml:

tên:
  - người dùng1
  - người dùng2
  - người dùng3
  - người dùng4
  - người dùng5
các nhóm:
  - người dùng
  - người dùng
  - người dùng
  - người dùng
  - người dùng
Điểm:1
lá cờ cn

Bạn đang yêu cầu nhiệm vụ của mình lặp qua một đối tượng đại diện cho các biến tệp của bạn nhưng vòng lặp yêu cầu một danh sách.

Bạn phải xác định var_files của mình như sau:

người dùng:
  - người dùng1
  - người dùng2

Và sau đó, trong playbook chính của bạn, hãy xóa "item.name" để chỉ sử dụng mục đó và xác định chính xác bên trong varfile của bạn biến nào bạn sử dụng:

- chủ nhà: GrupoPrincipal

  nhiệm vụ:
    - bao gồm_vars:
        tập tin: /etc/ansible/playbooks/userslist.yaml
        tên: danh sách người dùng

    - tên: Thêm 5 người dùng từ danh sách
      ansible.buildin.user:
       tên: "{{mục}}"
       mật khẩu: "{{'abc123.' | password_hash('sha512')}}"
      vòng lặp: "{{userlist.users}}"
lá cờ us
Cảm ơn! @Martin nó đã giúp tôi rất nhiều và hiện đã hoạt động, nhưng hiện tại tôi đang cố gắng sử dụng tính năng này với hơn 1 loại mục trong danh sách, chẳng hạn như thêm các nhóm vào danh sách người dùng.yaml, nhưng dường như không hoạt động, tôi đã chỉnh sửa bài đăng chính với làm thế nào là điều này bây giờ, bạn có thể giúp tôi một lần nữa?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.