다음을 통해 공유


Node 및 Nodearray 개체

Node 및 nodearray 개체는 순위 2이며 cluster종속됩니다. 노드는 단일 Virtual Machine을 나타내는 반면 nodearray는 Virtual Machines 컬렉션 또는 하나 이상의 Virtual Machine 확장 집합을 나타낼 수 있습니다.

노드 기본값

[[node defaults]] 클러스터의 모든 노드 및 nodearray에 대한 기본 설정을 지정하는 특수 추상 노드입니다.

[cluster my-cluster]
  [[node defaults]]
  Credentials = $Credentials
  SubnetId = my-rg/my-vnet/my-subnet
  MachineType = Standard_D2s_v3

  [[nodearray grid]]
  ImageName = cycle.image.centos6
  MachineType = Standard_H16

$Credentials "Credentials"라는 매개 변수에 대한 참조입니다.

my-cluster grid nodearray 노드 defaults자격 증명 및 SubnetId를 상속하지만 특정 HPC VM 크기인 Standard_H16사용합니다.

본보기

이 예제 템플릿은 두 개의 노드와 nodearray가 있는 클러스터를 만듭니다. 프록시 노드는 IsReturnProxy 사용하여 클러스터가 시작될 때 CycleCloud에서 들어오는 역방향 채널 프록시의 엔드포인트인 ReturnProxy특수 역할을 정의합니다.

[cluster my-cluster]

  [[node defaults]]
    Credentials = $Credentials
    SubnetId = $SubnetId
    KeyPairLocation = ~/.ssh/cyclecloud.pem
    ImageName = cycle.image.centos7

  [[node proxy]]
    IsReturnProxy = true
    MachineType = Standard_B2

  [[node scheduler]]
    MachineType = Standard_D4s_v3

  [[nodearray execute]]
    MachineType = Standard_D16s_v3

필수 특성 참조

노드를 성공적으로 시작하는 데 필요한 특성은 최소 4개입니다.

속성 정의
MachineType 문자열 Azure VM 크기
SubnetId 문자열 ${rg}/${vnet}/${subnet} 형식의 서브넷 정의
자격 증명 문자열 클라우드 공급자 계정의 이름입니다.

네 번째 필수 특성은 이미지와 관련이 있습니다. 이미지 특성은 필수이지만 사용할 수 있는 여러 가지 양식이 있습니다. 이미지 특성을 참조하세요.

추가 특성

