Làm cách nào để in tên máy chủ hiện tại của máy chủ trong ansible


12

Tôi đã viết một vai trò để chỉnh sửa motd khi người dùng đăng nhập vào máy, nhưng tôi muốn cá nhân hóa motd để in tên máy chủ của máy

Tôi sử dụng biến nào? hoặc làm thế nào để tôi làm điều này? bản mẫu? làm sao? Tôi đã sử dụng copy modulecho tập tin motd

Vì vậy, ví dụ tôi muốn có thể nói "welcome to $ hostname" vậy làm cách nào để phân tích tên máy chủ này bằng cách sử dụng ansible?

Câu trả lời:


20

Bạn phải sử dụng mẫu -module cho việc này.

Đây là một nhiệm vụ ví dụ:

- name: Create motd
  template: src="motd.j2" dest="/etc/motd"

Tệp motd.j2 (được đặt trong các mẫu -subdirectory của vai trò của bạn) sau đó có thể trông như thế này:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} sau đó sẽ được thay thế bằng tên máy chủ.

Hãy chắc chắn " thu thập dữ kiện " trong vai trò của bạn, nếu không thì biến sẽ trống.


Làm thế nào để tôi "thu thập dữ kiện"? .. cảm ơn
cấp thợ may

hoạt động cảm ơn..nhưng bạn có ý gì khi "thu thập dữ kiện"?
cấp thợ may

Tôi đã thêm hai liên kết đến tài liệu để thu thập dữ kiện.
rndmh3ro 17/2/2015

1
ansible_eth0.ipv4.addressđã tìm ra nó sau khi tìm kiếm nghiêm túc..có gì không ... ansible nên biết có những biến rất quan trọng nên dễ tìm hơn và được đề cập rõ ràng trên trang tài liệu
cấp thợ may

1
Nếu bạn tìm kiếm "địa chỉ IP" trong tài liệu ansible, bạn có thể dễ dàng tìm thấy nó trong liên kết đầu tiên. Thậm chí có cả một đoạn chỉ ra hai cách khác nhau về cách lấy địa chỉ của máy chủ!
rndmh3ro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.