이 예에서는 상태 파일을 적용하여 SaltStack Config를 사용하여 구성 설정을 신속하게 배포하고 관리하는 방법에 대한 또 다른 예를 볼 수 있습니다. 이 예에서는 세 가지 다른 작업(서비스 설치, 서비스 시작, 서비스를 실행하는 노드에 파일 배포)을 처리하는 약간 더 복잡한 상태 파일을 보여줍니다.
이 실습 예제는 환경을 변경하므로 완료할 때 주의해야 합니다. 운영 환경이 아닌 테스트 또는 개발 환경에서만 노드를 사용하여 이 예제를 시도하는 것이 좋습니다.
CentOS(Linux) 노드에서 Apache 웹 서버 구성
Apache 웹 서버를 구성하고 배포하는 상태 파일을 작성하려면:
- SaltStack Config 파일 서버에서 새 파일을 생성합니다.
- SaltStack Config 사용자 인터페이스의 사이드 메뉴에서 구성 > 파일 서버를 클릭합니다.
- 파일 서버 업무 공간을 처음 열면 파일 디렉토리와 빈 새 파일이 보입니다. 빈 파일을 사용하여 새 파일을 생성합니다.
- 빈 새 파일을 사용하여 새 상태 파일(SLS)을 생성합니다.
- Saltenv 메뉴를 클릭하고 base를 선택합니다.
- 레이블이 없는 메뉴 옆에 파일 경로와 파일 이름을 입력합니다.
/apache/centos.sls
를 사용합니다. - 파일 본문에 다음 상태 파일 코드(YAML 구문 사용)를 복사하여 붙여넣습니다.
install_apache: pkg.installed: - name: httpd ensure_service_running: service.running: - name: httpd - watch: - pkg: install_apache default_html_page: file.managed: - name: /var/www/html/index.html - source: salt://apache/index.html
참고:이 상태 파일에는 세 가지 다른 Salt 실행 모듈을 실행하는 세 단계가 있습니다. 이 상태 파일이 미니언에 적용되면 SaltStack Config는 다음을 수행합니다.- 미니언에 Apache(httpd)를 설치합니다.
- Apache 서비스를 시작합니다.
- 미니언에서 호스팅되는 샘플 HTML 인덱스 페이지를 배포합니다.
- 상태 파일을 저장합니다.
- 파일 서버 디렉토리의 base > apache > centos.sls 아래에 새 파일이 표시되는지 확인합니다.
- 파일 서버에 샘플 HTML 인덱스 페이지를 추가합니다.
- 파일 서버 업무 공간에서 생성 버튼을 클릭하여 새 파일을 추가합니다.
- 레이블이 없는 메뉴를 클릭하고 base를 선택합니다.
- 레이블이 없는 메뉴 옆에 이 파일의 파일 경로와 파일 이름을 입력합니다.
/apache/index.html
를 사용합니다. - 파일 본문에 다음 HTML 코드를 복사하여 붙여넣습니다.
<html> <head><title>SaltStack Config Example></title></head> <body> <h1>SaltStack Config Example</h1> Hello, world! </body>
- HTML 파일을 저장합니다.
- 파일 서버 디렉토리의 base > apache > index.html에 새 파일이 나타나는지 확인합니다.
- 새 작업을 생성합니다.
- 사이드 메뉴에서 구성 > 작업을 클릭하여 작업 업무 공간을 엽니다.
- 작업 생성 버튼을 클릭합니다.
참고:
[작업 생성] 버튼이 표시되지 않으면 새 작업을 생성할 수 있는 권한이 없는 것입니다. 자습서를 완료할 수 있도록 vRealize Automation 관리자에게 문의하여 액세스 권한을 확인하거나 이 작업을 대신 생성하도록 요청하십시오.
- [새 작업] 화면에서 새 작업에 대한 세부 정보를 입력하고 작업을 저장합니다.
필드 샘플 값 이름
이 작업에 알아보기 쉬운 이름(예: "Apache 웹 서버 구성")을 지정합니다.
설명
다른 사용자에게 이 작업의 용도를 알려주는 설명(예: "샘플 HTML 인덱스 페이지와 함께 대상 CentOS 노드에 Apache 웹 서버를 구성하고 배포합니다.")을 추가합니다.
명령
salt를 선택합니다.
salt
명령은 미니언에 대해 실행되는 작업에 사용됩니다.대상
이 메뉴에서는 아무 것도 선택하지 마십시오. 이 필드를 비워두면 작업을 실행할 때 대상을 선택할 수 있습니다.
함수
이 필드를 클릭하고 이 모듈을 선택할 수 있을 때까지
state.apply
입력을 시작합니다.이 필드는 이 작업이 실행되면 적용되는 Salt 모듈을 선택하는 위치입니다.
환경
메뉴에서
base
를 선택합니다.상태
메뉴(
apache.centos
)에서 새로 생성한 상태 파일을 선택합니다.인수
이 모듈은 인수를 허용하지 않으므로 비워둡니다.
작업 입력 이 작업에는 작업 입력이 필요하지 않으므로 비워 둡니다. 작업 입력에 대한 자세한 내용은 작업을 생성하는 방법을 참조하십시오.
- 작업을 생성했으므로 작업 대상을 선택하여 작업을 실행합니다.
- 사이드 메뉴에서 대상을 클릭하여 대상 업무 공간을 열고 대상을 확인합니다.
- 모든 미니언 테이블에서 이 작업의 대상으로 지정할 CentOS 미니언을 찾습니다. 해당 미니언 옆에 있는 확인란을 선택하고 작업 실행 버튼을 클릭합니다.
- [작업 실행] 대화상자에서 구성 메뉴를 클릭하고 이전 단계에서 생성한 Apache 웹 서버 구성 작업을 선택합니다. 필요한 경우 작업의 이름을 입력하여 작업을 필터링할 수 있습니다.
- 지금 실행을 클릭합니다.
작업을 성공적으로 실행한 경우 작업이 성공적으로 시작되었음을 설명하는 알림이 나타납니다.
- 사이드 메뉴에서 활동 > 완료됨을 클릭하여 작업이 완료되었는지 여부를 확인합니다.
이 테이블에 작업이 표시되지 않으면 아직 진행 중일 수 있습니다. 현재 실행 중인 작업은 활동 > 진행 중을 클릭하면 찾을 수 있습니다. 작업이 테이블에 나타날 때까지 계속해서 활동 > 완료됨을 새로 고칩니다.
- 작업이 완료되면 인덱스 페이지가 새로 구성된 웹 서버에서 호스팅되는지 확인합니다.
- 웹 브라우저를 사용하여 작업에서 대상으로 지정한 CentOS 미니언의 IP 주소로 이동합니다. SaltStack Config에서 미니언의 IP 주소를 찾으려면 해당 미니언의 IP 주소 열에서 대상 업무 공간을 확인합니다.
- 해당 IP 주소를 입력하면 샘플 HTML 인덱스 페이지가 표시됩니다.
결과 및 주요 정보 요약
작업 결과 및 인덱스 페이지를 검토하면서 다음과 같은 사항을 고려하십시오.
- 상태 파일은 시스템 구성을 어떤 규모로든 빠르게 설정 및 업데이트하고 코드형 인프라(Infrastructure as Code) 방식에서 구성 편차를 방지하는 방법입니다.
- SaltStack Config를 사용하면 변수(상태 파일이 시스템에 적용될 때 상태 파일에 전달되는 정보 또는 조건에 따라 변경될 수 있는 값)와 같은 복잡한 요소를 통합할 수 있는 상태 파일을 작성할 수 있습니다.
- 또한 개인 bank(SaltStack Config에서는 pillar라고 함)에서 암호를 가져올 수 있는 상태 파일을 작성하면, 자격 증명을 안전하게 유지하는 동시에 권한 있는 팀 멤버가 액세스 권한이 있는 리소스에 대한 작업을 실행할 수 있도록 할 수 있습니다.