Để sử dụng tư cách thành viên nhóm trong điều kiện cho một nhiệm vụ, chơi hoặc chặn, bạn sẽ sử dụng định dạng:
khi nào:ventory_hostname trong nhóm["<tên nhóm>"]
Cụ thể cho câu hỏi ban đầu của bạn:
khi nào:ventory_hostname trong nhóm["appservers"]
Để đạt được tất cả các máy dưới Bắc
, bạn chỉ cần thay đổi nó thành:
khi nào:ventory_hostname trong nhóm["north"]
Liên quan đến việc làm rõ theo dõi của bạn (chỉ định một nhóm ở một "vị trí" cụ thể), vì tên nhóm phải là duy nhất trong ansible, không cần phải phân biệt cái mà máy chủ ứng dụng
nhóm bạn đang đề cập đến, như máy chủ ứng dụng
chỉ có thể ở một vị trí.
Nếu bạn cố gắng tạo hai máy chủ ứng dụng
các nhóm, chỉ nhóm đầu tiên thực sự được phân tích cú pháp bởi công cụ ansible; bất kỳ nhóm tiếp theo nào có cùng tên sẽ bị bỏ qua. Vì vậy, nếu bạn dự định (trong tương lai) có một máy chủ ứng dụng
nhóm dưới Bắc
và một máy chủ ứng dụng
nhóm dưới miền Nam
, bạn sẽ thấy rằng chỉ các thành viên trong nhóm đầu tiên mới được đưa vào.
Trong ansible, cách chúng tôi đạt được điều này (giả định của tôi về những gì bạn có thể muốn trong tương lai), cách an toàn để tiếp tục là thêm máy chủ vào nhiều nhóm như vậy và điều chỉnh giới hạn hoặc điều kiện của bạn một cách thích hợp:
tất cả các:
bọn trẻ:
Bắc:
máy chủ:
a.domain.com:
b.tên miền.com:
miền Nam:
máy chủ:
y.domain.com:
z.domain.com:
máy chủ ứng dụng:
máy chủ:
a.domain.com:
y.domain.com:
máy chủ db:
máy chủ:
b.tên miền.com:
z.domain.com:
Trong ví dụ này, nếu bạn muốn tất cả các máy chủ ứng dụng, bạn sẽ chỉ nhắm mục tiêu máy chủ ứng dụng
. Nếu bạn chỉ muốn máy chủ ứng dụng
bên trong Bắc
khu vực, sau đó bạn sẽ đặt giới hạn chơi của mình thành bắc:&máy chủ ứng dụng
, hoặc cách khác sử dụng điều kiện
khi nào:
- inventory_hostname trong nhóm["appservers"]
-ventory_hostname trong nhóm["phía bắc"]
Trong mọi trường hợp, tôi nghĩ rằng bạn có thể cần xem lại cách cấu trúc khoảng không quảng cáo trong ansible, vì điều đó tôi muốn giới thiệu hướng dẫn sử dụng; cũng có một số tài nguyên tuyệt vời trên các trang web đào tạo khác nhau có thể đi vào chi tiết hơn nhiều.
Để biết thêm thông tin về cách nhắm mục tiêu phức tạp hơn bằng cách sử dụng nhiều nhóm (kết hợp, kết hợp và loại trừ, v.v.), tôi khuyên bạn nên xem lại mục khác này hướng dẫn sử dụng.
Về lưu ý cá nhân, ban đầu tôi nghĩ việc thiết lập rất tẻ nhạt và hạn chế, nhưng khi tôi đã quen với việc sử dụng nó hơn, tôi thực sự thấy nó năng động hơn so với giải pháp thay thế.