태그는 리소스와 연결하고 템플릿에 포함할 수 있는 강력한 메타데이터입니다. 워크로드 배치 및 리소스 레이블 지정을 비롯한 다양한 관리 시나리오에서 태그를 사용할 수 있습니다.
태그에 대한 간단한 소개
이 섹션은 제공된 단계에 적용되는 태그에 대한 간단한 소개입니다. 태그에 대한 자세한 내용은 태그를 사용하여 Cloud Assembly 리소스 및 배포를 관리하는 방법에서 참조하십시오.
- 기능 및 제약 조건 태그
태그를 사용하면 리소스 기능을 기반으로 배포를 제어할 수 있습니다. 예를 들어 클라우드 관리자는 반복적으로 개발된 클라우드 템플릿을 개발 관련 리소스 풀에 배포하고 운영에 적합한 템플릿은 다른 리소스 풀에 배포하려고 합니다.
- 기능 태그는 리소스에 추가되어 리소스의 기능을 정의합니다.
- 제약 조건 태그는 클라우드 템플릿에서 사용되며, 배포된 리소스에서 사용할 리소스를 정의합니다.
- 태그에 레이블 지정
리소스를 관리하기 위해 태그를 개체 레이블 또는 설명으로 추가할 수 있습니다. 관리 가능성에는 리소스 검색 결과 개선, 유사한 개체 간의 차별화, 사용자 지정 정보로 개체에 주석 달기, 타사 시스템에 정보 제공, 보안 그룹화 멤버 자격 조건 생성, 연결된 SDDC 도메인 간의 일관성 보장 등이 있습니다.
시작하기 전에
- 자습서: Cloud Assembly에서 vSphere 인프라와 배포 설정 및 테스트에서 정의된 리소스 및 클라우드 템플릿을 검토합니다. 이 자습서에 사용된 샘플 값이 여기에서 사용됩니다.
태그를 사용하여 워크로드 배치 관리
여기 간단한 예제에서는 개발 및 운영 환경 태그를 사용하여 기능 및 제약 조건 태그를 사용하는 방법을 보여줍니다. 먼저 vCenter Server 리소스 풀 계산 리소스에 대한 기능 태그를 추가한 다음 클라우드 템플릿에 이 태그를 포함합니다. 클라우드 템플릿 예제에서는 입력을 사용하여 배포하는 사용자가 개발과 운영 리소스 풀 중 어디에 배포할지를 선택할 수 있도록 하는 방법을 보여줍니다.
동일한 태그를 사용하여 다중 클라우드 환경에서 배치를 정의하는 방법에 대한 예는 자습서: Cloud Assembly에서 다중 클라우드 인프라와 배포 설정 및 테스트에서 참조하십시오.
- 리소스 풀에 기능 태그를 추가합니다.
- 을 선택합니다.
- 클라우드 영역을 열고 계산을 클릭합니다.
- 개발 워크로드를 배포할 리소스 풀을 찾아서 클릭합니다.
이 자습서에서는 다음 샘플 값을 사용합니다. 이러한 값은 예시일 뿐입니다. 실제 값은 사용자의 환경에 따라 다릅니다.
샘플 리소스 풀 샘플 태그 wid01-clu01 / Development env:dev
wid01-clu01 / Production env:prod
- env.dev 태그를 추가하고 저장을 클릭합니다.
- 운영 워크로드를 배포할 리소스 풀에 대해 이 프로세스를 반복하고 env:prod 태그를 추가합니다.
- 클라우드 영역의 리소스 풀에 기능 태그가 추가되어 있는지 확인합니다.
- 을 선택합니다.
- 프로젝트와 연결된 클라우드 영역을 열고 계산을 클릭합니다.
이 예에서 클라우드 영역은 vCenter 계정 클라우드 영역이고 태그는 리소스 풀 2개(wid01-clu01 / Development 및 wid01-clu01 / Production)에 추가되었습니다.
- 클라우드 템플릿에 제약 조건 태그를 추가합니다.
제약 조건 태그는 템플릿이 배포되는 위치를 제한하는 데 사용됩니다.
이 자습서에서 템플릿 이름은 Development Template입니다.
을 선택한 다음 템플릿을 엽니다. - 코드 창에서 템플릿에 대한 YAML을 검토합니다.
이 YAML이 자습서의 시작점입니다.
formatVersion: 1 inputs: {} resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: medium networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing
${input.placement}
를 변수로 사용하여 제약 조건 태그를 Cloud_vSphere_Machine_1 리소스에 추가합니다.resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: medium constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}'
- 입력 섹션에서 배치 변수를 정의합니다.
inputs: placement: type: string enum: - env:dev - env:prod default: env:dev title: Select Placement for Deployment description: Target Environment
- 최종 YAML이 다음 예와 유사한지 확인합니다.
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing
- 사용 가능한 리소스에 대해 태그 변수를 사용해보려면 테스트를 클릭한 다음 env:dev를 선택합니다.
env:prod를 사용하여 테스트를 반복합니다. 두 테스트가 모두 성공하면 템플릿을 배포하여 작동하는지 확인합니다.
- 템플릿을 배포하여 워크로드 배치를 테스트합니다.
- 클라우드 템플릿 디자이너에서 배포를 클릭합니다.
- Deployment Tag Dev를 배포 이름으로 입력하고 다음을 클릭합니다.
- 배포용 배치 선택 드롭다운 메뉴에서 env:dev를 선택하고 배포를 클릭합니다.
- 템플릿이 선택한 리소스 풀에 리소스를 배포했는지 확인합니다.
- 를 선택하고 Deployment Tag Dev 배포를 찾습니다.
- 배포 세부 정보를 열고 토폴로지를 클릭합니다.
- vSphere 시스템을 클릭하고 오른쪽 창에서 시스템 정보를 확장합니다.
- 일반 섹션에서 계산 호스트를 찾아서 env:dev 태그와 일치하는 리소스 풀과 값이 일치하는지 확인합니다.
이 예에서는 값이
wid01-clu01 / Development
이며 선택한 제약 조건 태그를 기반으로 올바른 리소스 풀에 워크로드가 배포된 것을 보여줍니다. - 배포 프로세스를 반복하고, 이번에는 env:prod를 선택합니다.
vCenter Server 및 NSX-T에서 사용할 수 있는 레이블로 태그 추가
배포에 태그를 추가하여 리소스를 관리하는 데 사용할 수 있습니다.
이 예에서는 MySQL 시스템 및 네트워크를 식별하는 태그를 추가합니다. 또한 웹 네트워크를 식별하는 태그를 추가합니다. 주문형 네트워크 대비 기존 네트워크에서 태그가 작동하는 방식 때문에 두 가지 중 선택할 수 있습니다.
- 이전 섹션에서 사용한 기존 네트워크 프로파일을 사용하는 경우 NGINX:web 태그가 NSX-T의 기존 개체에 추가되지 않습니다. 따라서 NSX-T에서는 이 태그와 관련된 확인 단계를 무시할 수 있습니다.
- 주문형 네트워크 프로파일을 생성하는 경우 라우팅된/주문형 네트워크를 사용하도록 YAML에서 네트워크를 업데이트할 수 있습니다. 이 예제에서는 NSX-T의 새 개체에서 NGINX:web 태그를 시연할 수 있도록 주문형 네트워크가 사용됩니다.
다음 YAML은 이전 예제에서 가져왔으며, 라우팅된 주문형 networkType을 사용하는 것만 다릅니다. 여기에는 제약 조건 태그가 포함됩니다.
이 자습서에서는 다음 샘플 값을 사용합니다. 이러한 값은 예시일 뿐입니다. 실제 값은 사용자의 환경에 따라 다릅니다.
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: routed constraints: - tag: 'net:od'
- 을 선택한 다음 템플릿을 엽니다.
- Cloud_vSphere_Machine_ 속성에서 다음 태그를 추가합니다.
tags: - key: db value: mysql
- VM NIC 태그를 추가합니다.
tags: - key: db value: mysql
- NSX 논리적 스위치/세그먼트 태그를 추가합니다.
tags: - key: NGINX value: web
- YAML이 다음 예와 유사한지 확인합니다.
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos 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_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: routed constraints: - tag: 'net:od' tags: - key: NGINX value: web
- 템플릿 배포
이 예에서는 Development template w tags라는 이름을 사용합니다.
- 배포의 태그를 확인하려면 배포를 열고 토폴로지를 클릭합니다.
- 토폴로지에서 시스템을 클릭합니다.
- 시스템의 일반 섹션을 확장하고 태그 레이블을 찾습니다.
태그 값은
db:mysql
입니다. - 네트워크 섹션을 확장하고 네트워크 태그 열을 찾습니다.
태그 값은
db:mysql
입니다. - 토폴로지에서 네트워크를 클릭하고 일반 섹션을 확장하여 태그 레이블을 찾습니다.
태그 값은
NGINX:web
입니다.
- vCenter Server에서 태그를 확인하려면 이 워크로드가 배포된 vCenter Server 인스턴스에 로그인합니다.
- 가상 시스템을 찾아서 태그 창을 찾습니다.
- 가상 시스템을 찾아서 태그 창을 찾습니다.
- NSX-T의 태그를 확인하려면 이 네트워크가 구성된 NSX-T 인스턴스에 로그인합니다.
네트워크 태그 및 시스템 태그가 NSX-T에 추가됩니다.
- 오른쪽 상단에서 정책을 클릭합니다.
- NIC와 연결된
db:mysql
태그를 찾으려면 mysql을 검색합니다. - 논리적 포트를 클릭하고 배포된 vSphere 시스템을 찾습니다.
- [태그] 열에서 숫자를 클릭합니다.
범위 및 태그는 각각
db
및mysql
입니다. - 세그먼트와 연결된
NGINX:web
태그를 찾으려면 네트워크를 검색합니다.이 예시에서 네트워크 이름은 Cloud_NSX_Network_1-mcm1292-163799928607입니다.
- 세그먼트 행을 찾고 태그 열에서 숫자를 클릭합니다.
범위 및 태그는 각각
NGINX
및web
입니다.