vSphere Auto Deploy를 사용하면 vSphere Auto Deploy 규칙에 사용자 지정 스크립트를 연결하여 호스트를 하나 이상 구성할 수 있습니다.
스크립트는 호스트의 초기 ESXi 부팅 워크플로우 이후에 알파벳 순서로 실행됩니다.
사전 요구 사항
- vSphere Auto Deploy 규칙에 연결할 스크립트 번들이 .tgz 형식이고, 크기가 10MB를 초과하지 않으며 Python 또는 BusyBox ash 스크립팅 언어로 작성되었는지 확인합니다.
프로시저
- PowerCLI 세션에서 Connect-VIServer cmdlet을 실행하여 vSphere Auto Deploy가 등록된 vCenter Server 시스템에 연결합니다.
Connect-VIServer ipv4_or_ipv6_address
서버 인증서 주의가 반환될 수 있습니다. 운영 환경에서는 서버 인증서 주의가 반환되면 안 됩니다. 그러나 개발 환경에서는 이 주의를 무시해도 됩니다.
- Add-ScriptBundle cmdlet을 실행하여 필요한 스크립트가 포함된 스크립트 번들을 vSphere Auto Deploy 인벤토리에 추가합니다.
Add-ScriptBundle c:/temp/MyScriptBundle.tgz
.tgz 확장명을 제외한 스크립트 번들 이름은 스크립트 번들 항목의 이름 식별자 또는 개체입니다.
Add-ScriptBundle cmdlet에
-Update 매개 변수를 사용하면 기존 스크립트 번들을 업데이트할 수 있습니다.
- (선택 사항) Get-ScriptBundle cmdlet을 실행하여 스크립트 번들이 vSphere Auto Deploy 인벤토리에 추가되었는지 확인합니다.
- 특정 특성(예: IP 주소 범위)을 가진 호스트를 스크립트 번들에 할당하는 규칙을 정의합니다.
New-DeployRule -Name "testrule4" -Item "MyScriptBundle" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
큰따옴표는 이름에 공백이 있는 경우에는 반드시 사용해야 하며 그 외에는 선택적으로 사용할 수 있습니다. 모든 호스트에 항목을 적용하기 위해 패턴 대신 -AllHosts를 지정합니다.
이름이
testrule4인 규칙을 생성합니다. 이 규칙은 벤더가 Acme 또는 Zven이고 지정된 범위 내의 IP 주소를 가진 모든 호스트에 이름이 My Script Bundle인 스크립트 번들을 할당합니다.
Get-ScriptBundle cmdlet이 반환한 스크립트 번들의 이름 식별자 또는 개체를 사용하여 규칙에 연결할 스크립트 번들을 식별할 수 있습니다.
- 규칙을 규칙 집합에 추가합니다.
기본적으로 규칙은 작업 규칙 집합과 활성 규칙 집합 둘 모두에 추가됩니다. 그러나
NoActivate 매개 변수를 사용하면 작업 규칙 집합이 활성 규칙 집합이 되지 않습니다.
다음에 수행할 작업
- vSphere Auto Deploy를 사용하여 이미 프로비저닝된 호스트의 경우 규정 준수 테스트 및 복구 작업을 수행하여 새 스크립트로 호스트를 프로비저닝합니다. 규칙 준수 테스트 및 복구의 내용을 참조하십시오.
- 프로비저닝되지 않은 호스트의 전원을 켜서 해당 호스트를 새 스크립트로 프로비저닝합니다.