site.pp에는 어떤 콘텐츠가 속해 있으며 어떤 콘텐츠를 site.pp 밖으로 이동해야 합니까? [폐쇄]

site.pp에는 어떤 콘텐츠가 속해 있으며 어떤 콘텐츠를 site.pp 밖으로 이동해야 합니까? [폐쇄]

지금까지 모든 것을 site.pp에 넣었습니다. 이로 인해 파일이 길고 복잡해질 수 있습니다.

이렇게 해야 합니까, 아니면 site.pp의 콘텐츠를 외부 파일로 옮긴 다음 어떻게든 site.pp에서 해당 파일을 참조해야 합니까?

답변1

site.pp에는 콘텐츠가 거의 없으며 일반적으로 더 좋고 관리하기 쉬운 곳이 있습니다.

  1. 개별 리소스(파일, 서비스, 패키지, cron 항목 등)는 관리 중인 각 구성 요소/서비스에 대한 클래스로 이동되어야 합니다. 역할 클래스 대신 apache클래스 와 같은 논리적 구성 요소로 가능한 한 많이 분해하십시오 . (mysqllamp문서:언어:클래스)
  2. 클래스는 모듈로 이동되어야 합니다. 모듈은 관련 클래스(예: apache::service사용) 를 포함하는 방법 apache으로, 모든 파일을 로드하지 않고도 클래스를 효율적으로 찾을 수 있는 방법을 Puppet에 제공하고 관련 파일과 템플릿을 포함합니다. 그러면 Apache 클래스가 포함될 수도 있습니다 /etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp. (문서: 모듈 기본 사항)
  3. 노드 정의 및 클래스 매개변수는 Hiera 또는 노드 분류자(ENC)로 이동할 수 있습니다. Hiera를 사용하면 다음을 사용할 수 있습니다 hiera_include(문서: Hiera를 사용하여 노드에 클래스 할당) 노드에 클래스를 추가하고 일반 Hiera 데이터를 사용하여 클래스 매개변수를 저장합니다(문서: 자동 매개변수 조회). ENC는 이미 보유하고 있거나 다른 애플리케이션에서 제공하는 데이터 소스를 쿼리할 수 있는 외부 스크립트입니다.십장.
  4. 리소스 기본값은 각 노드 및 클래스에 적용하기 위해 site.pp에 남아 있을 수 있습니다.

관련 정보