/var/log/messages
Salt란? 본문
개념
Salt는 다음 용도로 사용되는 Python 기반 오픈 소스 원격 실행 프레임워크이다.
구성관리, 자동화, 프로비저닝 그리고 조직화 이다.
즉, Salt란 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것
마스터의 역할
1.서버 정책 실행을 지정
2.구성 데이터의 리포지토리로 작동
3.다른 시스템의 상태를 보장
미니언
1. 마스터가 관리하는 서버
2. 마스터의 지시 사항 수행 후 결과 보고
통신 방식
salt 미니언과 마스터는 ZeroMQ 메시징 라이브러리를 사용하여 통신한다.
ZeroMQ는 다양한 방식으로 메시지를 전송하는 소켓을 제공한다.
그렇기 때문에, 마스터와 미니언 사이에서 통신이 가능하다.
minion들, 프로세스 내, 프로세스 간, TCP 및 멀티캐스트와 같은 메시지를 공평하게 배포 및 공유 대기열을 만든다. |
마스터 < == > 미니언 등록 할 시
미니언은 자신의 키 쌍을 생성 후, 연결하도록 마스터 서버로 자격 증명을 전송한다.
마스터는 미니언의 ID를 확인한 후 이 키를 수락한다.
원격 실행: 실행 모듈 및 기능
실행 모듈: 미니언이 작업 대상일 때, 그 작업을 수행하는 관련 기능의 집합
원격 실행 기능도 이 모듈에서 제공된다.
구성 관리
상태(state): 시스템의 특정 부분을 구성하는 재사용 가능한 선언
구성 파일의 리포지토리를 만들어 액세스 할 수 있다.
공식: 프로그램 또는 솔트 상태 및 솔트 필러 파일의 모음
여러 솔트 상태 파일에 분산된 여러 솔트 상태로 구성
템플릿: 미니언에 대한 정보를 제공
이로 인해서, 사용자 지정 버전을 구성할 수 있음
데이터 처리를 위해 논리 구조를 제공하는 Jinja 템플릿(파이썬)을 이용함
렌더러: 템플릿을 실행하여 데이터를 얻는 것
입력을 구성하는 템플릿 형식과 출력으로 생성되는 데이터 직렬화로 나뉘어짐
미니언에 대한 정보 쿼리 및 할당
그레인: 미니언에 의해 수집되는 데이터(호스트 시스템 정보)
명령에 대한 인수로도 사용 가능
필러: 미니언의 데이터를 검색하는데 사용할 수 있는 키 값 저장소
구성 템플릿에 가변 데이터를 주입하는 방법
마인: 각 명령 실행에 대한 최신 결과만 저장
마스터와 미니언 연결하기
( 위 과정들이 맞다는 걸 증명하기 위해서 2개의 minion들을 이용했었습니다! )
1. 마스터에서 salt-master 패키지를 설치한다.
이때 모듈은 Server Applications Module이다.
zypper in -y salt-master
2. systemctl enable –now salt-master.service를 이용해서 salt-master 서비스를 실행시킨다.
3. 미니언에서 salt-minion 패키지를 설치한다. 이때 모듈은 Basesystem Module이다.
4. systemctl enable –now salt-minion.service를 이용해서 salt-minion 서비스를 실행시킨다.
패키지를 다운 받으려면, 그 패키지에 상응하는 모듈이 있어야 한다. https://scc.suse.com/packages?name=SUSE%20Linux%20Enterprise%20Server&version=15.4&arch=x86_64&query=salt-minion&module= 이 사이트에서 다운 받을 패키지를 검색하면, 어떤 모듈이 필요하다는 정보를 알 수 있다. |
5. interface값에 자신의 ip를 적어줘야 한다.
/etc/salt/master에서 interface: 항목에 마스터 서버 ip를 적어주자
6. 미니언에 마스터 ip를 알려줘야 한다. 그래야 인식할 수 있기 때문이다.
/etc/salt/minion 중 master: 항목에 master의 ip를 적어주자
7. 마스터의 공개키를 확인해야 한다.
salt-key -F master로 키를 발급 받을 수 있다.
master.pem이 개인키이다.
master.pub이 공개키이다.
공개키를 복사 후, /etc/salt/minion의 master_finger: 항목에 대입한다.
8. 미니언에 적용한 설정이 적용될 수 있도록, 재시작을 해야 한다.
pkill salt-minion; salt-minion -d; 혹은 systemctl을 이용한 방법이 있겠다.
이 과정 후 salt-call –local key.finger에서 값이 나오는 지 확인한다.
나오지 않는 다면, 검토를 진행하여야 한다.
9. 마스터가 미니언의 키 값을 수락 후, 등록을 했는지 확인한다.
salt-key -A ( 혹은 salt-key –accept -all )로 키를 수락, saly-key -L로 등록 되었는지 확인한다.
최종적으로 설정이 정상적으로 되었는지 확인하기 위해 salt ‘*’ test.version로 확인한다.
( 필자는 2개의 미니언으로 실습 했으니, 이 점을 감안해서 확인 바란다. )
=> 정상적으로 동작이 되는 것을 알 수 있다.
'SUSE' 카테고리의 다른 글
Yast로 방화벽 구축하기 (0) | 2023.08.11 |
---|---|
SUSE Certified Engineer, SCE (0) | 2023.08.05 |
SUSE Linux로 DNS 서버 구축하기 (0) | 2023.07.07 |
서버의 재부팅 후 점검하기 (0) | 2023.05.28 |
RAID란 (0) | 2023.04.09 |