속성 정의
ComputerName 문자열 VM의 컴퓨터 이름입니다. 지정한 경우 시스템 생성 이름을 재정의합니다.
ComputerNamePrefix 문자열 시스템에서 생성된 컴퓨터 이름에 미리 보류된 접두사
구역 문자열(목록) VM 또는 VMSS에 대한 가용성 영역입니다. VMSS의 목록이 될 수 있습니다. 예: Zone = 1,3
KeyPairLocation 정수 여기서 CycleCloud는 로컬 파일 시스템에 SSH 키페어를 찾을 수 있습니다.
KeepAlive 부울 true이면 CycleCloud가 이 노드의 종료를 방지합니다.
사물함 문자열 프로젝트 사양을 다운로드할 사물함의 이름을 지정합니다. 프로젝트 사용 참조
속성 정의
ComputerName 문자열 VM의 컴퓨터 이름입니다. 지정한 경우 시스템 생성 이름을 재정의합니다.
ComputerNamePrefix 문자열 시스템에서 생성된 컴퓨터 이름에 미리 보류된 접두사
EphemeralOSDisk 부울 지원되는 경우 VM에 임시 부팅 디스크 사용
구역 문자열(목록) VM 또는 VMSS에 대한 가용성 영역입니다. VMSS의 목록이 될 수 있습니다. 예: Zone = 1,3
ProximityPlacementGroupId 문자열 이 노드를 넣을 근접 배치 그룹의 전체 ID입니다. /subscriptions/ 시작해야 합니다.
PlacementGroupId 문자열 설정된 경우 이 레이블은 PlacementGroupId에 일치하는 값을 가진 다른 모든 노드가 있는 단일 배치 그룹에 이 노드를 배치하는 데 사용됩니다. 이렇게 하면 대기 시간 통신이 짧아지고 이를 지원하는 VM 크기에서 InfiniBand를 사용하도록 설정해야 합니다. 이는 일반적으로 필요에 따라 스케줄러에 의해 설정되므로 수동으로 지정할 필요가 없습니다.
KeyPairLocation 정수 여기서 CycleCloud는 로컬 파일 시스템에 SSH 키페어를 찾을 수 있습니다.
KeepAlive 부울 true이면 CycleCloud가 이 노드의 종료를 방지합니다.
사물함 문자열 프로젝트 사양을 다운로드할 사물함의 이름을 지정합니다. 프로젝트 사용 참조
BootDiagnosticsUri 문자열 부팅 진단(예: https://mystorageaccount.blob.core.windows.net/)에 대한 스토리지 URI(지정된 경우)입니다. 스토리지 요금이 적용됩니다.
HybridBenefit 부울 true이면 Windows VM에 대해 "Azure 하이브리드 혜택" 라이선스를 사용하도록 설정합니다.
EnableTerminateNotification(8.2.0 이상) 부울 true이면 종료 알림 로컬 처리를 위해 VM 삭제에 대한 이벤트를 VM에 보낼 수 있습니다. 이는 확장 집합 VM에만 적용됩니다.
TerminateNotificationTimeout(8.2.2 이상) 상대 시간 종료 알림을 사용하도록 설정하면 삭제되기 전에 이벤트를 처리하기 위해 VM이 제공되는 기간을 제어합니다.
ThrottleCapacity(8.2.2 이상) 부울 true이면 이 nodearray는 용량 문제가 발생한 후 기본값인 5분 동안 자동 크기 조정자에 0개의 용량을 보고합니다.
ThrottleCapacityTime(8.2.2 이상) 상대 시간 ThrottleCapacity 사용하도록 설정된 경우 용량이 제한된 후 0 가용성을 보고하는 데 걸리는 기간입니다. 기본값은 "5m"입니다.
HybridBenefitLicense(8.3.0 이상) 문자열 HybridBenefit true이면 RHEL_BYOS, SLES_BYOS또는 Windows_Server사용할 라이선스를 지정합니다. 기본값은 Windows_Server.
FlexScaleSetId(8.3.0 이상) 문자열 설정된 경우 이 노드의 VM에 사용되는 Flex 오케스트레이션 모드 확장 집합의 정규화된 ID입니다.
EncryptionAtHost(8.4.0 이상) 부울 true이면 가상 머신은 호스트에서 암호화를 사용하도록 설정됩니다.
SecurityType(8.5.0 이상) 문자열 보안 유형설정합니다. undefined, TrustedLaunch 또는 ConfidentialVM
EnableSecureBoot(8.5.0 이상) 부울 신뢰할 수 있는 시작 VM 또는 기밀 VM을 사용하는 경우 보안 부팅사용하도록 설정합니다.
EnableVTPM(8.5.0 이상) 부울 신뢰할 수 있는 시작 VM 또는 기밀 VM을 사용하는 경우 가상 신뢰할 수 있는 플랫폼 모듈사용하도록 설정합니다.

메모

근접 배치 그룹은 일반적인 Azure 기능이며 노드에서 참조하려면 먼저 만들어야 합니다. 이렇게 하면 CycleCloud VM을 해당 근접 배치 그룹의 다른 Azure 리소스와 함께 배치할 수 있지만 InfiniBand 네트워킹을 사용하도록 설정하지는 않습니다. 반면, PlacementGroupId 노드의 VM을 동일한 네트워킹 스위치로 제한되지만 다른 Azure 리소스와 함께 배치되지 않을 수 있는 단일 확장 집합으로 그룹화하기 위해 사용되는 CycleCloud의 임의 문자열입니다. 둘 다 함께 사용할 수 있지만 할당할 수 있는 VM 수가 줄어들 수 있습니다.

이미지 특성

VM 이미지는 가상 머신을 시작하는 데 필요한 설정입니다. 이미지 정의에는 기본 CycleCloud 이미지 이름, Marketplace 이미지 정의 및 이미지 ID의 세 가지 유효한 형식이 있습니다.

ImageName

CycleCloud는 다양한 OS 버전에 사용할 수 있는 다양한 기본 Marketplace 이미지를 지원합니다. ImageName사용하여 지정할 수 있습니다.

속성 정의
ImageName 문자열 주기 지원 이미지 이름입니다. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14]

