VMware Tools를 사용하여 Salt Minion을 사용하도록 설정
Salt Project는 이벤트 기반 IT 자동화, 원격 작업 실행 및 구성 관리를 위한 Python 기반 오픈 소스 소프트웨어입니다.
- 64비트 OS만 지원합니다.
- Windows의 경우 Windows 8 이상 버전이 지원됩니다.Windows 2008R2는 지원되지 않습니다.
- VMware Tools는 Salt Minion 기능과 함께 설치해야 합니다. 기본적으로 이 기능은 사용하도록 설정되어 있습니다.
- Linux에서 설치된 패키지에 대한 종속성이 있습니다(예: curl 및 wget).
Salt에 대한 자세한 내용은 Salt 사용자 가이드를 참조하십시오.
Salt를 사용하려면 게스트에 salt-minion을 배포해야 합니다. Salt 특정 게스트 변수는 VM별로 호스트 측에 설정되고 이후에 게스트 내부의 VMware Tools에서 읽습니다. 그런 다음, VMware Tools는 Salt 번들을 다운로드하고 게스트 내에서 salt-minion 인스턴스를 작동합니다.
- 게스트 변수를 사용하는 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→ presentguestinfo./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→ presentguestinfo./vmware.components.salt_minion.args→ master=1.2.3.4 id=12345
- 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.confLinux -/etc/vmware-tools/tools.conf다음은tools.conf에 정의된salt_minion섹션의 예입니다.[salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_miniontools.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
- 설치 스크립트를 사용하여 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_onedirhttps://my_web_server.com/my_salt_onedirfile:////my_path/my_salt_onedir//my_path/my_salt_onedirSalt 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_onedirsalt에 대한 표준 저장소 위치의 개인 복제본에서 설치하는 경우 을 사용합니다. - 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을 입력하십시오.
- 로그 정보 가져오기게스트 관리자는 다음 경로에서 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