꼭두각시-구성

시스템에 Puppet이 설치되면 다음 단계는 특정 초기 작업을 수행하도록 구성하는 것입니다.

컴퓨터에서 방화벽 포트 열기

Puppet 서버가 클라이언트의 서버를 중앙에서 관리하게하려면 모든 머신에서 지정된 포트를 열어야합니다. 8140구성하려는 머신에서 사용하지 않는 경우 사용할 수 있습니다. 모든 컴퓨터에서 TCP와 UDP 통신을 모두 활성화해야합니다.

구성 파일

Puppet의 기본 구성 파일은 다음과 같습니다. etc/puppet/puppet.conf. 모든 구성 파일은 Puppet의 패키지 기반 구성에서 생성됩니다. Puppet을 구성하는 데 필요한 대부분의 구성은이 파일에 보관되며 Puppet이 실행되면 해당 구성을 자동으로 선택합니다. 그러나 웹 서버 또는 외부 인증 기관 (CA) 구성과 같은 일부 특정 작업의 경우 Puppet에는 파일 및 설정에 대한 별도의 구성이 있습니다.

서버 구성 파일은 다음 위치에 있습니다. conf.dPuppet 마스터라고도하는 디렉토리입니다. 이러한 파일은 기본적으로/etc/puppetlabs/puppetserver/conf.d통로. 이러한 구성 파일은 JSON의 기본 구조를 유지하지만 더 읽기 쉬운 HOCON 형식입니다. Puppet이 시작되면 conf.d 디렉토리에서 모든 .cong 파일을 선택하여 구성 변경을 위해 사용합니다. 이러한 파일의 모든 변경은 서버가 다시 시작될 때만 발생합니다.

목록 파일 및 설정 파일

  • global.conf
  • webserver.conf
  • web-routes.conf
  • puppetserver.conf
  • auth.conf
  • master.conf (사용되지 않음)
  • ca.conf (사용되지 않음)

Puppet에는 Puppet의 각 구성 요소와 관련된 다양한 구성 파일이 있습니다.

Puppet.conf

Puppet.conf 파일은 Puppet의 기본 구성 파일입니다. Puppet은 동일한 구성 파일을 사용하여 필요한 모든 Puppet 명령 및 서비스를 구성합니다. Puppet 마스터, Puppet 에이전트, Puppet 적용 및 인증서 정의와 같은 모든 Puppet 관련 설정이이 파일에 정의되어 있습니다. Puppet은 요구 사항에 따라 참조 할 수 있습니다.

구성 파일은 설정이 기본 섹션의 특정 애플리케이션 섹션으로 이동할 수있는 표준 ini 파일과 유사합니다.

기본 구성 섹션

[main] 
certname = Test1.vipin.com 
server = TestingSrv 
environment = production 
runinterval = 1h

Puppet 마스터 구성 파일

[main] 
certname = puppetmaster.vipin.com 
server = MasterSrv 
environment = production 
runinterval = 1h 
strict_variables = true  
[master] 

dns_alt_names = MasterSrv,brcleprod01.vipin.com,puppet,puppet.test.com 
reports = puppetdb 
storeconfigs_backend = puppetdb 
storeconfigs = true 
environment_timeout = unlimited

상세 개요

Puppet 구성에서 사용할 파일에는 여러 구성 섹션이 있으며 각 섹션에는 여러 종류의 여러 설정이 있습니다.

구성 섹션

Puppet 구성 파일은 주로 다음 구성 섹션으로 구성됩니다.

  • Main− 이것은 Puppet의 모든 명령과 서비스에서 사용되는 전역 섹션으로 알려져 있습니다. 하나는 puppet.conf 파일에있는 모든 섹션에서 재정의 할 수있는 기본 섹션의 기본값을 정의합니다.

  • Master −이 섹션은 Puppet 마스터 서비스 및 Puppet cert 명령에서 참조됩니다.

  • Agent −이 섹션은 Puppet 에이전트 서비스에서 참조합니다.

  • User − 주로 Puppet apply 명령과 덜 일반적인 명령에 사용됩니다.

[main] 
certname = PuppetTestmaster1.example.com

구성 파일의 주요 구성 요소

다음은 구성 파일의 주요 구성 요소입니다.

주석 라인

Puppet에서 주석 줄은 (#) 기호. 이것은 어느 정도의 공간을 의도 할 수 있습니다. 같은 줄에 부분적인 주석을 추가 할 수도 있습니다.

# This is a comment. 
Testing = true #this is also a comment in same line

설정 라인

설정 줄은 다음으로 구성되어야합니다.

  • 임의의 선행 공백 (선택 사항)
  • 설정 이름
  • 등호 = 기호, 임의의 수의 공백으로 둘러싸 일 수 있음
  • 설정 값

변수 설정

대부분의 경우 설정 값은 단일 단어이지만 일부 특수한 경우 특수 값이 거의 없습니다.

경로

구성 파일 설정에서 디렉토리 목록을 가져옵니다. 이러한 디렉토리를 정의 할 때 시스템 경로 구분 문자 (* nix 플랫폼에서는 (:), Windows에서는 세미콜론 (;))로 구분해야합니다.

# *nix version: 
environmentpath = $codedir/special_environments:$codedir/environments 
# Windows version: 
environmentpath = $codedir/environments;C:\ProgramData\PuppetLabs\code\environment

정의에서 먼저 나열된 파일 디렉터리를 검색 한 다음 나중에 찾지 못하면 목록의 다른 디렉터리로 이동합니다.

파일 및 디렉토리

단일 파일 또는 디렉토리를 사용하는 모든 설정은 선택적 권한 해시를 허용 할 수 있습니다. 서버가 시작될 때 Puppet은 목록에있는 해당 파일 또는 디렉토리를 적용합니다.

ssldir = $vardir/ssl {owner = service, mode = 0771}

위 코드에서 허용되는 해시는 소유자, 그룹 및 모드입니다. 소유자 및 그룹 키의 유효한 값은 두 개뿐입니다.