명령을 사용하여 puppetlabs Java 모듈을 성공적으로 설치했습니다 puppet module install puppetlabs-java
.
다음 명령을 사용하여 꼭두각시 모듈을 만들었습니다.puppet module generate ...
init.pp
두 개의 매니페스트 파일 이 있는데 java.pp
이에 대해서는 나중에 자세히 설명하겠습니다.
초기화 프로그램
class mystuff {
anchor { 'mystuff::begin': }
-> class { 'mystuff::java': }
-> anchor { 'mystuff::end': }
}
java.pp
class mystuff::java(){
class { 'java':
package => 'java-1.8.0-openjdk-devel'
}
}
그런 다음 명령을 사용하여 꼭두각시 모듈을 만듭니다 puppet module build
.
그런 다음 명령을 사용하여 모듈을 설치했습니다 puppet module install ~/.../pkg/...-0.1.0.tar.gz
.
새로운 매니페스트 파일로 테스트할 생각이었기 때문에 test-it.pp
.
테스트해 보세요.pp
class { 'mystuff': }
그런 다음 전화했습니다 puppet apply ./test-it.pp
. 다음과 같은 로고 출력이 표시됩니다.
Warning: /etc/puppetlabs/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5
(in /etc/puppetlabs/puppet/hiera.yaml)
Notice: Compiled catalog for masternode.mydomain.com in environment production in 0.15 seconds
Notice: /Stage[main]/Java/Package[java]/ensure: created
Notice: /Stage[main]/Java::Config/File_line[java-home-environment]/ensure: created
Notice: Applied catalog in 7.72 seconds
그런데 이제 슬레이브 노드에 들어가서 들어가면 java
이라고 나옵니다 command not found
.
내가 뭘 잘못했나요?
답변1
좋아, 해결책을 찾았거나 내가 뭘 잘못했는지 이해했습니다. 먼저 마스터 노드에서 puppet install을 호출해 보았습니다. 을 실행하여 puppet apply ./test-it.pp
. 이게 안 되니까 슬레이브 노드에서 이걸 이용해서 호출해 봤습니다 sudo /opt/puppetlabs/bin/puppet agent -t
.
제대로 작동하도록 이름 을 test-it.pp
바꾸고 .site.pp
/etc/puppetlabs/code/environments/production/manifests/
몇 초 정도 걸렸고 이제 예상대로 슬레이브 노드에서 java를 사용할 수 있습니다.