2016-11-27 2 views
0

맞아요, 저는 퍼핏을 대략 사용하고 있습니다. 4 시간 동안 총 n000b 문제가 생겼습니다. I 다운로드하여 사용 꼭두각시 모듈을 설치 한 : 퍼펫 모듈 사용

puppet module install resolv_conf

모든 아니라 좋은

. 모듈을 다음 주소에 설치했습니다 :

/home/user/.puppet/modules/, 또 다시 좋았습니다.

puppet module list을 실행하면 모듈이 표시됩니다. 그 모듈은 다음과 같을 것입니다.

제 질문은 모듈을 어떻게 사용합니까?

나는

class { 'resolv_conf': nameservers => ['192.168.0.254', '8.8.8.8'], }

, 어딘가에는 매니페스트에 추가 할 필요가 얻을 그러나 나는 내가

/home/user/.puppet/modules/resolv_conf/manifests/init.pp 파일이 추가되지 않는 것을 가정하고있다.

는 여기 폴더와 init.pp 파일

/etc/puppet/modules/resolv_conf/manifests

을 만드는 시도하고에 클래스를 추가,하지만 난

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class resolv_conf at /etc/puppet/modules/resolv_conf/manifests/init.pp:4 on node rarity.home

그래서 조금 난처한 해요

를 얻을 수 . 어떤 종류의 영혼이 나를 올바른 방향으로 향하게 할 수 있습니까?

Fanks :

+0

이것은 매우 광범위한 질문입니다. 꼭두각시 마스터를 설정하고 $ modulepath 등을 정의하는 등의 많은 단계를 놓치고 있습니다. VM을 배우는 꼭두각시를 시도하고 https://puppet.com/download-learning-vm을 시도해 보는 것이 좋습니다. 아래의 기초의 일부. – jaxxstorm

+0

감사합니다. @Frap. 이 https://help.ubuntu.com/lts/serverguide/puppet.html에 따라 마스터 설정과 다른 시스템에서 실행중인 에이전트를 가져오고 꼭두각시는 일부 서비스가 실행 중인지 확인합니다. 나는 그 서비스를 멈추고 그 에이전트를 실행하고 그것들을 시작함으로써 꼭두각시가 잘 돌아가고있는 것처럼 보이는지 테스트했다. 다운로드하지 않은 모듈을 "include"하는 방법과/etc/puppet/modules 대신 /home/user/.puppet에 갔다는 사실이었습니다. 어쩌면 $ modulepath가 내가 볼 필요가있을 것입니다. 환호 :) –

+0

그 경우, 내가 도울 수, 들어오는 대답. – jaxxstorm

답변

3

그래서 기본적으로 puppet module 명령은 로컬 디렉토리에 모듈을 다운로드합니다.

는 마스터가 제대로 실행되고 가정 할 때, 당신은 당신이 수행하여 마스터에 당신의 $modulepath을 찾을 수 있습니다, 당신의 $modulepath에 모듈을 설치해야합니다

puppet config print modulepath 

어떤 (난 인형의 버전에 따라

/etc/puppetlabs/code/environments/production/vendor:/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules 

지금처럼 인형 모듈 명령을 사용하여 해당 디렉토리 중 하나에 모듈을 설치합니다 :

당신이 v3에서라면이 약간 다를 수 있으므로, 이런 식으로 뭔가를 반환합니다), V4를 실행 이 노드에 적용에
puppet module install -i /etc/puppetlabs/code/modules 

지금, 당신의 주인은 이해하고 resolv_conf 모듈에 읽을 수 있지만이 필요합니다.당신이 중 하나에 따라서 node definitions

을 설정해야합니다 그렇게하기 위해서는 $modulepaths 당신이 디렉토리 manifests 거기에 "main manifest"

내부라고 한 매니페스트, site.pp이 포함되어 있어야합니다, 예의 상담원에 대한 노드 정의를 작성하십시오.

node 'www1.example.com' { 
    include resolv_conf 
} 

이것은 가장 간단한 설정입니다. 일부 추가 읽기 :

  • r10k
  • a control repo에 대한 모듈의 다운로드를 자동화 할 수는
  • ENCsite.pp를 사용하는 것보다 당신의 노드를 분류하는 더 좋은 방법이 당신의 인형의 repo를 배치의 권장 방법입니다

행운을 빈다.

+0

Brilliant! 고마워. 나는 꼭두각시 3을 제거하고 건방진 상태로 다시 시작해야했고, 꼭두각시 4를 설치하려고했는데 모든 것을 망 쳤어. 모듈에 문제가 있다는 것을 알았지 만 도움이되지 못했습니다. 그래도 작동 했으므로 대단히 감사합니다. 나는 여분의 독서를 통해 갈 것이다. –