클라우드 템플릿을 반복적으로 개발하는 동안 또는 최종 템플릿이 있는 경우 Service Broker 셀프 서비스 카탈로그에서 소비자가 템플릿을 사용하도록 제공할 수 있습니다. 사용자 환경을 더욱 향상시키기 위해 사용자 지정 요청 양식을 생성할 수 있습니다. 사용자 지정된 양식은 간단한 템플릿 입력 옵션보다 더 강력합니다.
우선 수행할 작업
- 템플릿을 지원하는 인프라가 있는지 확인합니다. 그렇지 않은 경우 먼저 자습서: Cloud Assembly에서 vSphere 인프라와 배포 설정 및 테스트 항목을 참조하고 다른 자습서를 계속 참조합니다.
- 일부 리소스 풀에
env:dev
및env:prod
태그를 지정했는지 확인합니다. 자세한 내용은 자습서: Cloud Assembly에서 태그를 사용하여 vSphere 리소스 관리 항목을 참조하십시오. - 배포 가능한 클라우드 템플릿(아래와 유사함)이 있는지 확인합니다. 이 자습서는 다음 템플릿으로 시작됩니다.
formatVersion: 1 inputs: installedOS: type: string title: Operating System description: Select the operating system. enum: - centos - ubuntu placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: '${input.installedOS}' installedOS: '${input.installedOS}' flavor: small constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing tags: - key: NGINX value: web
1단계: 클라우드 템플릿에 입력 추가
이 절차는 기존 OS 유형 입력 외에도 배치 입력을 업데이트하고 크기 입력을 추가합니다. Service Broker에서 요청 양식을 사용자 지정할 때 사용자 지정된 요청 양식의 세 필드입니다.
- Cloud Assembly에서 을 선택하고 위에 제공된 템플릿을 열거나 생성합니다.
샘플 템플릿은 다양한 옵션을 설명하는 데 사용되며 샘플 값을 포함합니다. 환경에 맞게 조정합니다.
- 크기 변수를 추가하고 입력 섹션에서 크기를 정의합니다.
- Cloud_vSphere_Machine_1 섹션에서
flavor
속성에 변수를 추가합니다.flavor: '${input.size}'
- 입력 섹션에서 사용자가 배포 크기를 선택할 수 있도록 사용자 입력 이름 크기를 추가합니다. 이것은 클라우드 영역에 대해 정의한 티셔츠 크기라고도 합니다.
size: type: string title: Deployment size description: Select the the deployment t-shirt size. enum: - small - medium - large
- Cloud_vSphere_Machine_1 섹션에서
- 태그 문자열이 아닌 설명하는 용어로 배치 입력을 업데이트합니다.
이러한 제약 조건 태그는 자습서: Cloud Assembly에서 태그를 사용하여 vSphere 리소스 관리에서 추가한 기능 태그와 일치합니다.
- 사용자가 배포 배치로 개발 또는 운영을 선택할 수 있도록 입력 섹션에서 배치라는 사용자 입력을 추가합니다.
이 예에서는
oneOf
특성을 사용합니다. 그러면 배포 프로세스에 필요한 문자열을 제출하면서 자연어 레이블을 제시할 수 있습니다. 예를 들어env:dev
및env:prod
태그가 있습니다.placement: type: string oneOf: - title: Development const: 'env:dev' - title: Production const: 'env:prod' default: 'env:dev' title: Select Deployment Placement description: Target Environment
- 사용자가 배포 배치로 개발 또는 운영을 선택할 수 있도록 입력 섹션에서 배치라는 사용자 입력을 추가합니다.
- 전체 YAML을 검토하여 다음 예와 유사한지 확인합니다.
formatVersion: 1 inputs: installedOS: type: string title: Operating system description: Select the operating system. enum: - centos - ubuntu placement: type: string oneOf: - title: Development const: 'env:dev' - title: Production const: 'env:prod' default: 'env:dev' title: Select Deployment Placement description: Target Environment size: type: string title: Deployment size description: Select the the deployment t-shirt size. enum: - small - medium - large resources: Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: '${input.installedOS}' installedOS: '${input.installedOS}' flavor: '${input.size}' constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing tags: - key: NGINX value: web
- 배포를 클릭하고 요청의 두 번째 페이지가 다음 예와 유사한지 확인한 다음 배포 후 선택한 프로덕션 리소스 풀 개발에 배포가 있는지 확인할 수 있습니다.
2단계: 클라우드 템플릿 버전 및 릴리스
배포 가능한 템플릿이 있으면 이제 다른 용도로 배포할 수 있도록 Service Broker 카탈로그에 제공할 수 있습니다. 카탈로그에 추가할 수 있도록 클라우드 템플릿 검색이 가능하게 만들려면 클라우드 템플릿을 릴리스해야 합니다. 이 절차에서는 버전을 지정하여 템플릿의 스냅샷을 캡처한 다음 템플릿을 릴리스합니다.
- 을 선택하고 설계 캔버스에서 템플릿을 엽니다.
- 버전을 클릭하고 설명을 입력합니다.
- 릴리스 확인란을 선택하고 생성을 클릭합니다.
클라우드 템플릿을 릴리스해도 Service Broker에 자동으로 추가되지 않습니다. 템플릿을 릴리스하면 템플릿을 검색하여 카탈로그에 추가할 수 있습니다.
3단계: Service Broker 카탈로그에 클라우드 템플릿 추가
Service Broker 카탈로그를 사용하면 템플릿을 생성하는 방법을 알 필요가 없는 조직의 다른 소비자에게 클라우드 템플릿을 제공할 수 있습니다. 이러한 소비자는 카탈로그를 통해 템플릿을 배포할 수 있습니다.
템플릿을 카탈로그 항목으로 추가하려면 먼저 템플릿을 Service Broker로 가져와야 합니다. 릴리스된 클라우드 템플릿만 가져올 수 있습니다.
- Cloud Assembly에서 Service Broker를 열려면 오른쪽 상단에 있는 애플리케이션 메뉴를 클릭합니다.
- Service Broker를 클릭합니다.
- 클라우드 템플릿을 가져옵니다.
- Service Broker에서 를 선택합니다.
- 새로 만들기를 클릭한 다음 VMware Cloud Templates를 선택합니다.
- 이름을 입력합니다.
이 자습서의 경우 Cloud Assembly DevProject를 입력합니다.
- 프로젝트의 경우 Cloud Assembly에서 직접 생성한 개발 프로젝트를 선택합니다.
- 검증을 클릭합니다.
하나 이상의 항목을 찾았다고 시스템에 표시되어야 합니다.
- 유효성이 검사되면 생성 및 가져오기를 클릭합니다.
Cloud Assembly DevProject가 목록에 컨텐츠 소스로 추가됩니다.
- 카탈로그에서 클라우드 템플릿을 사용할 수 있도록 합니다.
- 를 선택합니다.
- 새 정책을 클릭한 다음 컨텐츠 공유 정책을 클릭합니다.
- 이름을 입력합니다.
이 자습서의 경우 DevProject Policy를 입력합니다.
- 범위 목록에서 개발 프로젝트를 선택합니다.
- 컨텐츠 공유 섹션에서 항목 추가를 클릭합니다.
- 항목 공유 대화상자에서
Cloud Assembly DevProject
를 선택하고 저장을 클릭합니다. - 사용자 섹션에서 카탈로그에서 항목을 보려는 프로젝트 사용자 및 그룹을 선택합니다.
- 생성을 클릭합니다.
- 개발 템플릿이 카탈로그에 추가되었는지 확인하려면 카탈로그를 클릭합니다.
- Development Template 카드에서 요청을 클릭합니다.
클라우드 템플릿에서 본 입력이 여기에 제공된 것을 볼 수 있습니다. 다음 단계는 요청 양식을 사용자 지정하는 단계입니다.
4단계: 템플릿에 대한 사용자 지정 양식 생성
이 사용자 지정 양식의 목표는 env:dev 또는 env:prod 태그를 기반으로 사용자가 운영 체제 및 배치를 선택할 수 있는 양식을 제공하는 것입니다. env:dev 옵션을 사용하면 사용자가 소형 또는 중형을 선택할 수 있습니다. 대형은 선택할 수 없습니다. 하지만 사용자가 env:prod를 선택하면 대형을 선택하는 옵션이 없으며 크기는 사용자에게 숨겨지지만 요청에는 포함되어 있습니다.
- Service Broker에서 사용자 지정 양식을 생성하려면 를 선택합니다.
- Development Template 항목 왼쪽에 있는 세로 줄임표를 클릭하고 양식 사용자 지정을 클릭합니다.
- 입력 옵션을 사용자 지정합니다.
- 캔버스에서 캔버스의 필드를 클릭하고 다음 표에 지정된 대로 속성을 구성합니다.
캔버스 필드 이름 화면 표시 값 제약 조건 운영 체제 레이블 및 유형
- 레이블 = 운영 체제
값 옵션
- 값 옵션 = 상수
- 값 소스 =
centos|CentOS,ubuntu|Ubuntu
이 예에서는 값 옵션을 사용하여 모든 소문자 운영 체제 이름을 선호하는 OS 이름으로 사용자 지정합니다.
배포 배치 선택 값 옵션
- 값 옵션 = 상수
- 값 소스 =
env:dev|Development,env:prod|Production
배포 크기 가시성
- 값 소스 = 조건부 값
- 값 설정 = 배포 배치 선택이 env:dev와 같으면 예
기본값
- 값 소스 = 조건부 값
- 값 설정 = 배포 선택이 env:prod와 같으면 대형
값 옵션
- 값 옵션 = 상수
- 값 소스 =
small|Small,medium|Medium
값 소스에는 대형이 포함되어 있지 않습니다. 대형은 운영에만 사용할 수 있으며 필수 값이기 때문에 제외됩니다. 대형 값은 사용자 시작 작업 없이 배포 요청에 포함됩니다.
- 카탈로그에서 양식을 켜려면 사용을 클릭합니다.
- 저장을 클릭합니다.
- 캔버스에서 캔버스의 필드를 클릭하고 다음 표에 지정된 대로 속성을 구성합니다.
- 최소한 개발 소형 및 운영 요청을 제출하여 올바른 결과를 얻으려면 카탈로그에서 양식을 테스트합니다.
다음 예를 사용하여 결과를 확인할 수 있습니다.
- 이 예에서는 Test small이라는 이름을 제공하고 옵션으로 CentOS, 개발 및 소형을 선택하여 개발 소형 요청 양식을 테스트합니다.
- 개발 소형 배포를 확인하려면 를 선택하고 Test small 배포를 클릭합니다.
- [토폴로지] 탭에서 Cloud_vSphere_Machine을 클릭한 다음 오른쪽 창에서 [사용자 지정 속성] 섹션을 찾습니다.
검토할 값에는 cpuCount = 2 및 flavor = small이 포함됩니다.
- 이 예에서는 Test large라는 이름을 입력하고 옵션으로 CentOS 및 운영을 선택하여 운영 요청 양식을 테스트합니다.
앞에서, 사용자에게 크기를 표시하거나 요구하지 않도록 양식을 구성했습니다.
- 운영 배포를 확인하려면 를 선택하고 Test large 배포를 클릭합니다.
- [토폴로지] 탭에서 Cloud_vSphere_Machine을 클릭한 다음 오른쪽 창에서 [사용자 지정 속성] 섹션을 찾습니다.
검토할 값에 cpuCount = 8 및 flavor = large가 포함됩니다.
- 이 예에서는 Test small이라는 이름을 제공하고 옵션으로 CentOS, 개발 및 소형을 선택하여 개발 소형 요청 양식을 테스트합니다.
5단계: 카탈로그에서 클라우드 템플릿 버전 제어
대부분의 경우 Service Broker 카탈로그에서 최신 클라우드 템플릿만 사용할 수 있도록 설정합니다. 다음 절차는 반복적인 개발을 지원합니다. 즉 여기서는 템플릿 버전을 릴리스하고 카탈로그에 추가하지만, 이제 템플릿을 개선했으므로 현재 버전을 최신 버전으로 교체하려고 합니다.
2단계에서 템플릿의 버전을 지정하고 릴리스했기 때문에 프로세스를 잘 알고 있습니다. 3단계에서는 템플릿을 카탈로그에 추가했습니다. 이 절차는 반복적인 개발을 수행하고 카탈로그를 최신 버전으로 업데이트할 때 두 단계를 함께 진행합니다.
카탈로그에서 여러 버전을 사용할 수 있도록 설정할 수도 있습니다.
- Cloud Assembly에서, 카탈로그에서 사용할 수 있도록 설정하려는 템플릿의 버전을 지정합니다.
- 을 선택하고 설계 캔버스에서 템플릿을 엽니다.
- 버전 기록을 클릭합니다.
- 카탈로그에 추가할 버전을 찾은 다음 버전을 클릭합니다.
- 설명을 입력하고 릴리스 확인란을 선택한 후 생성을 클릭합니다.
이때 카탈로그에 이전 버전을 유지할 수 있습니다. 여러 버전을 사용하려는 경우 버전 릴리스를 취소하는 다음 단계를 무시합니다.
- 카탈로그에서 하나의 템플릿 버전만 사용하려면 버전 기록 목록을 검토하고 카탈로그에서 원하지 않는 모든 버전에 대해 릴리스 취소를 클릭합니다.
- Service Broker 카탈로그를 최신 버전으로 업데이트하고 이전 버전을 바꾸려면 새 버전을 수집해야 합니다.
- Service Broker에서 를 선택합니다.
- 이 자습서에서 사용되는 Cloud Assembly DevProject 컨텐츠 소스를 클릭합니다.
- 검증을 클릭합니다.
항목을 찾았다는 메시지가 표시됩니다.
- 저장 및 가져오기를 클릭합니다.
- 카탈로그에 필요한 버전이 표시되는지 또는 버전이 표시되지 않는지 확인합니다.
- Service Broker에서 카탈로그를 클릭합니다.
- 카탈로그 항목을 찾아서 요청을 클릭합니다.
- 요청 양식의 맨 위에서 버전을 클릭하고 버전을 확인합니다.
다음 스크린샷은 8을 표시합니다.