Compartilhar via


Objetos Node e Nodearray

Os objetos node e nodearray são rank 2 e subordinados a cluster. Um nó representa uma única Máquina Virtual, enquanto uma nodearray pode representar uma coleção de Máquinas Virtuais ou pelo menos um conjunto de dimensionamento de Máquinas Virtuais.

Padrões de nó

O [[node defaults]] é um nó abstrato especial que especifica a configuração padrão para todos os nós e nodearrays em um cluster:

[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

O $Credentials é uma referência a um parâmetro chamado "Credenciais".

No my-cluster, a grid nodearray herda a Credencial e a SubnetId do nó defaults, mas usa um tamanho de VM HPC específico de Standard_H16.

Exemplo

Este modelo de exemplo cria um cluster com dois nós e uma nodearray. O nó proxy usa o IsReturnProxy para definir a função especial de , que será o ponto de ReturnProxyextremidade para um proxy de canal reverso proveniente do CycleCloud quando o cluster for iniciado.

[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

Referência de atributo necessária

Há um mínimo de quatro atributos necessários para iniciar com êxito um nó:

Atributo Type Definição
MachineType Cadeia de caracteres O tamanho da VM do Azure
SubnetId Cadeia de caracteres Definição de sub-rede no formulário ${rg}/${vnet}/${subnet}
Credencial Cadeia de caracteres Nome da conta do Provedor de Nuvem.

O quarto atributo necessário está relacionado a uma imagem. Um atributo de imagem é necessário, mas há várias formas que ele pode usar – consulte Atributos de imagem.

Atributos adicionais

Atributo Type Definição
ComputerName String Nome do computador para VM. Se especificado, substitui o nome gerado pelo sistema.
ComputerNamePrefix Cadeia de caracteres Prefixo prefixo pendente para nomes de computador gerados pelo sistema
Zona Cadeia de caracteres (lista) Zona de Disponibilidade para VM ou VMSS. Pode ser uma lista para VMSS. Por exemplo, Zone = 1,3
KeyPairLocation Integer Onde o CycleCloud encontrará um keypair SSH no sistema de arquivos local
KeepAlive Booliano Se for true, o CycleCloud impedirá o encerramento desse nó
Armário Cadeia de caracteres Especifique o nome do cofre do qual baixar as especificações do projeto. Consulte Usar projetos
Atributo Type Definição
ComputerName String Nome do computador para VM. Se especificado, substitui o nome gerado pelo sistema.
ComputerNamePrefix Cadeia de caracteres Prefixo prefixo pendente para nomes de computador gerados pelo sistema
EfêmeroOSDisk Booliano Usar disco de inicialização efêmero para VM, se houver suporte
Zona Cadeia de caracteres (lista) Zona de Disponibilidade para VM ou VMSS. Pode ser uma lista para VMSS. Por exemplo, Zone = 1,3
ProximityPlacementGroupId Cadeia de caracteres A ID completa do Grupo de Posicionamento por Proximidade para colocar esse nó. Deve começar com /subscriptions/
PlacementGroupId Cadeia de caracteres Se definido, esse rótulo será usado para colocar esse nó em um único grupo de posicionamento com todos os outros nós que tenham um valor correspondente para PlacementGroupId. Isso oferece menor comunicação de latência e é necessário para habilitar o InfiniBand em tamanhos de VM que dão suporte a ela. Isso geralmente é definido pelo agendador conforme necessário para que ele não precise ser especificado manualmente.
KeyPairLocation Integer Onde o CycleCloud encontrará um keypair SSH no sistema de arquivos local
KeepAlive Booliano Se for true, o CycleCloud impedirá o encerramento desse nó
Armário Cadeia de caracteres Especifique o nome do cofre do qual baixar as especificações do projeto. Consulte Usar projetos
BootDiagnosticsUri Cadeia de caracteres URI de armazenamento para diagnóstico de inicialização (exemplo: https://mystorageaccount.blob.core.windows.net), se especificado. Os encargos de armazenamento serão aplicados.
HybridBenefit Booliano Se true, habilita o licenciamento "Benefício Híbrido do Azure" para VMs do Windows
EnableTerminateNotification (8.2.0+) Booliano Se true, habilita a Notificação de Término para enviar eventos na exclusão de VM para a VM para manipulação local. Isso só se aplica a VMs de conjunto de dimensionamento.
TerminateNotificationTimeout (8.2.2+) Tempo relativo Se a notificação de término estiver habilitada, isso controlará por quanto tempo as VMs serão fornecidas para manipular o evento antes de serem excluídas.
ThrottleCapacity (8.2.2+) Booliano Se for true, essa nodearray relatará 0 capacidade para dimensionadores automáticos por um padrão de 5 minutos após encontrar um problema de capacidade
ThrottleCapacityTime (8.2.2+) Tempo relativo Se ThrottleCapacity estiver habilitado, será por quanto tempo relatar a disponibilidade 0 depois que a capacidade for restrita. O padrão é "5m".
HybridBenefitLicense (8.3.0+) Cadeia de caracteres Se HybridBenefit for true, isso especificará a licença a ser usada: RHEL_BYOS, SLES_BYOSou Windows_Server. O padrão é Windows_Server.
FlexScaleSetId (8.3.0+) Cadeia de caracteres Se definido, essa é a ID totalmente qualificada de um conjunto de dimensionamento no modo de orquestração Flex que é usado para a VM para esse nó.
EncryptionAtHost (8.4.0+) Booliano Se for true, a máquina virtual terá a Criptografia no Host habilitada.
SecurityType (8.5.0+) Cadeia de caracteres Define o tipo de segurança; indefinido TrustedLaunch ou ConfidentialVM
EnableSecureBoot (8.5.0+) Booliano Habilita a Inicialização Segura, se estiver usando VMs de Início Confiável ou VMs Confidenciais.
EnableVTPM (8.5.0+) Booliano Habilita o Módulo de Plataforma Confiável Virtual, se estiver usando VMs de Início Confiável ou VMs Confidenciais.

Observação

Um Grupo de Posicionamento por Proximidade é um recurso geral do Azure e deve ser criado antes que ele possa ser referenciado em um nó. Isso permite que as VMs do CycleCloud sejam colocadas com outros recursos do Azure nesse grupo de posicionamento por proximidade, mas não habilita a rede InfiniBand. Por outro lado, PlacementGroupId é uma cadeia de caracteres arbitrária no CycleCloud usada para agrupar VMs para nós em um único conjunto de dimensionamento que é restrito a estar sob o mesmo comutador de rede, mas pode não ser colocado com outros recursos do Azure. Ambos podem ser usados juntos, mas isso pode reduzir o número de VMs que podem ser alocadas.

Atributos de imagem

A imagem da VM é uma configuração necessária para iniciar uma máquina virtual. Há três formas válidas de definição de imagem: nomes de imagem padrão do CycleCloud, definições de imagem do Marketplace e IDs de imagem.

ImageName

O CycleCloud dá suporte a várias imagens padrão do Marketplace que estão disponíveis para diferentes tipos de sistema operacional. Eles podem ser especificados com um ImageName.

Atributo Type Definição
ImageName Cadeia de caracteres Nome da imagem com suporte para ciclo. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14]

Imagens do Marketplace

Juntamente com as Imagens do Marketplace gerenciadas por ciclo, qualquer imagem do marketplace pode ser usada especificando , PublisherOfferSku e .ImageVersion

Atributo Type Definição
Azure.Publisher Cadeia de caracteres Editor de imagem do Marketplace da VM
Azure.Offer Cadeia de caracteres Oferta para imagem do Marketplace da VM
Azure.Sku Cadeia de caracteres SKU da imagem do Marketplace da VM
Azure.ImageVersion Cadeia de caracteres Versão da imagem da imagem do Marketplace.

Observação

Uma imagem do Marketplace também pode ser especificada no ImageName atributo , codificado como um URN no formato Publisher:Offer:Sku:ImageVersion.

Imagens com plano de preços personalizado

Galeria de Imagens Compartilhadas imagens que têm um plano de preços anexado exigem informações sobre o plano a ser usado, a menos que essas informações sejam armazenadas na imagem Galeria de Imagens Compartilhadas. Isso é especificado com o ImagePlan atributo usando os atributos aninhados Publisher, Product e Plan.

Observação

O uso de imagens personalizadas com um plano de preços requer o CycleCloud 8.0.2 ou posterior.

ImageId

Como alternativa, a ID de recurso de uma imagem de VM na assinatura da Credencial também pode ser usada:

Atributo Type Definição
ImageId Cadeia de caracteres ID do recurso da imagem da VM

Atributos de imagem

Imagens e imagens do Marketplace definidas por ImageIds precisam de algumas configurações adicionais para configurar corretamente a extensão do sistema operacional CycleCloud:

Atributo Type Definição
DownloadJetpack Booliano Se for false, o CycleCloud não baixará o Jetpack da conta de armazenamento. O Jetpack já deve estar instalado. Observação: há suporte apenas para nós do Linux. O padrão é verdadeiro. Adicionado na versão 8.4.1.
InstallJetpack Booliano Se for false, o CycleCloud não instalará o Jetpack em novas VMs. O padrão é verdadeiro.
AwaitInstallation Booliano Se for false, o CycleCloud não aguardará que o Jetpack relate os detalhes da instalação quando a VM for criada. O padrão é verdadeiro.
JetpackPlatform Cadeia de caracteres Plataforma do instalador jetpack para usar: centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. Preterido na versão 7.7.0.

Aviso

A configuração InstallJetpack ou AwaitInstallation não é recomendada. Além disso, a configuração DownloadJetpack requer uma imagem personalizada com a versão correta da instalação do Jetpack e só é recomendada para ambientes que estão enfrentando problemas de download de contas de armazenamento.

Observação

ImageId será usado por padrão se várias definições de imagem forem incluídas em uma única definição de nó.

Exemplo de imagem alternativa

Aqui está um modelo de exemplo usando os três constructos de imagem alternativos para os nós:

[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

Atributos de rede avançados

Atributo Type Definição
IsReturnProxy Booliano Estabeleça o proxy de canal reverso para este nó. Somente um nó por cluster pode ter essa configuração como true.
ReturnPath.Hostname Nome do host Nome do host em que o nó pode acessar o CycleCloud.
ReturnPath.WebserverPort Integer Porta webserver em que o nó pode acessar o CycleCloud.
ReturnPath.BrokerPort Integer Agente em que o nó pode acessar o CycleCloud.

Marcações

O CycleCloud dá suporte à marcação de VMs e VMSS.

Atributo Cadeia de caracteres Definição
Marcas String Use tags.my-tag = my-tag-value para adicionar marcas à implantação, além das marcas atribuídas pelo CycleCloud por padrão.

Atributos regulares/spot

O CycleCloud dá suporte ao uso de VMs Spot por meio dos atributos a seguir. Consulte Spot Máquinas Virtuais para obter mais detalhes.

Atributo Cadeia de caracteres Definição
Interruptível Booliano Se for true, a VM será uma VM Spot para fornecer preços reduzidos.
MaxPrice Float O preço máximo a ser gasto na VM. (Padrão: -1)

Atributos Nodearray-Specific

Todos os atributos de um nó são válidos para uma nodearray, mas uma matriz de nós é um recurso elástico para que atributos adicionais estejam disponíveis. Nodearray é um driver para VMSS (VirtualMachine ScaleSets) do Azure e pode ter muitos VMSSs de suporte.

Atributo Cadeia de caracteres Definição
Azure.AllocationMethod Cadeia de caracteres Defina isso como StandAlone para gerenciar VMs individuais ou deixar indefinido para usar o VMSS.
Azure.SingleScaleset Booliano Use um único VMSS para todos os nós (Padrão: false).
Azure.SinglePlacementGroup Booliano Use a configuração de grupo de posicionamento único para o VMSS. (Padrão: false)
Azure.Overprovision Booliano Use o recurso Desprovisionamento excessivo do VMSS. O Cyclecloud será definido dinamicamente dependendo do cenário. Essa é uma substituição.
Azure.MaxScaleSetSize Integer Limite o número de VMs em uma única VMSS. Depois que esse máximo for atingido, o CycleCloud adicionará VMSS adicional ao cluster. (Padrão: '40')
Initialcount Integer Número de nós a serem iniciados quando o cluster for iniciado.
MaxCount Integer Para garantir que o cluster nunca exceda 10 nós, você especificaria um valor de 10. Observe que MaxCount e MaxCoreCount podem ser usados juntos; nesse caso, a restrição efetiva mais baixa entrará em vigor.
InitialCoreCount Integer Número de núcleos a serem iniciados quando o cluster é iniciado.
MaxCoreCount Integer Para garantir que o cluster nunca exceda 100 núcleos, você especificaria um valor de 100. Observe que MaxCount e MaxCoreCount podem ser usados juntos; nesse caso, a restrição efetiva mais baixa entrará em vigor.
ShutdownPolicy Cadeia de caracteres Indica o que fazer com a VM quando um nó é desligado. Se 'encerrar' a VM for excluída quando o nó for desligado. Se 'desalocar', o nó será interrompido. (Padrão: encerrar)
Atributo Cadeia de caracteres Definição
Azure.AllocationMethod Cadeia de caracteres Defina isso como StandAlone para gerenciar VMs individuais ou deixar indefinido para usar o VMSS.
Azure.SingleScaleset Booliano Use um único VMSS para todos os nós (Padrão: false).
Azure.SinglePlacementGroup Booliano Use a configuração de grupo de posicionamento único para o VMSS. (Padrão: false)
Azure.Overprovision Booliano Use o recurso Desprovisionamento excessivo do VMSS. O Cyclecloud será definido dinamicamente dependendo do cenário. Essa é uma substituição.
Azure.MaxScaleSetSize Integer Limite o número de VMs em uma única VMSS. Depois que esse máximo for atingido, o CycleCloud adicionará VMSS adicional ao cluster. (Padrão: '40')
Initialcount Integer Número de nós a serem iniciados quando o cluster for iniciado.
MaxCount Integer Para garantir que o cluster nunca exceda 10 nós, você especificaria um valor de 10. Observe que MaxCount e MaxCoreCount podem ser usados juntos; nesse caso, a restrição efetiva mais baixa entrará em vigor.
InitialCoreCount Integer Número de núcleos a serem iniciados quando o cluster é iniciado.
MaxCoreCount Integer Para garantir que o cluster nunca exceda 100 núcleos, você especificaria um valor de 100. Observe que MaxCount e MaxCoreCount podem ser usados juntos; nesse caso, a restrição efetiva mais baixa entrará em vigor.
ShutdownPolicy Cadeia de caracteres Indica o que fazer com a VM quando um nó é desligado. Se 'encerrar' a VM for excluída quando o nó for desligado. Se 'desalocar', o nó será interrompido. (Padrão: encerrar)
ThrottleCapacity Booliano Se as solicitações para o Azure devem ser suspensas ao receber Insufficient Capacity sinal. (Padrão: false)
ThrottleCapacityTime Tempo relativo Tempo de retirada após receber Insufficient Capacity o sinal do Azure. AvailableCount será relatado como zero durante esse período. (Padrão: '5m')

Observação

Todas as VMSSs serão atribuídas FaultDomainCount = 1

Herança

Nós e nodearrays que estão intimamente relacionados podem ser derivados de outros nós no mesmo modelo de cluster. Essas definições herdadas minimizam as declarações necessárias ao compartilhar atributos comuns. Comumente usada é a [[node defaults]] seção , que é uma definição abstrata especial que se aplica a todos os nós e nodearrays no cluster.

Atributo Cadeia de caracteres Definição
Resumo Booliano Se for true, não crie um nó ou uma nodearray no cluster. O abstrato pode ser usado para herança. (Padrão: false)
Extends Cadeia de caracteres (lista) Lista ordenada de nomes de nó/nodearray herdados. Os itens posteriormente na lista têm precedência quando os valores entram em conflito. O nó 'defaults' sempre será efetivamente o primeiro na lista. (Padrão: [])

Objetos subordinados

Os objetos node/nodearray têm volume, adaptador de rede, cluster-init, ponto de extremidade de entrada e configuração como objetos subordinados.