Puppet을 사용할 때 구성 코드와 유지 관리 코드를 어떻게 분리하나요?

Puppet을 사용할 때 구성 코드와 유지 관리 코드를 어떻게 분리하나요?

꼭두각시를 사용한다고 가정 해 보겠습니다. 처음에는 아마도 Puppet 서버를 사용하여 이를 설정하고 Puppet 에이전트를 통해 서버를 설정할 것입니다(아마도 이미지를 다시 사용할 것이지만 저는 Puppet을 사용하고 있습니다).

초기 구성이 잘 진행된 다음 서버에 더 많은 설정을 추가해야 한다고 결정했지만 대신 시스템에서 데이터베이스를 지우고 처음부터 시작하고 싶습니다. 설정을 추가하고 일부 오래된 설정을 삭제한 다음 다시 구성하십시오. 데몬을 시작하십시오(공평하게 말하면 아마도 이미 꼭두각시가 이를 수행했을 것입니다).

너:

ㅏ. 실행하기 전에 초기 구성 코드를 주석 처리하시겠습니까 puppet apply?
b. 코드가 재구성되는 것을 방지하기 위해 사용할 수 있는 변수를 설정하시겠습니까?

이 상황을 올바르게 처리하는 방법은 무엇입니까? 잘못 취급하면 재난(복구)으로 이어질 수 있을 것 같기 때문입니다.

답변1

Puppet은 선언적이며 기능적입니다. 즉, 작성한 코드를 기반으로 시스템이 일관된 상태를 유지하도록 보장합니다.

귀하의 경우 재구성이 발생하지 않습니다. 이는 일부 프로그램 시스템이 작동하는 방식이지만 Puppet은 작동하지 않습니다.

따라서 처음에 Puppet에게 조건 A, B, C가 서버에 대해 참이기를 원한다고 지시하고 이제는 D와 E를 원한다고 말하면 Puppet 에이전트는 A, B, C를 기존 상태로 찾은 다음 다음을 수행하고 아무것도 얻지 못한 다음 D와 E를 추가하십시오.

다음 실행에서는 할 일이 없습니다(F를 추가하거나 시스템에서 AE가 중단될 때까지 구성을 알려진 양호한 상태로 복원합니다).

관련 정보