Home | 문태준 | 시스템어드민 메일링 | Sys Admin 세미나
Skip to end of metadata
Go to start of metadata

유용한 명령어 레퍼런스

mco cli 예제 : http://docs.puppetlabs.com/mcollective/reference/basic/basic_cli_usage.html

책의 예제에 몇가지 자주 사용하는 명령어를 추가 하였음.

 

MCollective 서버에 대한 모든 설정 정보 보여주기:

facts 정보 보기

Discovery (mc broadcast based discovery plugin, flatfile, stdin discovery plugin)

필터

limits (–one, --limit, % 옵션 / batch, batch-sleep 옵션)

Output

 

MCollectiev 서버나 목록에서 연결 테스팅하기:

호스트 서비스에 대한 테스팅 명령 ( nettest agent):

 

파일을 제어하기 위한 명령어 ( filemgr agent):

패키지 제어 명령어 (package agent): 책의 예제가 잘못되어 바꾸었음.

시스템 서비스 제어 명령(service agent):

Puppet agent 제어 명령:

기타 : nrpe를 이용하려면 nrpe 를 설치해야 함. process, urltest 등은 별도로 설치가 필요함.

Puppet Modules 을 설치하기 위해 r10k 사용하기

r10k 는 Puppet environments 와 모듈을 빠르게 배포할 수 있는 프로그램입니다.현재 r10k는 ruby 1.9.3, 2.0.0, 2.1.0 을 지원합니다. CentOS6 의 경우는 ruby 1.8 이 설치되어 있습니다. https://github.com/puppetlabs/r10k 

이경우 r10k 의 이전 버전을 설치하면 ruby 1.8 에서도 사용이 가능합니다.

그래서 CentOS6 에 rvm 을 설치하여 다른 ruby 버전을 이용할 수 있지만 여기서는 CentOS 6 + ruby 1.8 에 r10k 1.5.1 을 설치합니다.

r10k를 설치하기 위해서는 부가적으로 ruby-devel, gcc 등이 필요할 수 있습니다.

ruby 1.8 에서 r10k 1.5.1 을 설치후 실행하려고 하면 system_timer 관련 에러가 나오며 gem을 통해서 system_timer 를 설치해주면 됩니다.

책이나  https://github.com/jorhett/learning-mcollective 에 있는 r10k 파일은 인터넷에 파일이 없다고 나옵니다.

그래서 위 url에 들어있는 r10k.yaml 이용하되 git@github.com 을 https 로 바꾸어서 r10k를 실행했습니다. 그러면 /etc/puppet//environments/learning_mcollective/ 디렉토리에 puppet module 이 복사가 됩니다.

이제 /etc/puppet/environments/learning_mcollective/hieradata/ 디렉토리에 가서 hierdata 를 수정해서 사용하면 됩니다.

PuppetLabs MCollective Module 사용하기

Puppet Forge 에서 MCollectie 모듈을 제공하지만 다음의 이유로 PuppetLabs의 MCollective module을 추천하지 않음. 주로 보안 이슈임.

세부 내용 설명 생략

  • 알려진 user와 passwords를 사용함.
  • client 와 server permissions을 구분하지 않고 있음. 동일한 인증을 사용하면 보안 문제가 생김.
  • client 퍼미션과 broker link 퍼미션을 구분하지 않고 있음
  • Puppet Labs 모듈은 외부 의존성이 있음.

RabbitMQ 이용하여 mcollective 구성하기

이미 RabbitMQ를 이용하거나 AMQP 지원이 필요하면(예, logstash), MCollective 미들웨어로 ActievMQ대신 RabbitMQ를 사용할 수도 있다.

RabbitMQ 설치

http://www.rabbitmq.com/install-rpm.html 정보를 이용하여 설치함. RabbitMQ는 빠르게 발전하고 있으며 최신 버전은 MCollective와 동작을 잘 한다.

  1. 해당 OS에 대한 erlang 설치. CentOS의 경우 epel을 통해서 설치 가능함.
  2. RabbitMQ 설치

CentOS에서는 다음과 같이 설치를 한다. 버전은 문서를 보고 적절한 것을 선택한다.

 

STOMP connector 와 management plugins 를 활성화하고 rabbitmq를 시작함.

 

CLI tool 설치

새로 설치한 RabbitMQ 브로커에서 CLI 툴을 다운로드 받아 설치함. rabbitmqadmin 에 대한 bash completion 기능을 활성화하고 있음.

 

Puppet module 에서 RabbitMQ 설정하기

 

여기서는 hiera 설정을 이용하여 변경을 하였음.

 

Mcollective를 위한 큐, 토픽 등 설정하기

 

password은 Mcollectve 에서 사용하기로 한 비밀번호와 동일하게 맞추어야 함.

아래에서 exchange 에 대한 설정에서 여러 개의 collective 가 있으면 이에 대해서도 함께 설정을 해 주어야 함. 여기서는 mcollectie 하나만 사용하는 것으로 가정하고 진행을 했음.

 

Using and Exchange with a RabbitMQ Federation

설명 생략

Labels
  • No labels