Marketplace 이미지

주기 관리 Marketplace 이미지와 함께 모든 마켓플레이스 이미지는 Publisher, Offer, SkuImageVersion지정하여 사용할 수 있습니다.

속성 정의
Azure.Publisher 문자열 VM Marketplace 이미지 게시자
Azure.Offer 문자열 VM Marketplace용 제품 이미지
Azure.Sku 문자열 VM Marketplace 이미지의 SKU
Azure.ImageVersion 문자열 Marketplace 이미지의 이미지 버전입니다.

메모

또한 Marketplace 이미지는 ImageName 특성에 지정할 수 있으며 Publisher:Offer:Sku:ImageVersion양식에서 URN로 인코딩됩니다.

사용자 지정 가격 책정 계획이 있는 이미지

가격 책정 계획이 연결된 공유 이미지 갤러리 이미지는 해당 정보가 공유 이미지 갤러리 이미지에 저장되지 않는 한 사용하려는 플랜에 대한 정보가 필요합니다. 게시자, 제품 및 계획 중첩 특성을 사용하여 ImagePlan 특성으로 지정됩니다.

메모

가격 책정 계획에서 사용자 지정 이미지를 사용하려면 CycleCloud 8.0.2 이상이 필요합니다.

ImageId

또는 자격 증명 구독에서 VM 이미지의 리소스 ID를 사용할 수도 있습니다.

속성 정의
ImageId 문자열 VM 이미지의 리소스 ID

이미지 특성

ImageIds에서 정의한 Marketplace 이미지 및 이미지는 CycleCloud OS 확장을 올바르게 구성하려면 몇 가지 추가 설정이 필요합니다.

속성 정의
DownloadJetpack 부울 false이면 CycleCloud는 스토리지 계정에서 Jetpack을 다운로드하지 않습니다. Jetpack이 이미 설치되어 있어야 합니다. 참고: Linux 노드만 지원됩니다. 기본값은 true입니다. 8.4.1에 추가되었습니다.
InstallJetpack 부울 false이면 CycleCloud는 새 VM에 Jetpack을 설치하지 않습니다. 기본값은 true입니다.
AwaitInstallation 부울 false이면 VM을 만들 때 Jetpack이 설치 세부 정보를 보고할 때까지 CycleCloud가 기다리지 않습니다. 기본값은 true입니다.
JetpackPlatform 문자열 사용할 Jetpack 설치 관리자 플랫폼: centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. 7.7.0에서는 사용되지 않습니다.

경고

InstallJetpack 또는 AwaitInstallation 설정하는 것은 권장되지 않습니다. 또한 DownloadJetpack 설정하려면 올바른 버전의 Jetpack 설치를 사용하는 사용자 지정 이미지가 필요하며 스토리지 계정에서 다운로드하는 데 문제가 발생하는 환경에만 권장됩니다.

메모

여러 이미지 정의가 단일 노드 정의에 포함된 경우 ImageId 기본적으로 사용됩니다.

대체 이미지 샘플

다음은 노드에 대한 세 가지 대체 이미지 구문을 사용하는 샘플 템플릿입니다.

