Compartir a través de


Objetos Node y Nodearray

Los objetos Node y nodearray son objetos de rango 2 que están subordinados a cluster. Un nodo representa una sola máquina virtual, mientras que una matriz de nodos puede representar una colección de máquinas virtuales o al menos un conjunto de escalado de máquinas virtuales.

Valores predeterminados del nodo

[[node defaults]] es un nodo abstracto especial que especifica la configuración predeterminada para todos los nodos y nodearrays de un clúster:

[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

$Credentials es una referencia a un parámetro denominado Credentials.

En my-cluster, el nodoarray gridhereda los valores Credential y SubnetId del nodo node defaults, pero usa un tamaño de máquina virtual HPC específico de Standard_H16.

Ejemplo

En esta plantilla de ejemplo se crea un clúster con dos nodos y una matriz de nodos. El nodo proxy usa la IsReturnProxy propiedad para definir el rol especial de ReturnProxy. Este nodo actúa como punto de conexión para un proxy de canal inverso que procede de CycleCloud cuando se inicia el clúster.

[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

Referencia de atributo requerida

Necesita al menos cuatro atributos necesarios para iniciar correctamente un nodo:

Atributo Tipo Definición
Tipo de Máquina Cuerda Tamaño de máquina virtual de Azure
SubnetId Cuerda Definición de subred con el formato ${rg}/${vnet}/${subnet}. Tenga en cuenta que este valor no es el identificador de recurso completo.
Credenciales Cuerda Nombre de la cuenta del proveedor de nube.

El cuarto atributo obligatorio se relaciona con una imagen. Debe proporcionar un atributo de imagen, pero puede elegir entre varios formularios. Para obtener más información, vea Atributos de imagen.

Atributos adicionales

Atributo Tipo Definición
ComputerName Cuerda Nombre de equipo de la máquina virtual. Si especifica este atributo, invalida el nombre generado por el sistema.
ComputerNamePrefix Cuerda Prefijo agregado a los nombres de equipo generados por el sistema.
Zona Cadena (lista) Zona de disponibilidad para la máquina virtual o los conjuntos de escalado de máquinas virtuales. Puede ser una lista para el conjunto de escalado de máquinas virtuales. Por ejemplo: Zone = 1,3.
KeyPairLocation Entero Ubicación donde CycleCloud encuentra un par de claves SSH en el sistema de archivos local.
KeepAlive (mantener vivo) Booleano Si es true, CycleCloud impide la terminación de este nodo.
Casillero Cuerda Nombre del casillero que se va a usar para descargar las especificaciones del proyecto. Consulte Uso de proyectos.
Atributo Tipo Definición
ComputerName Cuerda Nombre de equipo de la máquina virtual. Si especifica un nombre, invalida el nombre generado por el sistema.
ComputerNamePrefix Cuerda Prefijo agregado a los nombres de equipo generados por el sistema.
EphemeralOSDisk Booleano Use un disco de arranque efímero para la máquina virtual, si se admite.
Zona Cadena (lista) Zona de disponibilidad para la máquina virtual o el conjunto de escalado de máquinas virtuales. Puede ser una lista para el conjunto de escalado de máquinas virtuales. Por ejemplo: Zone = 1,3.
ProximityPlacementGroupId Cuerda Identificador completo del grupo de selección de ubicación de proximidad en el que colocar este nodo. Debe comenzar con /subscriptions/.
PlacementGroupId Cuerda Si se establece, esta etiqueta coloca el nodo en un único grupo de selección de ubicación con todos los demás nodos que tienen un valor coincidente para PlacementGroupId. Esta configuración ofrece una comunicación de menor latencia y es necesaria para habilitar InfiniBand en tamaños de máquina virtual que lo admiten. El programador normalmente establece este valor según sea necesario, por lo que no es necesario especificarlo manualmente.
KeyPairLocation Entero Donde CycleCloud encuentra un par de claves SSH en el sistema de archivos local
KeepAlive (mantener vivo) Booleano Si es true, CycleCloud impide la finalización de este nodo.
Casillero Cuerda Nombre del contenedor desde el que se descargarán las especificaciones del proyecto. Consulte Uso de proyectos
BootDiagnosticsUri Cuerda URI de almacenamiento para diagnósticos de arranque (ejemplo: https://mystorageaccount.blob.core.windows.net/), si se especifica. Se aplican cargos de almacenamiento.
HybridBenefit Booleano Si es verdadero, habilita las licencias de "Ventaja híbrida de Azure" para máquinas virtuales de Windows.
Id de Grupo de Seguridad de Red Cuerda Si se da, el identificador de recurso completo de un grupo de seguridad de red que se usará para este nodo. También puede especificar este valor como SecurityGroup en una interfaz de red.
EnableTerminateNotification (8.2.0+) Booleano Si es verdadero, habilita Terminate Notification para enviar eventos de eliminación de la máquina virtual para la gestión local. Esta configuración solo se aplica a las máquinas virtuales del conjunto de escalado.
TerminateNotificationTimeout (8.2.2+) Hora relativa Si la notificación de finalización está habilitada, esta configuración controla cuánto tiempo las máquinas virtuales tienen que controlar el evento antes de eliminarse.
ThrottleCapacity (8.2.2+) Booleano Si es true, la matriz de nodos notifica 0 capacidad para el escalado automático durante un valor predeterminado de cinco minutos después de encontrar un problema de capacidad.
ThrottleCapacityTime (8.2.2+) Hora relativa Si habilita ThrottleCapacity, establezca cuánto tiempo se va a notificar cero disponibilidad tras haberse restringido la capacidad. El valor predeterminado es "5m".
HybridBenefitLicense (8.3.0+) Cuerda Si HybridBenefit es true, especifique la licencia que se va a usar: RHEL_BYOS, SLES_BYOSo Windows_Server. El valor predeterminado es Windows_Server.
FlexScaleSetId (8.3.0+) Cuerda Escriba el identificador completo de un conjunto de escalas en modo de orquestación flex que desee usar para la máquina virtual en este nodo.
EncryptionAtHost (8.4.0+) Booleano Si es true, la máquina virtual tiene habilitado el cifrado en el host .
TipoDeSeguridad (8.5.0+) Cuerda Establece el tipo de seguridad; ya sea sin definir, TrustedLauncho ConfidentialVM.
EnableSecureBoot (8.5.0+) Booleano Habilita el arranque seguro si usa máquinas virtuales de inicio seguro o máquinas virtuales confidenciales.
EnableVTPM (8.5.0+) Booleano Habilita el módulo de plataforma segura virtual si usa máquinas virtuales de inicio seguro o máquinas virtuales confidenciales.
ScaleSetUpgradePolicyMode (8.6.2+) Cuerda Especifica la directiva de actualización del conjunto de escalado. Esta directiva controla lo que sucede con las máquinas virtuales existentes de un conjunto de escalado al modificar la plantilla de conjunto de escalado fuera de CycleCloud. Por lo general, habilite esta directiva si usa una herramienta automatizada para modificar los conjuntos de escalado existentes, como Azure Policy. Nota: esta directiva no actualiza automáticamente la imagen del sistema operativo. Elija una de las opciones: Automatic, Rolling, o Manual (valor predeterminado).

Nota:

Un grupo de selección de ubicación por proximidad es una característica general de Azure. Debe crear uno para poder hacer referencia a él en un nodo. Esta característica permite que las máquinas virtuales de CycleCloud se coloquen con otros recursos de Azure en ese grupo de selección de ubicación por proximidad, pero no habilita las redes de InfiniBand. Por el contrario, PlacementGroupId es una cadena arbitraria en CycleCloud que se usa para agrupar máquinas virtuales para nodos en un único conjunto de escalado. Este conjunto de escalas está limitado a estar bajo el mismo conmutador de red, pero puede que no se localice junto con otros recursos de Azure. Puede usar ambas características juntas, pero esta combinación podría reducir el número de máquinas virtuales que puede asignar.

Atributos de imagen

Debe especificar la imagen de máquina virtual para iniciar una máquina virtual. Hay tres formas válidas de definición de imagen: nombres de imagen de CycleCloud predeterminados, definiciones de imágenes de Marketplace e identificadores de imagen.

ImageName

CycleCloud admite varias imágenes predeterminadas de Marketplace para diferentes tipos de sistema operativo. Puede especificar estas imágenes con .ImageName

Atributo Tipo Definición
ImageName Cuerda Nombre de imagen compatible con el ciclo.

Imágenes de Marketplace

Junto con las imágenes de Marketplace administradas por ciclo, puede usar cualquier imagen de Marketplace especificando, Publisher, Offer, Sku, y ImageVersion.

Atributo Tipo Definición
Azure.Publisher Cuerda Publicador de la imagen de Marketplace de máquina virtual
Azure.Offer Cuerda Oferta para la imagen de Marketplace de máquina virtual
Azure.Sku Cuerda SKU de la imagen de Marketplace de máquina virtual
Azure.ImageVersion Cuerda Versión de imagen de la imagen de Marketplace

Nota:

También puede especificar una imagen de Marketplace en el ImageName atributo . Codifique como un URN con el formato Publisher:Offer:Sku:ImageVersion.

Imágenes con plan de precios personalizado

Las imágenes de Shared Image Gallery que tienen un plan de precios adjunto requieren información sobre el plan que se va a usar, a menos que esa información se almacene en la imagen de Shared Image Gallery. Especifique esta información con el atributo ImagePlan usando los atributos anidados Publisher, Product y Plan.

Nota:

El uso de imágenes personalizadas con un plan de precios requiere CycleCloud 8.0.2 o posterior.

ImageId

También puede usar el identificador de recurso de una imagen de máquina virtual en la suscripción de la credencial:

Atributo Tipo Definición
ImageId Cuerda Identificador de recurso de la imagen de máquina virtual

Atributos de imagen

Las imágenes de Marketplace y las imágenes que defina con ImageIds necesitan algunas configuraciones adicionales para trabajar con la extensión del sistema operativo CycleCloud OS.

Atributo Tipo Definición
DownloadJetpack Booleano Si es false, CycleCloud no descarga Jetpack desde la cuenta de almacenamiento. Jetpack ya debe estar instalado. Nota: solo se admiten los nodos de Linux. El valor predeterminado es true. Agregado en la versión 8.4.1.
Instalar Jetpack Booleano Si es falso, CycleCloud no instala Jetpack en las nuevas máquinas virtuales. El valor predeterminado es true.
AwaitInstallation Booleano Si es false, CycleCloud no espera a que Jetpack notifique los detalles de instalación al crear la máquina virtual. El valor predeterminado es true.
JetpackPlatform Cuerda Plataforma del instalador de Jetpack para usar: centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. En desuso en la versión 7.7.0.

Advertencia

No se recomienda establecer InstallJetpack o AwaitInstallation. Además, la configuración DownloadJetpack requiere una imagen personalizada con la versión correcta de la instalación de Jetpack. Establezca DownloadJetpack únicamente si está experimentando problemas en su entorno al descargar desde cuentas de almacenamiento.

Nota:

Si incluye varias definiciones de imagen en una definición de nodo único, la implementación usa ImageId de forma predeterminada.

Ejemplo de imagen alternativa

En la plantilla de ejemplo siguiente se usan las tres construcciones de imagen alternativas para los nodos:

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

Atributo Tipo Definición
IsReturnProxy Booleano Configure un proxy de canal inverso en este nodo. Solo un nodo por clúster puede tener esta configuración como true.
ReturnPath.Hostname Nombre de host Nombre de host donde el nodo puede llegar a CycleCloud.
ReturnPath.WebserverPort Entero Puerto de servidor web donde el nodo puede llegar a CycleCloud.
ReturnPath.BrokerPort Entero Intermediario donde el nodo puede llegar a CycleCloud.

Etiquetas

CycleCloud admite el etiquetado de máquinas virtuales y conjuntos de escalado de máquinas virtuales.

Atributo Cuerda Definición
Etiquetas Cuerda Use tags.my-tag = my-tag-value para agregar etiquetas a la implementación además de las etiquetas asignadas por CycleCloud de forma predeterminada.

Atributos normales o de acceso puntual

CycleCloud admite el uso de máquinas virtuales de Spot mediante los atributos siguientes. Para más información, consulte Máquinas virtuales de Spot.

Atributo Cuerda Definición
Interrumpible Booleano Si es verdadero, la máquina virtual es una máquina virtual Spot que ofrece precios reducidos.
PrecioMáximo Float El precio máximo que desea pagar por la máquina virtual. (Valor predeterminado: -1)

Atributos específicos de Nodearray

Todos los atributos de un nodo son válidos para una matriz de nodos, pero una matriz de nodos es un recurso elástico, por lo que hay atributos adicionales disponibles. Nodearray es un controlador para Azure VirtualMachine ScaleSets y puede tener muchos conjuntos de escalado de máquinas virtuales de respaldo.

Atributo Cuerda Definición
Azure.AllocationMethod Cuerda Establezca este atributo a StandAlone para administrar máquinas virtuales únicas o déjelo indefinido para usar conjuntos de escala de máquinas virtuales.
Azure.SingleScaleset Booleano Use un único conjunto de escalado de máquinas virtuales para todos los nodos (valor predeterminado: false).
Azure.SinglePlacementGroup Booleano Utilice la configuración de grupo de ubicación única para el conjunto de escalado de máquinas virtuales. (Valor predeterminado: false)
Azure.Overprovision Booleano Utilice la función de sobreaprovisionamiento de los conjuntos de escalado de máquinas virtuales. Cyclecloud establece dinámicamente este valor en función del escenario. Este valor es una invalidación.
Azure.MaxScaleSetSize Entero Limite el número de máquinas virtuales en un único conjunto de escalado de máquinas virtuales. Una vez alcanzado este máximo, CycleCloud agrega conjuntos de escalado de máquinas virtuales adicionales al clúster. (Valor predeterminado: '40')
InitialCount Entero Número de nodos que se van a iniciar cuando se inicia el clúster.
MaxCount Entero Para asegurarse de que el clúster nunca supera los 10 nodos, especifique un valor de 10. Use MaxCount y MaxCoreCount juntos. La restricción efectiva menor surte efecto.
InitialCoreCount Entero Número de núcleos que se van a iniciar cuando se inicia el clúster.
MaxCoreCount Entero Para asegurarse de que el clúster nunca supera los 100 núcleos, especifique un valor de 100. Use MaxCount y MaxCoreCount juntos. La restricción efectiva menor surte efecto.
Política de apagado Cuerda Indica qué hacer con la máquina virtual cuando se apaga un nodo. Si terminate, la máquina virtual se elimina cuando se apaga el nodo. Si deallocate, el nodo se detiene. (Valor predeterminado: finalizar)
Atributo Cuerda Definición
Azure.AllocationMethod Cuerda Establezca este valor StandAlone en para administrar máquinas virtuales únicas o dejarla sin definir para usar conjuntos de escalado de máquinas virtuales.
Azure.SingleScaleset Booleano Use un único conjunto de escalado de máquinas virtuales para todos los nodos (valor predeterminado: false).
Azure.SinglePlacementGroup Booleano Utilice la configuración de grupo de ubicación única para el conjunto de escalado de máquinas virtuales. (Valor predeterminado: false)
Azure.Overprovision Booleano Utiliza la funcionalidad de Sobreaprovisionamiento de conjuntos de escalado para máquinas virtuales. CycleCloud establece dinámicamente este valor en función del escenario. Esta configuración actúa como invalidación.
Azure.MaxScaleSetSize Entero Limite el número de máquinas virtuales en un único conjunto de escalado de máquinas virtuales. Una vez alcanzado este máximo, CycleCloud agrega conjuntos de escalado de máquinas virtuales adicionales al clúster. (Valor predeterminado: '40')
InitialCount Entero Número de nodos que se van a iniciar cuando se inicia el clúster.
MaxCount Entero Para asegurarse de que el clúster nunca supera los 10 nodos, especifique un valor de 10. Use MaxCount y MaxCoreCount juntos. La restricción efectiva menor surte efecto.
InitialCoreCount Entero Número de núcleos que se van a iniciar cuando se inicia el clúster.
MaxCoreCount Entero Para asegurarse de que el clúster nunca supera los 100 núcleos, especifique un valor de 100. Use MaxCount y MaxCoreCount juntos. La restricción efectiva menor surte efecto.
Política de apagado Cuerda Indica qué hacer con la máquina virtual cuando se apaga un nodo. Si establece el valor terminate, la máquina virtual se elimina cuando el nodo se apaga. Si establece el valor deallocate, el nodo se detiene en su lugar. (Valor predeterminado: finalizar)
ThrottleCapacity Booleano Si se debe suspender las solicitudes a Azure al recibir la señal Insufficient Capacity. (Valor predeterminado: false)
ThrottleCapacityTime Hora relativa Tiempo de retroceso después de recibir la señal Insufficient Capacity de Azure. AvailableCount se notifica como cero durante este tiempo. (Valor predeterminado: '5m')

Nota:

A todos los conjuntos de escalado de máquinas virtuales se les ha asignado FaultDomainCount = 1.

Herencia

Puede derivar nodos y matrices de nodos que están estrechamente relacionados con otros nodos de la misma plantilla de clúster. Estas definiciones heredadas reducen el número de declaraciones que necesita al compartir atributos comunes. La sección usada habitualmente [[node defaults]] es una definición abstracta especial que se aplica a todos los nodos y matrices de nodos del clúster.

Atributo Cuerda Definición
Resumen Booleano Si es true, no cree un nodo o una matriz de nodos en el clúster. Use el resumen para la herencia. (Valor predeterminado: false)
Extiende Cadena (lista) Lista ordenada de nombres heredados de nodos y de matrices de nodos. Los elementos más adelante en la lista tienen prioridad cuando los valores entran en conflicto. El defaults nodo siempre es efectivamente el primero en la lista. (Valor predeterminado: [])

Objetos subordinados

Los objetos node y nodearray tienen volumen, interfaz de red, cluster-init, input-endpoint y configuración como objetos subordinados.