꼭두각시 (Puppet)는 여러분의 머리를 사로 잡는 괴물입니다. 아래에서는 모듈을 사용한다고 가정합니다. 모듈을 함께 사용하는 방법에 대한 자세한 내용이 필요하지 않은 경우 의견을 말하십시오.
이라는 새 모듈을 시작한다고 가정 해 보겠습니다 mymodule
. /etc/puppet
퍼펫 마스터 의 퍼펫 홈 디렉토리 (일반적으로 )에서 모듈 매니페스트 및 파일 디렉토리를 작성해야합니다.
mkdir -p modules/mymodule/manifests
mkdir -p modules/mymodule/files
그런 다음 해당 디렉토리에 파일을 작성하고 다음을 init.pp
입력하십시오.
class myfile {
file { '/home/operator1/Desktop/Backup':
ensure => directory,
mode => '0755',
owner => 'operator1',
group => 'operator1',
}
file { "/home/operator1/Desktop/Backup/datas.xls":
mode => "0644",
owner => 'operator1',
group => 'operator1',
source => 'puppet:///modules/module_name/datas.xls',
}
}
그런 다음 datas.xls
파일을 모듈의 files
디렉토리에 넣 습니다 (이 예에서는) modules/mymodule/files/
. ( 템플릿templates
디렉토리 도있을 수 있습니다 ).
에서 manifests/site.pp
파일 당신은 같은 것을 수행하여 클래스 모듈을 수입하고 포함해야합니다 :
import 'mymodule'
node base {
include myfile
}
node server1 inherits base {}
node server2 inherits base {
# extra config here
}
모든 노드가 기본 노드에서 상속되는지 확인해야합니다. 퍼펫 0.25에서 다음과 같이 노드 이름에 정규식을 사용할 수 있습니다.
node server[0-9] inherits base {}
추가 설명이 필요한 경우 의견으로 알려주십시오.
꼭두각시 마스터와 대화하도록 클라이언트 설정
클라이언트에서 다음을 수행해야합니다.
sudo apt-get install puppet
그런 다음로 편집 /etc/default/puppet
하고로 변경 START=no
하십시오 START=yes
.
또한 꼭두각시 마스터를 찾을 위치를 알려주 /etc/puppet/puppet.conf
는 [main]
섹션에 줄을 편집 하고 추가하십시오 .
server=puppet.mydomain.com
그런 다음로 테스트를 수행 할 수 있습니다 sudo puppetd --test
. 키 오류가 발생하면 꼭두각시 마스터 서버로 이동하여 클라이언트 키에 서명해야합니다. 정확한 이름을 확인하기 위해 수행 sudo puppetca --list
한 다음 sudo puppetca --sign server1.mydomain.com
(또는 list 명령에서 서버 이름이 무엇이든) 할 수 있습니다 .
이제 꼭두각시 서비스를 시작하십시오 sudo service puppet start
. 꼭두각시 서비스는 1 시간마다 실행되므로 꼭두각시 레시피를 업데이트하면 모든 클라이언트도 업데이트됩니다.
파일 삭제
원래 질문에서 파일을 삭제하는 방법을 알고 싶었습니다. 당신은 편집 manifests/init.pp
할 것입니다
file { "/home/operator1/Desktop/Backup/datas.xls":
ensure => absent,
}
다른 유용한 팁
문제가 발생하면 할 수있는 일이 몇 가지 있습니다. 퍼펫이 설치된 모든 컴퓨터에서 다음을 실행하여 구문을 확인할 수 있습니다.
puppet --parseonly --ignoreimport myfile.pp
또는 --ignoreimport
플래그 를 가져 와서 전체를 확인하십시오 . 실제로 내가 찾은 오류가 아닌 재미있는 오류 메시지가 발생할 수 있습니다. 다음을 수행하여 퍼펫 클라이언트 시스템에서 퍼펫 라이브를 실행할 수도 있습니다.
sudo puppetd --test
다양한 색상으로 강조 표시된 오류 및 경고와 함께 다양한 유용한 출력을 보여줍니다. 더 자세한 정보를 원하면 다음을 실행할 수 있습니다.
sudo puppetd --test --debug
그러나 그것은 일반적으로 너무 많은 출력을 생성하여 넘어 가기가 어렵 기 때문에 이미 이전 단계를 시도하고 붙어 있고 모든 것이 완료된 것을 볼 필요가있는 경우에만 수행하십시오.
이것은 현재 직장에서 사용하는 꼭두각시 0.25.x를 기반으로하며 Ubuntu 10.04의 버전이기도합니다. 메인 섹션의 퍼펫 코드는 여전히 작동하지만 이후 버전의 퍼펫에는 출력 디버깅에 도움이되는 새로운 플래그가 있습니다.