
Vagrant를 사용하여 여러 개발 VM을 구성하기 위해 Puppet 마스터를 사용하고 싶습니다. 예: vagrant는 새 상자를 생성하고 Puppet 에이전트를 사용하여 이를 프로비저닝합니다.
그러나 일부 테스트에서는 Puppet 마스터가 호스트 이름별로 인증서를 할당하므로 두 클라이언트가 동일한 호스트 이름을 갖는 경우 Puppet은 카탈로그 다운로드를 거부하는 것으로 나타났습니다. Puppet 에이전트/서버에 중복 호스트 이름을 허용하는 방법이 있습니까?
Puppet을 사용하여 기밀 데이터를 배포하는 것은 아니며 단지 리포지토리를 설정하고 필요한 소프트웨어를 설치하는 것이므로 보안은 실제로 문제가 되지 않습니다.
답변1
처음 실행 시(새 인증서 요청을 보낼 때) 매개변수를 사용할 수 있습니다.--인증서 이름모든 머신에 특정 이름을 부여하기 위해(또한 호스트 이름이 동일한 경우에도)
따라서 쉘에서 다음을 사용할 수 있습니다.
puppet agent -t --certname=myhostXX
Puppet 서버에서 해당 이름의 새 요청을 볼 수 있습니다.
이것이 귀하의 환경에 도움이 될 수 있습니까?
답변2
ricciocri가 제안한 대로 --certname을 사용할 수 있지만 마스터에서는 설정할 수 있습니다."allow_duplicate_certs = true"
설정을 사용하면 allow_duplicate_certs
이전 클라이언트와 동일한 이름을 가진 클라이언트를 추가할 때 문제가 해결됩니다.
개발이나 테스트를 위해 vagrant를 사용하는 경우 자동으로 작업하기 위해 모든 것을 함께 사용할 수 있다고 생각합니다.
1: certname #in your client side
2: allow_duplicate_certs = true #in your master
3: autosigning #in your master
자동 서명에 대한 자세한 내용은https://docs.puppetlabs.com/puppet/latest/reference/config_file_autosign.html