[cluster image-example]
  [[node defaults]]
    Credentials = $Credentials
    MachineType = Standard_D2_v3
    SubnetId = my-rg/my-vnet/my-subnet

  [[node cycle-image]]
    ImageName = cycle.image.ubuntu16

  [[node my-custom-vm-image]]
    ImageId = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel7-1b1e3e93

    # Jetpack already installed on image
    DownloadJetpack = false

  [[node marketplace-vm-image]]
    Azure.Publisher = Canonical
    Azure.Offer = UbuntuServer
    Azure.Sku = 16.04-LTS
    Azure.ImageVersion = latest

  [[node custom-marketplace-vm-image]]
    ImageName = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel8-1b1e3e93
    ImagePlan.Name = rhel-lvm8
    ImagePlan.Publisher = redhat
    ImagePlan.Product = rhel-byos

고급 네트워킹 특성

속성 정의
IsReturnProxy 부울 이 노드에 대한 역방향 채널 프록시를 설정합니다. 클러스터당 하나의 노드만 이 설정을 true로 설정할 수 있습니다.
ReturnPath.Hostname 호스트 이름 노드가 CycleCloud에 도달할 수 있는 호스트 이름입니다.
ReturnPath.WebserverPort 정수 노드가 CycleCloud에 도달할 수 있는 웹 서버 포트입니다.
ReturnPath.BrokerPort 정수 노드가 CycleCloud에 도달할 수 있는 Broker입니다.

태그

CycleCloud는 VM 및 VMSS 태그 지정을 지원합니다.

속성 문자열 정의
태그 문자열 tags.my-tag = my-tag-value 사용하여 기본적으로 CycleCloud에서 할당한 태그 외에도 배포에 태그를 추가합니다.

일반/스폿 특성

CycleCloud는 다음 특성을 통해 스폿 VM의 사용을 지원합니다. 자세한 내용은 Spot Virtual Machines 참조하세요.

속성 문자열 정의
인터럽트 가능 부울 true이면 VM은 할인된 가격을 제공하는 스폿 VM이 됩니다.
MaxPrice 뜨다 VM에 지출할 최대 가격입니다. (기본값: -1)

Nodearray-Specific 특성

노드에 대한 모든 특성은 nodearray에 유효하지만 노드 배열은 탄력적 리소스이므로 추가 특성을 사용할 수 있습니다. Nodearray는 Azure VMSS(VirtualMachine ScaleSets)의 드라이버이며 많은 지원 VMSS를 가질 수 있습니다.

