이 사용 사례의 목표는 Windows VM을 Automation Config 환경에 연결하여 미니언에 Salt 미니언 서비스를 프로그래밍 방식으로 설치하는 것입니다.

사전 요구 사항

Windows 환경에서 API를 사용하여 미니언을 배포하려면 먼저 다음이 필요합니다.
  • RaaS가 배포된 Automation Config 환경이 있습니다.
  • Salt 마스터 및 Salt 미니언이 설치되어 있습니다.
  • Windows VM이 배포되어 있습니다.

프로시저

  1. Salt 마스터의 etc/salt/cloud.deploy.d 폴더에 다음과 같은 파일이 포함되어 있는지 확인합니다.
    Salt 마스터의 cloud.deploy.d 디렉토리에 있는 필수 파일 목록

    파일이 표시되지 않으면 지원 부서에 문의하십시오.

    참고: 파일 이름의 xxxx(예: salt-xxxx-windows--x86.tar.gz)는 Salt 마스터의 버전과 일치해야 합니다. Salt 마스터의 버전을 확인하려면 Salt 마스터에서 salt-master -V 명령을 실행합니다.
  2. 에어갭 환경이면 다음 단계를 완료하십시오.
    1. /etc/raas/raas에서 RaaS 구성 파일을 엽니다.
    2. 구성 파일에 다음 줄을 추가합니다.
      minion_deployment:
        airgap_install: true
    3. service raas restart 명령을 사용하여 RaaS 서비스를 다시 시작합니다.
    참고: 강화된 Linux VM을 사용하는 경우 VM의 /tmp에서 스크립트를 실행할 수 없는 몇 가지 상황이 있습니다.
    • Automation Assembler 버전 8.10.2 이상을 사용하는 경우: 클라우드 템플릿의 Automation Config 리소스에 additionalAuthParams 속성을 추가합니다. 자세한 내용은 클라우드 템플릿에 Automation Config 리소스 추가를 참조하십시오.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Automation Assembler 버전 8.10.1 이하를 사용하는 경우: /etc/salt/cloud.providers.d/ssc_saltify_provider.conf 파일을 다음으로 수정합니다.
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      이 구성 파일이 없으면 생성하고 위의 설정을 추가합니다.
  3. Salt 마스터의 터미널에서 pip3 install pypsexec smbprotocolpip3 install impacket --ignore-installed 명령을 실행하여 다음 라이브러리를 설치합니다.
    참고: LCM을 사용하여 Salt 마스터가 포함된 Automation Config 장치를 설치하는 경우에는 이 단계가 필요하지 않습니다. 그러나 Salt 마스터를 수동으로 설치할 때는 이 단계가 필요합니다.
  4. Salt 마스터의 FQDN을 식별하려면 Salt 마스터의 터미널에서 salt saltmaster grains.get fqdn 명령을 실행합니다.
  5. Windows 시스템에서 C: \Windows\System32\drivers\etc\hosts 파일이 Salt 마스터의 IP 및 FQDN으로 구성되어 있는지 확인합니다.
  6. Windows 시스템에서 PowerShell을 열고 다음 명령을 실행하여 필요한 포트를 엽니다.
    포트 명령
    445 New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445

    Enable-Psremoting
  7. Salt 마스터의 터미널에서 다음 명령을 사용하여 Salt 마스터의 포트 4505 및 4506을 엽니다.
    포트 명령
    4505-4506 netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506

    Salt 통신 모델에 대한 자세한 내용은 Automation Config 이해를 참조하십시오.

  8. Windows 시스템에서 ping [FQDN] 명령을 실행하여 Salt 마스터에 대해 FQDN이 구성되어 있는지 확인합니다.
    Windows 시스템에서 ping FQDN 명령을 실행한 결과
  9. 환경에 대해 올바른 자격 증명을 가진 SSEAPI 클라이언트를 사용하여 이 API 호출을 수행합니다.
    참고: Automation ConfigVMware Aria Automation과 통합한 경우 클라우드 템플릿을 사용하여 미니언을 배포할 때 VMware Aria Automation 서비스가 이 API 호출을 수행합니다.
    from sseapiclient import APIClient
    
    client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
    
    
    client.api.minions.deploy_minion(
    
     master_id = '<master-id>',
    
     host_name_ip = '<prospective minion’s ip>',
    
     os = ‘<prospective minion’s os>’,
    
     minion_id = '<desired-minion-name-for-prospective-minion>',
    
     username = '<ssh-username-for-prospective-minion>', 
    
     password = '<ssh-password-for-prospective-minion>',
    
    )
    deploy.minion 함수가 Automation Config 환경에서 실행되기 시작합니다. Automation Config 사용자 인터페이스의 활동 탭에서 작업이 실행 중인지 확인하거나 python3 명령 다음에 client.api.minions.get_minion_deployments()를 실행하여 작업이 실행 중인지 확인할 수 있습니다.

결과

Windows 환경 및 API 호출에서 미니언이 성공적으로 배포 및 구성되었습니다.

다음에 수행할 작업

명령 실행 창을 사용하여 미니언에 대해 test.ping 명령을 실행하거나 Salt 마스터 명령 창에서 \* test.ping\* test.versions 명령을 실행하여 미니언이 성공적으로 배포되었는지 확인합니다.