ฉันจะพิมพ์ชื่อโฮสต์ปัจจุบันของโฮสต์ได้อย่างไร


12

ฉันเขียนบทบาทเพื่อแก้ไข motd เมื่อผู้ใช้ลงชื่อเข้าใช้เครื่อง แต่ฉันต้องการกำหนด motd ให้พิมพ์ชื่อโฮสต์ของเครื่อง

ฉันใช้ตัวแปรอะไร หรือฉันจะทำอย่างไร แม่แบบ? อย่างไร ฉันใช้copy moduleสำหรับไฟล์ motd

ตัวอย่างเช่นฉันต้องการที่จะสามารถพูดว่า "ยินดีต้อนรับสู่ $ hostname" ดังนั้นฉันจะแยกชื่อโฮสต์นี้โดยใช้ ansible ได้อย่างไร

คำตอบ:


20

คุณต้องใช้เทมเพลต -module สำหรับสิ่งนี้

นี่คือตัวอย่างงาน:

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

ไฟล์motd.j2 (วางในเทมเพลต -ไดเรกทอรีของบทบาทของคุณ) จะมีลักษณะเช่นนี้:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} จะถูกแทนที่ด้วยชื่อโฮสต์

อย่าลืม " รวบรวม ข้อเท็จจริง " ในบทบาทของคุณมิฉะนั้นตัวแปรจะว่างเปล่า


ฉันจะ "รวบรวมข้อเท็จจริง" อย่างไร .. ขอบคุณ
ให้ช่างตัดเสื้อ

ได้ผลขอบคุณ .. แต่คุณหมายถึงอะไรโดย "รวบรวมข้อเท็จจริง"?
อนุญาตให้ช่างตัดเสื้อ

ฉันเพิ่มสองลิงก์ไปยังเอกสารเพื่อรวบรวมข้อเท็จจริง
rndmh3ro

1
ansible_eth0.ipv4.addressคิดออกหลังจากการค้นหาอย่างจริงจัง .. ซึ่งดูด ... ผู้รู้ควรรู้ว่ามีตัวแปรที่สำคัญมากที่จะง่ายต่อการค้นหาและได้รับการกล่าวถึงอย่างชัดเจนในเว็บไซต์ doc
ให้ช่างตัดเสื้อ

1
หากคุณค้นหา "ที่อยู่ ip" ในเอกสารที่สามารถค้นหาได้คุณสามารถค้นหาได้จากลิงก์แรก มีทั้งย่อหน้าที่แสดงสองวิธีที่แตกต่างกันในการรับที่อยู่ของโฮสต์!
rndmh3ro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.