속성 문자열 정의
Azure.AllocationMethod 문자열 단일 VM을 관리하거나 VMSS를 사용하도록 정의되지 않은 상태로 두려면 이 설정을 StandAlone 설정합니다.
Azure.SingleScaleset 부울 모든 노드에 단일 VMSS를 사용합니다(기본값: false).
Azure.SinglePlacementGroup 부울 VMSS에 단일 배치 그룹 설정을 사용합니다. (기본값: false)
Azure.Overprovision 부울 VMSS의 오버프로비전 기능을 사용합니다. Cyclecloud는 시나리오에 따라 동적으로 설정됩니다. 이는 재정의입니다.
Azure.MaxScaleSetSize 정수 단일 VMSS의 VM 수를 제한합니다. 이 최대값에 도달하면 CycleCloud는 클러스터에 VMSS를 추가합니다. (기본값: '40')
InitialCount 정수 클러스터가 시작될 때 시작할 노드 수입니다.
MaxCount 정수 클러스터가 10개 노드를 초과하지 않도록 하려면 값 10을 지정합니다. MaxCount 및 MaxCoreCount를 함께 사용할 수 있습니다. 이 경우 낮은 유효 제약 조건이 적용됩니다.
InitialCoreCount 정수 클러스터가 시작될 때 시작할 코어 수입니다.
MaxCoreCount 정수 클러스터가 100코어를 초과하지 않도록 하려면 값 100을 지정합니다. MaxCount 및 MaxCoreCount를 함께 사용할 수 있습니다. 이 경우 낮은 유효 제약 조건이 적용됩니다.
ShutdownPolicy 문자열 노드가 종료되면 VM으로 수행할 작업을 나타냅니다. '종료'하면 노드가 종료될 때 VM이 삭제됩니다. '할당 취소'이면 노드가 대신 중지됩니다. (기본값: 종료)
속성 문자열 정의
Azure.AllocationMethod 문자열 단일 VM을 관리하거나 VMSS를 사용하도록 정의되지 않은 상태로 두려면 이 설정을 StandAlone 설정합니다.
Azure.SingleScaleset 부울 모든 노드에 단일 VMSS를 사용합니다(기본값: false).
Azure.SinglePlacementGroup 부울 VMSS에 단일 배치 그룹 설정을 사용합니다. (기본값: false)
Azure.Overprovision 부울 VMSS의 오버프로비전 기능을 사용합니다. Cyclecloud는 시나리오에 따라 동적으로 설정됩니다. 이는 재정의입니다.
Azure.MaxScaleSetSize 정수 단일 VMSS의 VM 수를 제한합니다. 이 최대값에 도달하면 CycleCloud는 클러스터에 VMSS를 추가합니다. (기본값: '40')
InitialCount 정수 클러스터가 시작될 때 시작할 노드 수입니다.
MaxCount 정수 클러스터가 10개 노드를 초과하지 않도록 하려면 값 10을 지정합니다. MaxCount 및 MaxCoreCount를 함께 사용할 수 있습니다. 이 경우 낮은 유효 제약 조건이 적용됩니다.
InitialCoreCount 정수 클러스터가 시작될 때 시작할 코어 수입니다.
MaxCoreCount 정수 클러스터가 100코어를 초과하지 않도록 하려면 값 100을 지정합니다. MaxCount 및 MaxCoreCount를 함께 사용할 수 있습니다. 이 경우 낮은 유효 제약 조건이 적용됩니다.
ShutdownPolicy 문자열 노드가 종료되면 VM으로 수행할 작업을 나타냅니다. '종료'하면 노드가 종료될 때 VM이 삭제됩니다. '할당 취소'이면 노드가 대신 중지됩니다. (기본값: 종료)
ThrottleCapacity 부울 Insufficient Capacity 신호를 수신할 때 Azure에 대한 요청을 일시 중단할지 여부입니다. (기본값: false)
ThrottleCapacityTime 상대 시간 Azure에서 Insufficient Capacity 신호를 받은 후의 백오프 시간입니다. 이 시간 동안 AvailableCount 0으로 보고됩니다. (기본값: '5m')

메모

모든 VMSS가 할당됩니다FaultDomainCount = 1

상속

밀접하게 관련된 노드 및 nodearray는 동일한 클러스터 템플릿의 다른 노드에서 파생될 수 있습니다. 이러한 상속된 정의는 공통 특성을 공유하여 필요한 선언을 최소화합니다. 일반적으로 사용되는 [[node defaults]] 섹션은 클러스터의 모든 노드 및 nodearray에 적용되는 특별한 추상 정의입니다.

속성 문자열 정의
추상적인 부울 true이면 클러스터에 노드 또는 nodearray를 만들지 마세요. 추상은 상속에 사용할 수 있습니다. (기본값: false)
확장 문자열(목록) 상속된 노드/nodearray 이름의 순서가 지정된 목록입니다. 값이 충돌하면 목록의 뒷부분에 있는 항목이 우선적으로 적용됩니다. 'defaults' 노드는 항상 효과적으로 목록의 첫 번째 노드가 됩니다. (기본값: [])

하위 개체

node/nodearray 개체에는 볼륨, 네트워크 인터페이스, cluster-init, 입력 엔드포인트구성 하위 개체로 포함됩니다.