나는 최신 버전을 사용하고 puppet
있으며 Apress "Pro Puppet" 가이드를 단계별로 따르고 있습니다. 나는 설치했다puppet
sudo aptitude install ruby libshadow-ruby1.8
sudo aptitude install puppet puppetmaster facter
/etc/puppet/puppet.conf
인증서 이름을 포함하도록 편집했습니다.
[master]
certname=puppet.mydomain.com
/etc/hosts를 편집하고 다음 줄을 추가했습니다.
127.0.0.1 puppet.mydomain.com puppet
서버의 호스트 이름을 설정했습니다
echo "puppet.mydomain.com" > /etc/hostname
hostname -F /etc/hostname
puppet
그런 다음 명령줄에서 실행해 봅니다 .
puppet master --verbose --no-daemonize
그리고 puppet
나에게 다음과 같은 오류가 발생합니다.
Could not parse for environment production:
Could not find file /master.pp
모든 명령을 실행하고 있는데 sudo
오류 메시지의 마지막 줄에는 항상 master.pp
현재 작업 디렉터리 이전의 경로와 찾을 수 없다는 메시지가 나타납니다.
내가 도대체 뭘 잘못하고있는 겁니까?
또한 DNS 레코드가 설정되어 있지 않다는 점을 언급해야 합니다 . 이것이 문제가 될 수 있다고 언급하는 일부 온라인 문서를 보았습니다. 그러나 파일을 사용하면 문제를 해결할 수 있을 것이라고 puppet.mydomain.com
확신했습니다 .hosts
답변1
master 하위 명령을 이해하지 못하고 대신 매니페스트로 실행하려고 하는 이전 버전의 Puppet을 사용하고 있는 것 같습니다. 0.25쯤에 새로운 명령 구문이 도입되었습니다.
실행 중인 버전을 다시 확인하세요. 현재 버전은 2.7이어야 합니다. 나는 종종 distros가 이전 버전을 패키지화한다는 것을 발견했습니다. 예를 들어 Ubuntu 10.04LTS는 꽤 오래된 0.25.4를 설치합니다.
답변2
puppet 패키지의 버전을 확인하려면 다음을 실행하세요.
sudo apt-cache policy puppet