saltstack (1) - 프로필 과 기본 설치

saltstack (1) -- 프로필 과 기본 설치
중국어 공식 문서 참조http://docs.saltstack.cn/topics/index.html
step 1: 소개
1, 30 초 개요
Salt 는 설정 관리 시스템 으로 미리 정 의 된 상 태 를 유지 할 수 있 는 원 격 노드 (예 를 들 어 지정 한 가방 이 설치 되 고 지정 한 서비스 가 실행 되 는 지 확인) 분포 식 원 격 실행 시스템 으로 원 격 노드 (하나의 노드 일 수도 있 고 임의의 규칙 으로 선택 한 노드 일 수도 있 습 니 다) 에 사 용 됩 니 다.위 에서 명령 을 실행 하고 데 이 터 를 조회 하 는 목적 은 원 격 실행 에 가장 좋 은 해결 방안 을 제공 하고 원 격 실행 을 더욱 빠 르 고 빠르게 하 는 것 이다.
2. 간단 하 다
대규모 배 치 를 고려 해 야 할 뿐만 아니 라 소 규모 시스템 도 고려 해 다양한 상황 에 적응 하 는 애플 리 케 이 션 을 제공 하 는 것 은 실 망 스 럽 지만 Salt 는 프로젝트 의 크기 를 고려 하지 않 고 설정 하고 유지 하기 쉽다.수량 이 상당 한 로 컬 네트워크 시스템 부터 데이터 센터 를 뛰 어 넘 는 인터넷 배치 까지 Salt 는 임의의 수량의 server 에서 작업 할 수 있 도록 설계 되 었 다.salt 의 토폴로지 는 간단 한 server / client 모드 를 사용 하고 필요 한 기능 은 daemon 에 있 습 니 다.salt 는 설정 을 거의 바 꾸 지 않 은 상태 에서 일 을 할 수 있 고 조정 하여 특정한 수 요 를 만족 시 킬 수 있다.
3. 병행 집행
Salt 의 핵심 기능
  • 명령 을 원 격 시스템 으로 보 내 는 것 은 직렬 이 아 닌 병렬 입 니 다
  • 안전 암호 화 를 사용 하 는 프로 토 콜
  • 최소 가장 빠 른 네트워크 부하 사용
  • 간단 한 프로 그래 밍 인터페이스 제공
  • Salt 역시 더욱 세밀 화 된 분야 통제 시스템 을 도입 하여 원 격 으로 실행 하여 시스템 을 목표 로 호스트 이름 뿐만 아니 라 시스템 속성 도 통과 할 수 있 게 한다.

  • 4. 오 랜 시련 을 겪 은 기술 구축
    Salt 는 대량의 기술 과 기 교 를 운용 한다.네트워크 계층 사용 탁월 ZeroMQ 네트워크 라 이브 러 리 가 구축 되 었 기 때문에 Salt 의 데 몬 에는 실행 가능 하고 투명 한 AMQ 에이전트 가 포함 되 어 있 습 니 다.Salt 는 공개 키 와 master 수호 단 인증 을 사용 하고 더 빠 른 AES 를 사용 합 니 다.  _ ; salt 。Salt msgpack` 통신 을 구축 하여 속도 가 빠 르 고 네트워크 트 래 픽 이 적다.
    5. PYTHON 클 라 이언 트 인터페이스
    간단 한 확장 을 허용 하기 위해 서 Salt 실행 프로그램 은 순수 Python 모듈 로 쓸 수 있 습 니 다.데 이 터 는 Salt 실행 과정 에서 master 서버 로 보 내 거나 임의의 프로그램 으로 보 낼 수 있 도록 수집 되 었 습 니 다.Salt 는 간단 한 Python API 에서 호출 되 거나 명령 행 에서 호출 될 수 있 기 때문에 Salt 는 일회 성 명령 을 수행 할 수도 있 고 더 큰 프로그램의 구성 부분 으로 사용 할 수도 있 습 니 다.
    6. 빠 르 고 유연 하 며 확장 하기 쉽다.
    결 과 는 1 대 나 여러 대의 타 겟 기기 에서 명령 을 빠르게 수행 할 수 있 는 시스템 이다.Salt 운행 이 빠 르 고 설치 가 간단 하 며 높이 를 맞 출 수 있 습 니 다.Salt 는 같은 원 격 실행 구조 로 서로 다른 수량의 서버 를 관리 하 는 수 요 를 만족시킨다.Salt 인 프 라 는 가장 좋 은 원 격 실행 도 구 를 통합 하여 Salt 의 능력 과 용 도 를 강화 하고 기능 이 풍부 하고 실 용적 이 며 모든 네트워크 에 적용 할 수 있 는 시스템 을 얻 을 수 있 습 니 다.
    7. 개방
    Salt 는 Apache 2.0 아래 개발 은 개방 과 사유 프로젝트 를 개발 하 는 데 쓰 일 수 있다.당신 의 확장 을 Salt 프로젝트 에 제출 하여 우리 가 함께 Salt 를 튼튼 하 게 성장 시 킬 수 있 도록 하 세 요.당신 의 시스템 에 소금 을 마음대로 뿌 려 맛 있 는 향 기 를 즐 기세 요.
    step 2: 기본 설치
    시스템 환경
    Distribution : CentOS 6.5 minimal 
    salt version : 2014.1.0
    Init system : sysvinit

    설치 전
    1、  selinux 
    2、
    3、dns master minion

    테스트 환경
    master:122.131 
    minion:122.134/122.135

    마스터 엔 드
    # yum list all | grep salt 
    salt.noarch 2014.1.0-1.el6 epel
    salt-api.noarch 0.8.2-0.el6 epel
    salt-cloud.noarch 0.8.8-1.el6 epel
    salt-master.noarch 2014.1.0-1.el6 epel
    salt-minion.noarch 2014.1.0-1.el6 epel
    rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    yum install salt-master
    service salt-master on
    chkconfig salt-master on

    미니 온 단
    rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm 
    yum install salt-minion
    service salt-minion start
    chkconfig salt-minion on

     
    1. master 에 서 는 minion 인증 서 를 자동 으로 받 을 수 있 도록 수 동 으로 인증 서 를 받 습 니 다.
    /etc/init.d/salt-master start 

    2. minion 프로필 을 수정 하고 master 설정 을 추가 합 니 다.
    vim /etc/salt/minion,       
    master: node131 #master IP
    id: node134 # , ,
    /etc/init.d/salt-minion start

    step 3: salt 승급
    공식 문서 구역 에 따 르 면 Salt 를 업그레이드 할 때 master (s) 가 먼저 업그레이드 해 야 합 니 다.masters 는 뒤로 호 환 되 며, minions 실행 버 전 은 masters 버 전보 다 새 버 전 으로 정상 적 인 운행 을 보장 할 수 없습니다.
    step 4: 인증
    서버 가 시 작 된 후 가장 간단 한 인증 을 진행 합 니 다.master 가 시 작 된 후 기본 감청 4505 와 4506 두 포트 입 니 다.4505 (publish port) 는 salt 의 메시지 발표 시스템 이 고 4506 (ret port) 은 salt 클 라 이언 트 와 서버 가 통신 하 는 포트 입 니 다.
  • minion 은 처음 시작 할 때 / etc / salt / pki / minion / (이 경 로 는 / etc / salt / minion 에 설정) 에서 minion. pem (private key) 과 minion. pub (Public key) 를 자동 으로 생 성하 여 minion. pub 를 master 에 보 냅 니 다.
  • master 는 minion 의 Public key 를 받 은 후 salt - key 명령 accept minion Public key 를 통 해 master 의 / etc / salt / pki / master / minions 에 minion id 로 명 명 된 Public key 를 저장 하고 master 는 minion 에 명령 을 보 낼 수 있 습 니 다.
  • # salt-key -L 
    Accepted Keys:
    Unaccepted Keys:
    Rejected Keys:
    2014.1.4 , minion , 0.7

    step 5: 키 관리
    master 와 minion 데이터 교환 과정 에서 AES 암호 화 를 사용 합 니 다. minion 에 보 내 는 명령 이 변경 되 지 않도록 master 와 minion 간 인증 은 신뢰 할 수 있 는 수락 (trusted, accepted) 키 를 사용 합 니 다. minion 에 명령 을 보 내기 전에 minion 의 key 는 먼저 master 에 의 해 수락 (accepted) 되 어야 합 니 다.
    Unaccepted Keys:        KEY 
    Rejected Keys: KEY
    salt-key key key, -A key, key -a keyname.

    인증 명령 은 salt - key 입 니 다. 다음 명령 을 자주 사용 합 니 다.
    -a ACCEPT, --accept=ACCEPTAccept the following key 
    -A, --accept-all Accept all pending keys
    -r REJECT, --reject=REJECTReject the specified public key
    -R, --reject-all Reject all pending keys
    -d DELETE, --delete=DELETEDelete the named key
    -D, --delete-all Delete all keys

    인증서
    [root@node131 ~]# salt-key -a node134 
    The following keys are going to be accepted:
    Unaccepted Keys: node134
    Proceed? [n/Y] y
    Key for minion node134 accepted.

    [root@node131 ~]# salt-key -L \\
    Accepted Keys:
    node134
    Unaccepted Keys:
    Rejected Keys:

    # ,

    테스트 명령
    [root@node131 ~]# salt 'node134' test.ping 
    node134:
    True
    \\ master minion , ,

    [root@node131 ~]# salt -E 'node134|node135' cmd.run 'df -h'
    node134:
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/VolGroup-lv_root 14G 1.9G 11G 15% /
    tmpfs 242M 0 242M 0% /dev/shm
    /dev/sda1 485M 33M 427M 8% /boot
    node135:
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/VolGroup-lv_root 14G 1.6G 12G 12% /
    tmpfs 242M 0 242M 0% /dev/shm
    /dev/sda1

    \\ , minion

    다음 내용 에서 salt 의 더욱 상세 한 용법 과 깊이 있 는 내용 을 소개 하 는 것 도 학습 의 지속 적 인 발전 과정 이다.

    좋은 웹페이지 즐겨찾기