Diğer şeylerin yanı sıra, ilgili Ansible rolünün yüklendiği nginx
, bazı temel yapılandırmaları gerçekleştirdiği /etc/nginx
ve güvenlik duvarında 80 ve 443 numaralı bağlantı noktalarını açtığı bir web sunucum olduğunu varsayalım .
Bir noktada o ana bilgisayarın artık bir web sunucusu olmamasını istiyorum, çünkü bir nedenden dolayı bu hizmeti başka bir yere taşıdım. Sadece [webservers]
envanterdeki sunucuyu kaldırmak sunucuda çöp bırakacaktır. İdeal olarak, dizini (ve diğer bazı dizinleri) kaldırmak nginx
, kaldırmak /etc/nginx
ve güvenlik duvarındaki 80 ve 443 bağlantı noktalarını kapatmak istiyorum.
Kukla'da bunu yapabilirim. Web sunucusu olan bir ana makinenin yapılandırmasında şöyle bir şey olacaktır:
class { 'nginx':
ensure => present,
}
ve tek yapmam gereken "mevcut" u "yok" ile değiştirmek. Eğer nginx
sınıf iyi yazılmış olup, bunun yaptığı değişiklikler geri alınır. (Genellikle yönetici "present" ifadesini "yok" ile değiştirir ve daha sonra, etkilenen tüm ana makinelerin yapılandırmayı geri aldığından emin olduğunda, öğeyi bildirimden kaldırır.)
Dahası, Kukla güvenlik duvarı modülünün artık bildirimde bulunmayan güvenlik duvarı kurallarını otomatik olarak kaldırdığını düşünüyorum; Bu yüzden, güvenlik duvarı için yukarıdaki "eksik" şeyi bile yapmanız gerekmediğini düşünüyorum, güvenlik duvarı yine de otomatik olarak kapanacaktır.
Ansible ile bunları nasıl başarabilirim?
ensure => present
içinensure => absent
de ... Nasıl yanıtlayıcı 'ile aynı şeyi hangi" vb İdeal daha önce denediğiniz her şeyin bir örneğiyle.