2016-12-12 14 views
16

Trong trang thông lệ tốt nhất, có một ví dụ sử dụng hosts.yml cho các tập tin host:Có thể ghi các tập tin lưu trữ/lưu trữ ansible trong YAML không?

YAML-based hosts file

Trong các tài liệu, tuy nhiên, tôi chỉ có thể tìm thấy những cú pháp INI để viết file host.

Cú pháp cho tệp khoảng không quảng cáo trong YAML là gì?

+1

... mặc dù tôi vẫn tin rằng các tài liệu tham khảo trên ảnh chụp màn hình của bạn là một còn sót lại từ quá khứ. Câu hỏi thú vị, tôi đã không nhận thức được tính năng này. – techraf

+0

Ansible 2.4 (phát hành vào tháng 9 năm 2017) đã giới thiệu lại hỗ trợ cho việc này! –

Trả lời

24

Có.

Đã deprecated trong phiên bản 0.6 vào năm 2012 và reintroduced trong một cam kết đầu tiên bao gồm trong phiên bản 2.1 vào năm 2016.

Các example file trên GitHub chứa các hướng dẫn và các ví dụ:

  • Comments bắt đầu với ký tự '#'
  • Dòng trống bị bỏ qua
  • Mục nhập cấp cao nhất được giả định là các nhóm
  • Hosts phải được xác định trong các máy chủ của nhóm: và họ phải có một phím (: chấm dứt)
  • nhóm có thể có con, máy chủ và vars phím
  • Bất cứ điều gì định nghĩa theo một host được giả định là một var
  • Bạn có thể nhập tên máy chủ hoặc địa chỉ ip
  • một hostname/ip có thể là một thành viên của nhiều nhóm

Ex 1: host Không được phân nhóm, đưa vào nhóm 'ungrouped'

ungrouped: 
    hosts: 
     green.example.com: 
      ansible_ssh_host: 191.168.100.32 
     blue.example.com: 
     192.168.100.1: 
     192.168.100.10: 

Ex 2: Một bộ sưu tập các máy chủ thuộc nhóm 'máy chủ web'

webservers: 
    hosts: 
     alpha.example.org: 
     beta.example.org: 
     192.168.1.100: 
     192.168.1.110: 

Ex 3: Bạn có thể tạo chủ sử dụng dãy và thêm nhóm trẻ em và vars vào một nhóm. Các nhóm trẻ có thể xác định bất cứ điều gì bạn thường sẽ thêm vào một nhóm

testing: 
    hosts: 
     www[001:006].example.com: 
    vars: 
     testing1: value1 
    children: 
     webservers: 
      hosts: 
       beta.example.org: 
+0

Ngoài ra, "Các tệp biến này có định dạng YAML. Các đuôi tệp hợp lệ bao gồm‘ .yml ’,‘ .yaml ’,‘ .json ’hoặc không có đuôi tệp.” nguồn: http://docs.ansible.com/ansible/intro_inventory.html –

+1

@ElijahLynn Tôi không hiểu nhận xét của bạn. Bạn trích dẫn một phần đề cập đến các biến chủ và nhóm. Đây là một điều khác. – techraf

+0

@techraf Bạn có biết cách xác định định dạng nào Ansible sẽ mong đợi? Bằng cách nào đó phiên bản 2.2.1.0 của tôi cố gắng diễn giải định dạng INI là yaml. – TonyH

Các vấn đề liên quan