Puppet (또는 이와 유사한)이 기본이지만 중대한 질량 변화를 처리하기에 적합한 기술입니까?
예, 이런 식으로 사용할 수 있습니다. 이것을 사용하여 외부 클라이언트 시스템을 지원합니다.
서버가 구성을 보지 못하게하고 싶지 않습니다.
당신이 꼭두각시를 사용하는 경우, 당신은 안 다음 autosign 수 있습니다. 자동 서명을 사용하면 호스트가 자동으로 인증서를 요청할 수 있습니다. 구성 및 권한은 인증서의 CN에 직접 연결될 것입니다. 당신은 임의의 컴퓨터가 온라인으로 들어오는 것을 원치 않으며 그들이 실제로 모든 비밀 높은 보안 기능을 갖춘 시스템이라고 주장 할 수 없습니다.
정말 편집증이라면 꼭두각시 파일 서버 설정을 조정하여 일부 시스템 만 액세스 할 수있는 공유를 만들 수 있습니다. 파일 서버 액세스는 인증서를 기반으로합니다.
Puppet이 변경해서는 안되는 변경을하거나 서버에서 수행 한 수동 변경을 되돌리기를 원하지 않습니다.
로컬 변경을 허용하는 몇 가지 방법이 있습니다.
내가 자주 사용하는 방법은 다음과 같습니다. 기본적으로 목록을에 전달 source
하면 퍼펫은 목록의 각 항목을 시도합니다. 따라서 로컬 파일을 가리 키도록 목록의 첫 번째 항목을 추가합니다.
file { '/etc/ssh/sshd_config':
ensure => present,
source => ["/etc/ssh/sshd_config_local",
"puppet:///modules/ssh/$ssh_config_file"],
...
}
다른 옵션은 심볼릭 링크를 사용하는 것입니다. 꼭두각시 버전을 사용하려는 경우 파일의 꼭두각시 버전으로 심볼릭 링크됩니다. 구성을 로컬로 유지하려면 심볼릭 링크를 만들지 않습니다.
file { '/etc/ssh/sshd_config_puppet':
ensure => present,
source => "puppet:///modules/ssh/$ssh_config_file",
...
}
다른 방법은 전체 파일을 변경하는 대신 augeas를 사용하여 줄 수준을 변경하는 것입니다. 변경 사항에 대해 매우 보수적입니다.