이 사용 사례의 목표는 Windows VM을 SaltStack Config 환경에 연결하여 미니언에 Salt 미니언 서비스를 프로그래밍 방식으로 설치하는 것입니다.
사전 요구 사항
Windows 환경에서 API를 사용하여 미니언을 배포하려면 먼저 다음이 필요합니다.
- RaaS가 배포된 SaltStack Config 환경이 있습니다.
- Salt 마스터 및 Salt 미니언이 설치되어 있습니다.
- Windows VM이 배포되어 있습니다.
프로시저
- Salt 마스터의 etc/salt/cloud.deploy.d 폴더에 다음과 같은 파일이 포함되어 있는지 확인합니다.
파일이 표시되지 않으면 지원 부서에 문의하십시오.
참고: 파일 이름의 xxxx(예:
salt-xxxx-windows--x86.tar.gz
)는 Salt 마스터의 버전과 일치해야 합니다. Salt 마스터의 버전을 확인하려면 Salt 마스터에서
salt-master -V 명령을 실행합니다.
- Salt 마스터의 터미널에서
pip3 install pypsexec smbprotocol
및 pip3 install impacket --ignore-installed
명령을 실행하여 다음 라이브러리를 설치합니다.
- Salt 마스터의 FQDN을 식별하려면 Salt 마스터의 터미널에서
salt saltmaster grains.get fqdn
명령을 실행합니다.
- Windows 시스템에서 C: \Windows\System32\drivers\etc\hosts 파일이 Salt 마스터의 IP 및 FQDN으로 구성되어 있는지 확인합니다.
- Azure의 Windows 시스템에 미니언을 배포하는 경우 PowerShell을 열고 다음 명령을 실행하여 필요한 포트를 엽니다.
포트 |
명령 |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Enable-Psremoting |
- Azure의 Windows 시스템에 미니언을 배포하지 않는 경우 PowerShell을 열고 다음 명령을 실행하여 필요한 포트를 엽니다.
포트 |
명령 |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Set-Item (dir wsman:\localhost\Listener*\Port - Recurse).pspath 445 -Force Restart-Service winrm |
4505-4506 |
netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506 |
- Windows 시스템에서 ping [FQDN] 명령을 실행하여 Salt 마스터에 대해 FQDN이 구성되어 있는지 확인합니다.
- 환경에 대해 올바른 자격 증명을 가진 SSEAPI 클라이언트를 사용하여 이 API 호출을 수행합니다.
참고:
SaltStack Config를
vRealize Automation과 통합한 경우 클라우드 템플릿을 사용하여 미니언을 배포할 때
vRealize 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
함수가
SaltStack Config 환경에서 실행되기 시작합니다.
SaltStack Config 사용자 인터페이스의
활동 탭에서 작업이 실행 중인지 확인하거나
python3 명령 다음에
client.api.minions.get_minion_deployments()를 실행하여 작업이 실행 중인지 확인할 수 있습니다.
결과
Windows 환경 및 API 호출에서 미니언이 성공적으로 배포 및 구성되었습니다.
다음에 수행할 작업
명령 실행 창을 사용하여 미니언에 대해
test.ping 명령을 실행하거나 Salt 마스터 명령 창에서
\* test.ping 및
\* test.versions 명령을 실행하여 미니언이 성공적으로 배포되었는지 확인합니다.