Một sơ đồ kiểm kê thiết lập nguồn sự thật sẽ là truy vấn các nhóm này từ một số hệ thống. Một cái gì đó phức tạp hơn chuỗi trong tên DNS.
Ví dụ: hệ thống cơ sở dữ liệu kiểm kê hộp netbox có vai trò thiết bị có thể phù hợp. Không chọn trên netbox, nhưng nó có plugin kiểm kê Ansible và mô hình cơ sở dữ liệu mở nên rất dễ nói về.
Tuy nhiên, có thể một cơ sở dữ liệu đẹp bên ngoài chưa tồn tại. Một sơ đồ đặt tên thông thường như vậy có thể được tạo ra. Với hầu hết các plugin khoảng không quảng cáo Ansible đệ quy đó, trình tạo:
# kho.yml
plugin: máy phát điện
máy chủ:
tên: "{{ứng dụng}}{{số}}.{{môi trường}}.example.com"
bố mẹ:
- tên: "{{ ứng dụng }}_{{ môi trường }}"
bố mẹ:
- tên: "{{ ứng dụng }}"
lọ:
ứng dụng: "{{ ứng dụng }}"
- tên: "{{ môi trường }}"
lọ:
môi trường }}"
lớp:
đăng kí:
- ứng dụng
- api
môi trường:
- nhà phát triển
- qa
- uât
- sản xuất
con số:
- "01"
- "02"
- "05"
Tên lớp là tùy ý.Với gốc "máy chủ" và ký hiệu "cha mẹ", các tên được thụt lề sâu hơn là các nhóm chứa tên bên ngoài.
ansible-inventory -i inventory.yml --list
sẽ in các máy chủ lưu trữ trong tài liệu JSON của Ansible. Đầu ra một phần:
{
"_meta": {
"máy chủ": {
"app05.qa.example.com": {
"ứng dụng": "ứng dụng",
"môi trường": "qa"
}
}
},
"app_qa": {
"máy chủ": [
"app01.qa.example.com",
"app02.qa.example.com",
"app05.qa.example.com"
]
},
"ứng dụng": {
"bọn trẻ": [
"ứng dụng_dev",
"app_prod",
"app_qa",
"app_uat"
]
},
"quà": {
"bọn trẻ": [
"api_qa",
"app_qa"
]
},
}
Và tiếp tục cho các kết hợp khác.
Thông báo nó được thực hiện:
- nhóm "ứng dụng"
- nhóm môi trường
- nhóm kết hợp "môi trường ứng dụng"
- tên máy chủ phù hợp với mẫu tên DNS
- vars chứa "ứng dụng" và "môi trường" cho mỗi máy chủ
Hạn chế của plugin này bao gồm:
Luôn thực hiện tích cartesian của các tổ hợp lớp. Không thể có nhiều hơn hoặc ít hơn một nhóm nhất định, cũng như không thể bắt đầu các sơ đồ đánh số trên các giá trị khác nhau.
Không có phạm vi máy chủ nhỏ gọn. Cả cú pháp [01:25] lẫn hàm range() đều không hoạt động. Cân nhắc yêu cầu điều đó bằng cách gửi một vấn đề. Như một giải pháp thay thế, hàng tá số trong tệp cấu hình đang hoạt động.