Partilhar via


Objetos Node e Nodearray

Os objetos Node e nodearray são objetos de classificação 2 subordinados a cluster. Um nó representa uma única máquina virtual, enquanto uma matriz de nós pode representar uma coleção de máquinas virtuais ou pelo menos um conjunto de escala de máquina virtual.

Padrões de nó

O [[node defaults]] é um nó abstrato especial que especifica as configurações padrão para todos os nós e matrizes de nós 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 Credentials.

No my-cluster, o grid nodearray herda os valores Credential e SubnetId do node defaults nó, mas usa um tamanho específico de VM HPC 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 IsReturnProxy propriedade para definir a função especial de ReturnProxy. Esse nó atua como o endpoint para um proxy de canal reverso que vem do CycleCloud quando o cluster é acionado.

[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

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

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

O quarto atributo obrigatório refere-se 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 Cordão Nome do computador para a VM. Se você especificar esse atributo, ele substituirá o nome gerado pelo sistema.
ComputerNamePrefix Cordão Prefixo adicionado aos nomes de computadores gerados pelo sistema.
Zona String (lista) Zona de disponibilidade para a VM ou VMSS. Pode ser uma lista para VMSS. Por exemplo, Zone = 1,3.
KeyPairLocalização Número inteiro Local onde o CycleCloud encontra um par de chaves SSH no sistema de arquivos local.
KeepAlive booleano Se verdadeiro, o CycleCloud impede o encerramento deste nó.
Cacifo Cordão Nome do armário a ser usado para baixar as especificações do projeto. Consulte Usar projetos.
Atributo Tipo Definição
Nome do Computador Cordão Nome do computador para a VM. Se você especificar um nome, ele substituirá o nome gerado pelo sistema.
ComputerNamePrefix Cordão Prefixo adicionado aos nomes de computadores gerados pelo sistema.
EphemeralOSDisk booleano Use um disco de inicialização efêmero para a VM, se suportado.
Zona String (lista) Zona de disponibilidade para a VM ou VMSS. Pode ser uma lista para VMSS. Por exemplo, Zone = 1,3.
ProximidadePlacementGroupId Cordão ID completo do Grupo de Posicionamento de Proximidade para inserir este nó. Deve começar com /subscriptions/.
IdGrupoDeColocação Cordão Se definido, esse rótulo coloca o nó em um único grupo de posicionamento com todos os outros 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 a InfiniBand em tamanhos de VM que a suportam. O agendador geralmente define esse valor conforme necessário, para que você não precise especificá-lo manualmente.
KeyPairLocalização Número inteiro Onde o CycleCloud encontra um par de chaves SSH no sistema de arquivos local
KeepAlive booleano Se for verdadeiro, o CycleCloud impede o encerramento deste nó
Cacifo Cordão Nome do armário a partir do qual baixar as especificações do projeto. Consulte Utilizar projetos
BootDiagnosticsUri Cordão URI de armazenamento para diagnóstico de inicialização (exemplo: https://mystorageaccount.blob.core.windows.net/), se especificado. Aplicam-se taxas de armazenamento.
Benefício híbrido booleano Se verdadeiro, habilita o licenciamento do "Benefício Híbrido do Azure" para VMs do Windows
ID do Grupo de Segurança de Rede Cordão Caso seja fornecida, a ID de recurso completa para um Grupo de Segurança de Rede para ser utilizada nesse nó. Você também pode especificar esse valor como SecurityGroup em uma interface de rede.
EnableTerminateNotification (8.2.0+) booleano Se verdadeiro, habilita a Notificação de Encerramento para enviar eventos na eliminação da VM à VM para tratamento local. Essa configuração só se aplica a dimensionar VMs de conjunto.
TerminateNotificationTimeout (8.2.2+) Tempo relativo Se a notificação de encerramento estiver habilitada, essa configuração controlará quanto tempo as VMs precisam manipular o evento antes de serem excluídas.
Capacidade do acelerador (8.2.2+) booleano Se verdadeiro, o array de nós indica uma capacidade de 0 para dimensionamento automático por um período padrão de cinco minutos depois de encontrar um problema de capacidade.
ThrottleCapacityTime (8.2.2+) Tempo relativo Se ativar ThrottleCapacity, defina por quanto tempo relatar 0 disponibilidade após a capacidade ser restrita. O padrão é "5m".
HybridBenefitLicença (8.3.0+) Cordão Se HybridBenefit for verdadeiro, especifique a licença a usar: RHEL_BYOS, SLES_BYOS ou Windows_Server. A predefinição é Windows_Server.
FlexScaleSetId (8.3.0+) Cordão Insira o ID totalmente qualificado de um conjunto de escalas no modo de orquestração Flex que pretenda utilizar para a VM neste nó.
EncryptionAtHost (8.4.0+) booleano Se verdadeiro, a máquina virtual tem a criptografia no host habilitada.
TipoDeSegurança (8.5.0+) Cordão Define o tipo de segurança; indefinido, TrustedLaunchou ConfidentialVM.
EnableSecureBoot (8.5.0+) booleano Habilita a Inicialização Segura se você usar VMs de Inicialização Confiável ou VMs Confidenciais.
AtivarVTPM (8.5.0+) booleano Habilita o Virtual Trusted Platform Module se você usar VMs de inicialização confiáveis ou VMs confidenciais.
ScaleSetUpgradePolicyMode (8.6.2+) Cordão Especifica a política de atualização do conjunto de escalas. Esta política controla o que acontece com VMs existentes em um conjunto de escala quando você modifica o modelo de conjunto de escala fora do CycleCloud. Geralmente, habilite essa política se você usar uma ferramenta automatizada para modificar conjuntos de escala existentes, como a Política do Azure. Nota: esta política não atualiza automaticamente a imagem do SO. Escolha um dos Automatic, Rollingou Manual (o padrão).

Observação

Um grupo de posicionamento de proximidade é um recurso geral do Azure. Você precisa criar um elemento antes de poder fazer referência a ele em um nó. Esse recurso permite que as VMs do CycleCloud se localizem com outros recursos do Azure nesse grupo de colocação próximos, mas não habilita a rede InfiniBand. Por outro lado, PlacementGroupId é uma cadeia de caracteres arbitrária no CycleCloud que utiliza para agrupar VMs para os nós em um único conjunto de escala. Esse conjunto de escala é restrito a estar sob o mesmo switch de rede, mas pode não colocalizar 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 da imagem

Você deve especificar a imagem da VM para iniciar uma máquina virtual. Existem 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.

Nome da imagem

O CycleCloud suporta 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
Nome da imagem Cordão Nome da imagem suportado pelo ciclo. Use uma das seguintes opções: cycle.image.win2016, cycle.image.win2012, cycle.image.centos7, , cycle.image.ubuntu16cycle.image.centos6, cycle.image.ubuntu14.

Imagens da plataforma de comércio

Juntamente com imagens de marketplace geridas por ciclo, podes utilizar qualquer imagem de marketplace especificando Publisher, Offer, Sku e ImageVersion.

Atributo Tipo Definição
Azure.Publisher Cordão Publicador da imagem do VM Marketplace
Azure.Offer Cordão Oferta para imagem do VM Marketplace
Azure.Sku Cordão Código SKU da imagem do VM Marketplace
Azure.ImageVersion Cordão Versão de imagem da plataforma

Observação

Você também pode especificar uma imagem de mercado no ImageName atributo. Codifique-o como uma URN no formato Publisher:Offer:Sku:ImageVersion.

Imagens com plano de preços personalizado

As imagens da Galeria de Imagens Compartilhadas 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 ImagePlan atributo usando os atributos aninhados Publicador, Produto e Plano.

Observação

O uso de 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 Cordão ID de recurso da imagem da VM

Atributos da imagem

As imagens do Marketplace e as imagens definidas com o ImageIds precisam de algumas configurações extras para funcionar com a extensão do sistema operacional CycleCloud:

Atributo Tipo Definição
BaixarJetpack booleano Se false, o CycleCloud não baixa o Jetpack da conta de armazenamento. O Jetpack já deve estar instalado. Nota: Apenas os nós linux são suportados. O valor padrão é verdadeiro. Acrescentado no ponto 8.4.1.
Instalar Jetpack booleano Se false, o CycleCloud não instala o Jetpack em novas VMs. O valor padrão é verdadeiro.
AwaitInstallation booleano Se false, o CycleCloud não espera que o Jetpack relate os detalhes da instalação quando cria a VM. O valor padrão é verdadeiro.
Plataforma Jetpack Cordão Plataforma de instalação Jetpack para usar: centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. Preterido na versão 7.7.0.

Advertência

Não recomendamos a configuração 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 seu ambiente estiver enfrentando problemas ao baixar 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 as três construções de imagem alternativas 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ó. Apenas um nó por cluster pode ter essa configuração como true.
ReturnPath.Hostname Hostname (Nome do anfitrião) Nome do host onde o nó pode alcançar o CycleCloud.
ReturnPath.WebserverPort Número inteiro Porta do servidor web onde o nó pode aceder ao CycleCloud.
ReturnPath.BrokerPort Número inteiro Broker onde o nó pode contactar o CycleCloud.

Etiquetas

O CycleCloud suporta a marcação de VMs e VMSS.

Atributo Cordão Definição
Etiquetas Cordão Use tags.my-tag = my-tag-value para adicionar tags à implantação, além das tags atribuídas pelo CycleCloud por padrão.

Atributos Regular/Spot

O CycleCloud suporta o uso de VMs spot através dos seguintes atributos. Para obter mais informações, consulte Máquinas virtuais spot.

Atributo Cordão Definição
Interruptível booleano Se for o caso, a máquina virtual é uma VM Spot que oferece preços reduzidos.
Preço Máximo Flutuar O preço máximo que você deseja pagar pela VM. (Padrão: -1)

Atributos específicos do Nodearray

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

Atributo Cordão Definição
Azure.MétodoDeAtribuição (Azure.AllocationMethod) Cordão Defina esse atributo como StandAlone para gerenciar VMs únicas ou deixe indefinido para usar o VMSS.
Azure.SingleScaleset booleano Use um único VMSS para todos os nós (Padrão: false).
Azure.SinglePlacementGroup booleano Use a configuração de grupo de posicionamento único para o VMSS. (Padrão: false)
Azure.Sobrerprovisionamento booleano Use o recurso Overprovision do VMSS. O Cyclecloud define dinamicamente esse valor dependendo do cenário. Esse valor é uma sobrescrição.
Azure.MaxScaleSetSize Número inteiro Limite o número de VMs em um único VMSS. Quando esse máximo é atingido, o CycleCloud adiciona VMSS extra ao cluster. (Padrão: '40')
Contagem inicial Número inteiro Número de nós a serem iniciados quando o cluster for iniciado.
Contagem máxima 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 efetiva mais baixa entra em vigor.
ContagemInicialDeNúcleos Número inteiro Número de núcleos que serão 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 efetiva mais baixa entra em vigor.
Política de desligamento Cordão Indica o que fazer com a máquina virtual quando um nó é desligado. Se terminate, a VM é excluída quando o nó é desligado. Se deallocate, o nó é interrompido em vez disso. (Padrão: encerrar)
Atributo Cordão Definição
Azure.MétodoDeAtribuição (Azure.AllocationMethod) Cordão Defina esse valor para StandAlone gerenciar VMs únicas ou deixe-o indefinido para usar o VMSS.
Azure.SingleScaleset booleano Use um único VMSS para todos os nós (Padrão: false).
Azure.SinglePlacementGroup booleano Use a configuração de grupo de posicionamento único para o VMSS. (Padrão: false)
Azure.Sobreprovisionamento booleano Use o recurso Overprovision do VMSS. O CycleCloud define dinamicamente esse valor dependendo do cenário. Esta configuração atua como uma prioridade.
Azure.MaxScaleSetSize Número inteiro Limite o número de VMs em um único VMSS. Quando esse máximo é atingido, o CycleCloud adiciona VMSS extra ao cluster. (Padrão: '40')
Contagem inicial Número inteiro Número de nós a serem iniciados quando o cluster for iniciado.
Contagem máxima 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 efetiva mais baixa entra em vigor.
ContagemInicialDeNúcleos Número inteiro Número de núcleos que serão 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 efetiva mais baixa entra em vigor.
Política de desligamento Cordão Indica o que fazer com a máquina virtual 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)
Capacidade do acelerador booleano Se devem ser suspensas as solicitações para o Azure ao receber o sinal Insufficient Capacity. (Padrão: false)
TempoDeCapacidadeDeEstrangulamento Tempo relativo Tempo de recuo após receber Insufficient Capacity o sinal do Azure. AvailableCount é reportado como zero durante este período. (Padrão: '5m')

Observação

Todos os VMSSs são atribuídos 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 Cordão Definição
Resumo booleano Se verdadeiro, não crie um nó ou um array de nós no cluster. Use o resumo para herança. (Padrão: false)
Estende String (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 defaults nó é sempre efetivamente o primeiro na lista. (Padrão: [])

Objetos subordinados

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