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
        → 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
    • 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
  • 설치 스크립트를 사용하여 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]
        여기서
        ./svtminion.sh [-j|--source]
        는 Salt Minion을 설치할 위치를 지정합니다. 기본값은
        repo.saltproject.io
        위치입니다.
        예: URL 위치
        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에 대한 표준 저장소 위치의 개인 복제본에서 설치하는 경우 을 사용합니다.
      • 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