配置管理系统与代码即配置(CaC)
在系统管理领域,配置管理系统(CM systems)和代码即配置(CaC)是非常重要的概念。下面将介绍几种常见的CM系统,并重点深入探讨Ansible这一强大的CaC工具。
常见CM系统
- Puppet
- 工作原理 :创建清单(manifest)并放置在Puppet服务器上后,安装在服务器上的Puppet代理会获取并执行。通信通过TLS协议进行加密,与SaltStack类似。代理节点运行Puppet代理进程,通过TCP端口8140连接到主服务器。代理发送证书签名请求(CSR),管理员批准后,代理可访问服务器的Puppet配置。代理运行时向主服务器请求配置,服务器返回资源目录,代理应用该目录以确保节点配置符合期望状态,并向服务器发送报告用于监控和审计。
- 示例代码 :
require => File['/etc/nginx/sites-available/yourdomain.tld.conf'],
}
# Restart Nginx when the configuration changes
service { 'nginx':
ensure => running,
enable => true,
subscribe => File['/etc/nginx/sites-enabled/yourdomain.t