Salt Project는 이벤트 기반 IT 자동화, 원격 작업 실행 및 구성 관리를 위한 Python 기반 오픈 소스 소프트웨어입니다.
Salt에 대한 자세한 내용은 Salt 사용자 가이드를 참조하십시오.
Salt를 사용하려면 게스트에 salt-minion을 배포해야 합니다. Salt 특정 게스트 변수는 VM별로 호스트 측에 설정되고 이후에 게스트 내부의 VMware Tools에서 읽습니다. 그런 다음, VMware Tools는 Salt 번들을 다운로드하고 게스트 내에서 salt-minion 인스턴스를 작동합니다.
사전 요구 사항
- 64비트 OS만 지원합니다.
- Windows의 경우 Windows 8 이상 버전이 지원됩니다.
참고: Windows 2008R2는 지원되지 않습니다.
- VMware Tools는 Salt Minion 기능과 함께 설치해야 합니다. 기본적으로 이 기능은 사용하도록 설정되어 있습니다.
- Linux에서 설치된 패키지에 대한 종속성이 있습니다(예: curl 및 wget).
프로시저
- 게스트 변수를 사용하는 VM별 호스트 측 구성
호스트 관리자는 VIM API 또는 vSphere/VC UI를 사용하여 특정 VM에 대한 호스트 측의 모든 게스트 변수 설정을 관리합니다.
-
- Windows:
VMware Tools Salt Minion 기능이 기본적으로 설치되며 사용자 지정 설치에서 수정할 수 있습니다.
VMware Tools가 특정 VM에서 salt-minion 인스턴스를 생성하고 salt-master에 연결하려면 호스트 관리자가 해당 VM에 대한 게스트 변수를 구성하고 설정해야 합니다.
vSphere 호스트 UI에서 특정 VM을 선택하고 마우스 오른쪽 버튼을 클릭하여 설정을 편집합니다. [VM 옵션] 탭에서 고급 > 구성 편집 > 매개 변수 추가/삭제를 선택하고
- guestinfo./vmware.components.salt_minion.desiredstate를 present로 설정합니다.
- guestinfo./vmware.components.salt_minion.args를 <VMware Tools salt-minion 설정 스크립트에 대한 사용자 지정 인수>로 설정합니다.
예를 들면 다음과 같습니다.
guestinfo./vmware.components.salt_minion.desiredstate → present
guestinfo./vmware.components.salt_minion.args → master=1.2.3.4
- Linux:
호스트 관리자는 open-vm-tools 및 open-vm-tools-salt-minion을 설치한 후 특정 VM에 대한 게스트 변수를 다음과 같이 설정해야 합니다.
- guestinfo./vmware.components.salt_minion.desiredstate를 present로 설정합니다.
- guestinfo./vmware.components.salt_minion.args를 <VMware Tools salt-minion 설정 스크립트에 대한 사용자 지정 인수>로 설정합니다.
예를 들면 다음과 같습니다.
guestinfo./vmware.components.salt_minion.desiredstate → present
guestinfo./vmware.components.salt_minion.args → master=1.2.3.4 id=12345
- Windows:
- Salt-minion 제거
Windows 또는 Linux에서 호스트 관리자가 게스트 변수 guestinfo./vmware.components.salt_minion.desiredstate를 absent로 설정하면 VMware Tools에서 게스트 VM의 salt-minion 인스턴스를 제거합니다.
예를 들면 다음과 같습니다.
guestinfo./vmware.components.salt_minion.desiredstate → absent
- 게스트 내에서 salt-minion의 최신 상태 확인
vSphere UI의 게스트 내에서 salt-minion의 최신 상태를 확인하려면 다음 게스트 변수를 사용합니다.
guestinfo.vmware.components.salt_minion.laststatus를 사용합니다.
-
- tools.conf를 사용한 게스트 측 구성
tools.conf 파일에는 VMware Tools에 대한 구성이 .ini 형식으로 포함되어 있습니다. 이 도구는 salt_minion 섹션을 찾고 해당 섹션 아래에 정의된 구성을 사용합니다. 이 파일은 다음 위치에 저장됩니다.
Windows - C:\ProgramData\VMware\VMware Tools\tools.conf
Linux - /etc/vmware-tools/tools.conf
다음은 tools.conf에 정의된 salt_minion 섹션의 예입니다.
[salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_minion
참고: tools.conf에서 minion 구성 옵션만 사용할 수 있습니다. 원하는 스크립트 작업을 tools.conf에서 가져올 수 없습니다.- 게스트 변수의 상태 변경을 모니터링하도록 간격 구성:
VMware Tools는 상태 변경에 대해 게스트 변수를 주기적으로 폴링합니다. 기본 poll-inteval은 180s이며 tools.conf 설정에서 구성할 수 있습니다.
"[componentmgr]"
"poll-interval=180" (기본값: 180초)
- 구성 요소 사용 및 사용 안 함(salt_minion):
- 게스트 관리자는 tools.conf 설정을 구성하여 salt_minion을 사용하도록 설정할 수 있습니다.
"[componentmgr]"
"included=salt_minion"
- 게스트 관리자는 tools.conf 설정을 구성하여 모든 구성 요소를 사용하도록 설정할 수 있습니다.
"[componentmgr]"
"included=all" (기본 구성)
- 게스트 관리자는 tools.conf 설정을 구성하여 모든 구성 요소를 사용하지 않도록 설정할 수 있습니다.
"[componentmgr]"
"included=none"
- 게스트 관리자는 tools.conf 설정을 구성하여 salt_minion을 사용하도록 설정할 수 있습니다.
- 게스트 변수의 상태 변경을 모니터링하도록 간격 구성:
- 설치 스크립트를 사용하여 salt-minion 설치
-
- Linux 환경
Linux 시스템에서 설치 스크립트 svtminion.sh는 다음과 같은 사전 요구 사항이 있는 bash 스크립트입니다.
- - systemctl
- - curl
- - sha512sum
- - vmtoolsd
- - grep
- - awk
- - sed
- - cut
- - wget
svtminion.sh --help
는 명령줄 옵션을 보여 줍니다.사용법:./svtminion.sh [-c|--clear] [-d|--depend] [-h|--help] [-i|--install] [-j|--source] [-l|--loglevel] [-m|--minionversion] [-r|--remove] [-s|--status] [-v|--version]
여기서
예: URL 위치./svtminion.sh [-j|--source]
는 Salt Minion을 설치할 위치를 지정합니다. 기본값은 repo.saltproject.io 위치입니다.http://my_web_server.com/my_salt_onedir
https://my_web_server.com/my_salt_onedir
file:////my_path/my_salt_onedir
//my_path/my_salt_onedir
참고: Salt Minion의 특정 버전([-m|--minionversion])이 지정된 경우 소스에 추가됩니다. 기본 버전은 최신 버전입니다.다음은 tools.conf에 정의된 대로 salt_minion을 설치하는 예입니다.
[salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_minion source=https://my_web_server.com/my_salt_onedir
참고: salt에 대한 표준 저장소 위치의 개인 복제본에서 설치하는 경우source=https://repo.saltproject.io/salt/vmware-tools-onedir/
을 사용합니다. - Windows 환경
Windows 시스템에서 설치 스크립트 svtminion.ps1은 powershell 스크립트입니다. Windows에 대한 유일한 사전 요구 사항은 게스트 변수 데이터를 쿼리하는 데 사용되는 'vmtoolsd.exe' 바이너리입니다.
이 스크립트에 대한 도움말을 보려면
svtminion.ps1 -h
또는Get-Help svtminion.ps1
명령을 실행합니다.Windows 게스트에서 Salt minion을 관리하기 위한 VMware Tools 스크립트는 다음과 같습니다..\svtminion.ps1 [-Install] [-MinionVersion <String>] [-Source <String>] [[-ConfigOptions] <String[]>] [-LogLevel <String>] [-Help] [-Version] [<CommonParameters>]
여기서
-Source <String>
은 설치 관리자가 포함된 저장소의 URL 또는 경로입니다.여기에는 기본 위치 https://repo.saltproject.io/salt/vmware-tools-onedir/에 있는 것과 유사한 디렉토리 구조가 포함됩니다. http, https, ftp, unc, local과 같은 가장 일반적인 프로토콜을 처리할 수 있습니다.
예를 들면 다음과 같습니다.
PS>svtminion.ps1 -Install PS>svtminion.ps1 -Install -MinionVersion 3004-1 master=192.168.10.10 id=dev_box PS>svtminion.ps1 -Install -Source https://my.domain.com/vmtools/salt
참고:예제를 보려면
get-help .\svtminion.ps1 -examples
를 입력하십시오.자세한 내용을 보려면
get-help .\svtminion.ps1 -detailed
를 입력하십시오.기술 정보를 보려면
get-help .\svtminion.ps1 -full
을 입력하십시오.
- Linux 환경
-
- 로그 정보 가져오기
게스트 관리자는 다음 경로에서 salt-minion과 관련된 로그 정보를 가져올 수 있습니다.Windows
로그 파일 위치 salt-minion 상태를 확인하기 위한 로그 파일 C:\Windows\Temp\vmware-svtminion-status-{Timestamp}.log 게스트 내부에 salt-minion 인스턴스를 설치하기 위한 로그 파일 C:\Windows\Temp\vmware-svtminion-install-{TimeStamp}.log 게스트 내에서 salt-minion 인스턴스를 제거하기 위한 로그 파일: C:\Windows\Temp\vmware-svtminion-remove-{TimeStamp}.log 게스트 내에서 salt-minion 인스턴스를 설치하거나 제거한 후 런타임 정보를 확인하기 위한 로그 파일 C:\salt\var\log\minion 로그 파일 Linux로그 파일 위치 salt-minion 상태를 확인하기 위한 로그 파일 /var/log/vmware-svtminion.sh-status-{Timestamp}.log 게스트 내부에 salt-minion 인스턴스를 설치하기 위한 로그 파일 /var/log/vmware-svtminion.sh-install-{TimeStamp}.log 게스트 내에서 salt-minion 인스턴스를 제거하기 위한 로그 파일: /var/log/vmware-svtminion.sh-remove-{TimeStamp}.log 게스트 내에서 salt-minion 인스턴스를 설치하거나 제거한 후 런타임 정보를 확인하기 위한 로그 파일 /var/log/salt/minion