Compartilhar via


Objetos Node e Nodearray

Objetos node e nodearray são objetos de classificação 2 subordinados a cluster. Um nó representa uma única máquina virtual, enquanto um 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.ubuntu22
  MachineType = Standard_H16

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

In my-cluster, o nodearray gridherda os valores Credential e SubnetId do nó node 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 matriz de nós. O nó proxy usa a propriedade IsReturnProxy para definir a função especial de ReturnProxy. Esse nó atua como o ponto de extremidade de um proxy de canal reverso que vem do CycleCloud quando o cluster é iniciado.

[cluster my-cluster]

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

  [[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

Você precisa de pelo menos quatro atributos necessários para iniciar um nó com sucesso:

Atributo Tipo Definição
TipoDeMáquina fio O tamanho da VM do Azure
SubnetId fio Definição de sub-rede no formato ${rg}/${vnet}/${subnet}. Observe que esse valor não é a ID de recurso completa.
Credenciais fio Nome da conta do Provedor de Nuvem.

O quarto atributo necessário está relacionado a uma imagem. Você deve fornecer um atributo de imagem, mas pode escolher entre vários formulários. Para obter mais informações, consulte Atributos de Imagem.

Atributos adicionais

Atributo Tipo Definição
Nome do Computador fio Nome do computador para a VM. Se você especificar esse atributo, ele substituirá o nome gerado pelo sistema.
ComputerNamePrefix fio Prefixo adicionado aos nomes de computador gerados pelo sistema.
Zona Cadeia de caracteres (lista) Zona de disponibilidade para a VM ou conjuntos de dimensionamento de máquinas virtuais. Pode ser uma lista para o Conjunto de Dimensionamento de Máquinas Virtuais. Por exemplo, Zone = 1,3.
KeyPairLocation Número Inteiro Local em que o CycleCloud encontra um keypair SSH no sistema de arquivos local.
KeepAlive booleano Se for verdadeiro, o CycleCloud impedirá o encerramento desse nó.
Armário fio Nome do armário a ser usado para baixar as especificações do projeto. Consulte Usar Projetos.
Atributo Tipo Definição
Nome do Computador fio Nome do computador para a VM. Se você especificar um nome, ele substituirá o nome gerado pelo sistema.
ComputerNamePrefix fio Prefixo adicionado aos nomes de computador gerados pelo sistema.
EphemeralOSDisk booleano Use um disco de inicialização efêmero para a VM, se houver suporte.
Zona Cadeia de caracteres (lista) Zona de disponibilidade para a VM ou o Conjunto de Escalabilidade de Máquinas Virtuais. Pode ser uma lista para o Conjunto de Dimensionamento de Máquinas Virtuais. Por exemplo, Zone = 1,3.
ProximityPlacementGroupId fio A ID completa do Grupo de Posicionamento por Proximidade para colocar esse nó. Deve começar com /subscriptions/.
PlacementGroupId fio Caso esteja definido, esse rótulo coloca o nó em um único grupo de alocação com todos os demais nós que têm um valor correspondente para PlacementGroupId. Essa configuração oferece comunicação de latência mais baixa e é necessária para habilitar o InfiniBand em tamanhos de VM que dão suporte a ela. O agendador geralmente define esse valor conforme necessário, portanto, você não precisa especificá-lo manualmente.
KeyPairLocation Número Inteiro Onde o CycleCloud encontra um keypair SSH no sistema de arquivos local
KeepAlive booleano Se for verdadeiro, o CycleCloud impedirá o encerramento desse nó
Armário fio Nome do armário do qual baixar as especificações do projeto. Ver Uso de Projetos
BootDiagnosticsUri fio URI de armazenamento para diagnóstico de inicialização (exemplo: https://mystorageaccount.blob.core.windows.net/), se especificado. Os encargos de armazenamento se aplicam.
HybridBenefit booleano Se verdadeiro, habilita o licenciamento do "Benefício Híbrido do Azure" para VMs windows
IdentificadorDoGrupoDeSegurançaDeRede fio Se for fornecida, a ID de recurso completa de um Grupo de Segurança de Rede a ser usada para esse nó. Você também pode especificar esse valor como SecurityGroup em um adaptador de rede.
EnableTerminateNotification (8.2.0+) booleano Se verdadeiro, permite que a Notificação de Encerramento envie eventos na exclusão de VM para a VM para tratamento local. Essa configuração só se aplica a VMs de conjunto de dimensionamento.
TerminateNotificationTimeout (8.2.2+) Tempo Relativo Se a notificação de término estiver habilitada, essa configuração controlará por quanto tempo as VMs precisam lidar com o evento antes de serem excluídas.
ThrottleCapacity (8.2.2+) booleano Se for verdadeiro, a matriz de nós relatará 0 capacidade para dimensionamento automático por um padrão de cinco minutos após encontrar um problema de capacidade.
ThrottleCapacityTime (8.2.2+) Tempo Relativo Se você habilitar ThrottleCapacity, defina por quanto tempo a disponibilidade será reportada como 0 após a restrição da capacidade. O padrão é "5m".
HybridBenefitLicense (8.3.0+) fio Se HybridBenefit for verdadeiro, especifique a licença a ser usada: RHEL_BYOS, SLES_BYOS ou Windows_Server. O padrão é Windows_Server.
FlexScaleSetId (8.3.0+) fio Insira a ID totalmente qualificada de um conjunto de dimensionamento no modo de orquestração Flex que você deseja usar para a VM neste nó.
EncryptionAtHost (8.4.0+) booleano Se for verdadeiro, a máquina virtual tem Criptografia no Host habilitada.
TipoDeSegurança (8.5.0+) fio Define o tipo de segurança; indefinido ou TrustedLaunchConfidentialVM.
EnableSecureBoot (8.5.0+) booleano Habilitará a Inicialização Segura se você usar VMs de Inicialização Confiáveis ou VMs Confidenciais.
EnableVTPM (8.5.0+) booleano Habilitará o Módulo de Plataforma Virtual Confiável se você usar VMs de Inicialização Confiáveis ou VMs Confidenciais.
ScaleSetUpgradePolicyMode (8.6.2+) fio Especifica a política de atualização do conjunto de dimensionamento. Essa política controla o que acontece com as VMs existentes em um conjunto de dimensionamento quando você modifica o modelo de conjunto de dimensionamento fora do CycleCloud. Em geral, habilite essa política se você usar uma ferramenta automatizada para modificar conjuntos de dimensionamento existentes, como o Azure Policy. Observação: essa política não atualiza automaticamente a imagem do sistema operacional. Escolha um de Automatic, Rollingou Manual (o padrão).

Observação

Um grupo de posicionamento por proximidade é um recurso geral do Azure. Você precisa criar um antes de referenciá-lo em um nó. Esse recurso 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 que você usa para agrupar VMs para nós em um único conjunto de dimensionamento. Esse conjunto de dimensionamento é restrito a estar no mesmo comutador de rede, mas pode não ser colocado com outros recursos do Azure. Você pode usar os dois recursos juntos, mas essa combinação pode reduzir o número de VMs que você pode alocar.

Atributos de imagem

Você deve especificar a imagem da VM 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 para diferentes tipos de sistema operacional. Você pode especificar essas imagens com um ImageName.

Atributo Tipo Definição
ImageName fio Nome da imagem com suporte para ciclo.

Imagens do Marketplace

Juntamente com imagens do marketplace gerenciadas por ciclo, você pode usar qualquer imagem do marketplace especificando o Publisher, Offer, Sku e ImageVersion.

Atributo Tipo Definição
Azure.Publisher fio Publicador de imagem do Marketplace de VM
Oferta do Azure fio Oferta para imagem do Marketplace de VM
Azure.Sku fio SKU da imagem do Marketplace da VM
Azure.ImageVersion fio Versão de imagem da imagem do Marketplace

Observação

Você também pode especificar uma imagem do marketplace no ImageName atributo. Codifique como uma URN na forma Publisher:Offer:Sku:ImageVersion.

Imagens com plano de preços personalizado

Imagens compartilhadas da Galeria de 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 da Galeria de Imagens Compartilhadas. Especifique essas informações com o atributo ImagePlan usando os atributos aninhados Publisher, Product e Plan.

Observação

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

ImageId

Você também pode usar a ID de recurso de uma imagem de VM na assinatura da Credencial:

Atributo Tipo Definição
ImageId fio ID de recurso da imagem da VM

Atributos de imagem

As imagens do Marketplace e as que você define com ImageIds precisam de algumas configurações extras para funcionarem com a extensão do OS do CycleCloud.

Atributo Tipo Definição
DownloadJetpack booleano Se for falso, 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 é true. Adicionado em 8.4.1.
InstallJetpack booleano Se for falso, o CycleCloud não instalará o Jetpack em novas VMs. O padrão é true.
Aguardando Instalação booleano Se for falso, o CycleCloud não aguardará que o Jetpack relate os detalhes da instalação ao criar a VM. O padrão é true.
JetpackPlatform fio Plataforma do instalador Jetpack a ser usada: centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. Descontinuado em 7.7.0.

Aviso

Não recomendamos definir InstallJetpack ou AwaitInstallation. Além disso, a configuração DownloadJetpack requer uma imagem personalizada com a versão correta da instalação do Jetpack. Defina DownloadJetpack somente se o ambiente estiver enfrentando problemas de download de contas de armazenamento.

Observação

Se você incluir várias definições de imagem em uma única definição de nó, a implantação usará ImageId por padrão.

Exemplo de imagem alternativa

O modelo de exemplo a seguir usa 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 Tipo Definição
IsReturnProxy booleano Configure um proxy de canal reverso para este nó. Somente um nó por cluster pode ter essa configuração como verdadeira.
ReturnPath.Hostname Nome do host Nome do host em que o nó pode chegar ao CycleCloud.
ReturnPath.WebserverPort Número Inteiro Porta webserver onde o nó pode chegar ao CycleCloud.
ReturnPath.BrokerPort Número Inteiro Agente em que o nó pode chegar ao CycleCloud.

Etiquetas

O CycleCloud dá suporte à marcação de VMs e conjuntos de dimensionamento de máquinas virtuais.

Atributo fio Definição
Etiquetas fio Use tags.my-tag = my-tag-value para adicionar tags à implantação, além das tags 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. Para saber mais, confira Máquinas virtuais spot.

Atributo fio Definição
Interruptível booleano Se for verdadeiro, trata-se de uma máquina virtual Spot que oferece preços reduzidos.
MaxPrice Flutuar O preço máximo que você deseja pagar pela VM. (Padrão: -1)

Atributos específicos de nodearray

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. O Nodearray é um driver dos Conjuntos de Dimensionamento de Máquinas Virtuais do Azure e pode ter muitos conjuntos de dimensionamento de máquinas virtuais associados.

Atributo fio Definição
Azure.AllocationMethod fio Defina esse atributo como StandAlone para gerenciar VMs individuais ou deixar indefinido para usar Conjuntos de Dimensionamento de Máquinas Virtuais.
Azure.SingleScaleset booleano Use um único Conjunto de Dimensionamento de Máquinas Virtuais para todos os nós (Padrão: false).
Azure.SinglePlacementGroup booleano Use a configuração de grupo de posicionamento único para o Conjunto de Dimensionamento de Máquinas Virtuais. (Padrão: false)
Azure.Overprovision booleano Utilize o recurso de superprovisionamento de Conjuntos de Dimensionamento de Máquinas Virtuais. O Cyclecloud define dinamicamente esse valor dependendo do cenário. Esse valor é uma substituição.
Azure.MaxScaleSetSize Número Inteiro Limite o número de VMs em um único Conjunto de Dimensionamento de Máquinas Virtuais. Depois que esse máximo for atingido, o CycleCloud adicionará conjuntos de dimensionamento de máquinas virtuais extras ao cluster. (Padrão: '40')
InitialCount Número Inteiro Número de nós a serem iniciados quando o cluster for iniciado.
MaxCount Número Inteiro Para garantir que o cluster nunca exceda 10 nós, especifique um valor de 10. Use MaxCount e MaxCoreCount juntos. A restrição de menor eficácia entra em vigor.
InitialCoreCount Número Inteiro Número de núcleos a serem iniciados quando o cluster for iniciado.
MaxCoreCount Número Inteiro Para garantir que o cluster nunca exceda 100 núcleos, especifique um valor de 100. Use MaxCount e MaxCoreCount juntos. A restrição de menor eficácia entra em vigor.
ShutdownPolicy fio Indica o que fazer com a VM quando um nó é desligado. Se terminate, a VM será excluída quando o nó for desligado. Se deallocate, o nó será interrompido. (Padrão: encerrar)
Atributo fio Definição
Azure.AllocationMethod fio Defina esse valor para StandAlone, para gerenciar VMs individuais, ou mantenha-o indefinido para usar Conjuntos de Escala de Máquinas Virtuais.
Azure.SingleScaleset booleano Use um único Conjunto de Dimensionamento de Máquinas Virtuais para todos os nós (Padrão: false).
Azure.SinglePlacementGroup booleano Use a configuração de grupo de posicionamento único para o Conjunto de Dimensionamento de Máquinas Virtuais. (Padrão: false)
Azure.Overprovision booleano Utilize o recurso de superprovisionamento de Conjuntos de Dimensionamento de Máquinas Virtuais. O CycleCloud define dinamicamente esse valor dependendo do cenário. Essa configuração atua como uma substituição.
Azure.MaxScaleSetSize Número Inteiro Limite o número de VMs em um único Conjunto de Dimensionamento de Máquinas Virtuais. Depois que esse máximo for atingido, o CycleCloud adicionará conjuntos de dimensionamento de máquinas virtuais extras ao cluster. (Padrão: '40')
InitialCount Número Inteiro Número de nós a serem iniciados quando o cluster for iniciado.
MaxCount Número Inteiro Para garantir que o cluster nunca exceda 10 nós, especifique um valor de 10. Use MaxCount e MaxCoreCount juntos. A restrição de menor eficácia entra em vigor.
InitialCoreCount Número Inteiro Número de núcleos a serem iniciados quando o cluster for iniciado.
MaxCoreCount Número Inteiro Para garantir que o cluster nunca exceda 100 núcleos, especifique um valor de 100. Use MaxCount e MaxCoreCount juntos. A restrição de menor eficácia entra em vigor.
ShutdownPolicy fio Indica o que fazer com a VM quando um nó é desligado. Se você definir o valor como terminate, a VM será excluída quando o nó for desligado. Se você definir o valor como deallocate, o nó será interrompido. (Padrão: encerrar)
ThrottleCapacity booleano Se deve suspender solicitações para o Azure ao receber o sinal Insufficient Capacity. (Padrão: false)
ThrottleCapacityTime Tempo Relativo Tempo de recuo após receber Insufficient Capacity sinal do Azure. AvailableCount será relatado como zero durante esse tempo. (Padrão: '5m')

Observação

Todos os Conjuntos de Dimensionamento de Máquinas Virtuais são atribuídos a FaultDomainCount = 1.

Herança

Você pode derivar nós e matrizes de nós que estão intimamente relacionados de outros nós no mesmo modelo de cluster. Essas definições herdadas reduzem o número de declarações necessárias compartilhando atributos comuns. A seção comumente usada [[node defaults]] é uma definição abstrata especial que se aplica a todos os nós e matrizes de nós no cluster.

Atributo fio Definição
Resumo booleano Se for verdadeiro, não crie uma matriz de nós ou um nó no cluster. Use o resumo para herança. (Padrão: false)
Estende Cadeia de caracteres (lista) Lista ordenada de nomes de nós e matrizes de nós herdados. Os itens posteriores na lista têm precedência quando os valores entram em conflito. O nó defaults é sempre efetivamente o primeiro da lista. (Padrão: [])

Objetos subordinados

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