MCollective를 통한 즉각적인 Puppet 배포

MCollective를 통한 즉각적인 Puppet 배포

참고: 이 질문이 어디에 속하는지 잘 모르겠습니다. 아마도 그것은 더 나은 것에 속할 것입니다서버 결함, 그런데 주로 해킹이나 홈네트워킹 목적으로 문의를 드리는거라 여기에 질문드립니다. 게다가 아마도 10 ~100 초 이내에 사이트에서 화염에 휩싸일 수 있기 때문에 Server Fault를 사용하지 않는 것입니다.

저는 실제 마스터와 함께 Puppet을 사용하는 느낌을 얻기 위해 Puppet Master와 여러 Puppet 클라이언트를 설정하고 조작하려고 합니다. 기본적으로 Puppet 클라이언트 인스턴스는 (내가 아는 한) 30분마다 업데이트되어 마스터에게 최신 구성을 요청하고 구성이 완료되면 적용합니다.

MCollective는 메시지 대기열과 병렬성을 사용하여 실시간으로 클라이언트에 명령을 푸시하므로 기본적으로 이러한 변경을 즉시 수행할 수 있다고 들었습니다.

나는 Puppet Master와 Puppet Client를 사용하여 이 작업을 수행하는 방법을 찾으려고 노력했지만 MCollective는 Puppet Master를 위한 실시간 플러그인보다 훨씬 더 큰 프로젝트인 것 같습니다.

Puppet 구성에 대한 변경 사항을 실시간으로 가져오려면 간단한 Puppet 마스터, MCollective 서버(및 메시지 대기열) 및 Puppet 클라이언트를 어떻게 설정합니까?

(일반적으로 방법을 이해 apt-get install redis-server puppetmaster mcollective하지만 MCollective와 Puppet Master를 통합하는 것이 실제로 어떻게 작동하는지 이해하려고 합니다.)

답변1

나는 이것을 가지고 놀지는 않았지만 당신이 찾고 있는 것과 비슷한 것 같습니다.

발췌

이 에이전트는 이전 puppetd 플러그인과 달리 puppet 에이전트를 관리하며 이 플러그인은 Puppet 3과 해당 잠금 및 상태 파일에 대한 최근 변경 사항을 지원합니다.

Puppet 3에 대한 기본 지원 외에도 여러 가지 새로운 기능이 추가되었으며 대부분은 Puppet 2.7과 3 모두에서 사용할 수 있습니다.

  • noop 실행 또는 no-noop 실행 지원
  • 특정 태그에 대한 실행 제한 지원
  • splay, splay 없음, splaylimits 지원
  • 사용자 정의 환경 지정 지원
  • 사용자 정의 마스터 호스트 및 포트 지정 지원
  • 비활성화 시 잠금 메시지와 같은 Puppet 3 기능 지원
  • 적절한 경우 새로운 요약 플러그인을 사용하여 편리한 요약 제공
  • 새로운 검증 플러그인을 사용하여 더욱 풍부한 입력 검증과 더 나은 오류 제공
  • 현재 Puppet 에이전트 상태 및 가장 최근 실행 상태에 대한 데이터 소스

또한 다음과 같은 발췌문도 있습니다.

활성화된 모든 Puppet 노드 실행

변경 사항을 커밋한 후 인프라의 성능 제약 내에서 가능한 한 빨리 변경 사항이 인프라에 롤아웃되기를 원하는 경우가 많습니다.

Puppet Master의 성능은 일반적으로 유지할 수 있는 카탈로그를 적용하는 최대 동시 Puppet 노드로 귀결됩니다.

MCollective 인프라를 사용하여 현재 활성화되어 있고 카탈로그를 적용하는 머신 수를 확인할 수 있습니다.

따라서 동시 Puppet 실행을 한 번에 10개 노드에 최대한 가깝게 유지하면서 전체 인프라의 Puppet 실행을 수행하려면 다음을 수행합니다.

  $ mco puppet runall 10

관련 정보