สมมติว่าฉันมีโฮสต์ซึ่งก็คือเว็บเซิร์ฟเวอร์ที่ติดตั้งบทบาท Ansible ที่เกี่ยวข้องnginx
ดำเนินการกำหนดค่าที่จำเป็นบางอย่าง/etc/nginx
และเปิดพอร์ต 80 และ 443 ในไฟร์วอลล์
บางครั้งฉันต้องการให้โฮสต์นั้นไม่ได้เป็นเว็บเซิร์ฟเวอร์อีกต่อไปเพราะด้วยเหตุผลบางอย่างที่ฉันย้ายบริการนั้นไปที่อื่น เพียงแค่ลบเซิร์ฟเวอร์ออกจาก[webservers]
ในสินค้าคงคลังจะทำให้ขยะในเซิร์ฟเวอร์ เป็นการดีที่ฉันต้องการถอนการติดตั้งnginx
ลบ/etc/nginx
ไดเรกทอรี (และบางไดเรกทอรีอื่น ๆ ) และปิดพอร์ต 80 และ 443 ในไฟร์วอลล์
ใน Puppet ฉันทำได้ โฮสต์ที่เป็นเว็บเซิร์ฟเวอร์จะมีสิ่งนี้ในการกำหนดค่า:
class { 'nginx':
ensure => present,
}
และทั้งหมดที่ฉันต้องทำคือแทนที่ "ปัจจุบัน" ด้วย "ขาด" หากnginx
คลาสนั้นเขียนได้ดีจะยกเลิกการเปลี่ยนแปลงที่เกิดขึ้น (โดยทั่วไปผู้ดูแลระบบจะแทนที่ "ปัจจุบัน" ด้วย "ขาด" และหลังจากนั้นเมื่อเขาแน่ใจว่าโฮสต์ที่ได้รับผลกระทบทั้งหมดได้ยกเลิกการกำหนดค่าเขาจะลบรายการออกจากรายการ)
ยิ่งกว่านั้นฉันคิดว่าโมดูลไฟร์วอลล์ Puppet จะลบกฎไฟร์วอลล์ที่ไม่พบในรายการโดยอัตโนมัติอีกต่อไป ดังนั้นฉันคิดว่าสำหรับไฟร์วอลล์คุณไม่จำเป็นต้องทำสิ่งที่ "ขาด" ข้างต้นไฟร์วอลล์จะปิดโดยอัตโนมัติ
ฉันจะบรรลุสิ่งเหล่านี้ด้วย Ansible ได้อย่างไร
ensure => present
เป็นensure => absent
สิ่งที่จะ ... วิธีการทำเช่นเดียวกันกับ ansible"ฯลฯ ด้วยตัวอย่างของสิ่งที่คุณได้ลองไปแล้ว