Compartir a través de


Objetos Node y Nodearray

Los objetos Node y nodearray son 2 y 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

El [[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.centos6
  MachineType = Standard_H16

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

En my-cluster, el grid nodearray hereda credential and SubnetId del nodo 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 un elemento nodearray. El nodo proxy usa el IsReturnProxy para definir el rol especial de ReturnProxy, que será el punto de conexión de un proxy de canal inverso procedente de CycleCloud cuando se inicie el clúster.

[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

Referencia de atributo requerida

Hay un mínimo de cuatro atributos necesarios para iniciar correctamente un nodo:

Atributo Tipo Definición
MachineType Cuerda Tamaño de máquina virtual de Azure
SubnetId Cuerda Definición de subred con el formato ${rg}/${vnet}/${subnet}
Credenciales Cuerda Nombre de la cuenta del proveedor de nube.

El cuarto atributo obligatorio está relacionado con una imagen. Se requiere un atributo de imagen, pero hay varias formas que puede tomar: consulte Atributos de imagen.

Atributos adicionales

Atributo Tipo Definición
ComputerName Cuerda Nombre de equipo de la máquina virtual. Si se especifica, invalida el nombre generado por el sistema.
ComputerNamePrefix Cuerda Prefijo precedido a nombres de equipo generados por el sistema
Zona Cadena (lista) Zona de disponibilidad para VM o VMSS. Puede ser una lista para VMSS. Por ejemplo, Zone = 1,3
KeyPairLocation Entero Donde CycleCloud encontrará un teclado SSH en el sistema de archivos local
KeepAlive Booleano Si es true, CycleCloud impedirá la terminación de este nodo.
Armario Cuerda Especifique el nombre de la caja de seguridad desde la que se van a descargar las especificaciones del proyecto. Consulte Usar proyectos
Atributo Tipo Definición
ComputerName Cuerda Nombre de equipo de la máquina virtual. Si se especifica, invalida el nombre generado por el sistema.
ComputerNamePrefix Cuerda Prefijo precedido a nombres de equipo generados por el sistema
EphemeralOSDisk Booleano Use el disco de arranque efímero para la máquina virtual, si se admite.
Zona Cadena (lista) Zona de disponibilidad para VM o VMSS. Puede ser una lista para VMSS. 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 se usa para colocar este nodo en un único grupo de selección de ubicación con todos los demás nodos que tengan un valor coincidente para PlacementGroupId. Esto ofrece una comunicación de menor latencia y es necesario para habilitar InfiniBand en tamaños de máquina virtual que lo admiten. Normalmente, el programador establece esto según sea necesario, por lo que no es necesario especificar manualmente.
KeyPairLocation Entero Donde CycleCloud encontrará un teclado SSH en el sistema de archivos local
KeepAlive Booleano Si es true, CycleCloud impedirá la terminación de este nodo.
Armario Cuerda Especifique el nombre de la caja de seguridad desde la que se van a descargar las especificaciones del proyecto. Consulte Usar proyectos
BootDiagnosticsUri Cuerda URI de almacenamiento para diagnósticos de arranque (ejemplo: https://mystorageaccount.blob.core.windows.net/), si se especifica. Se aplicarán cargos de almacenamiento.
HybridBenefit Booleano Si es true, habilita las licencias de "Ventaja híbrida de Azure" para máquinas virtuales Windows.
EnableTerminateNotification (8.2.0+) Booleano Si es true, habilita finalizar la de notificación para enviar eventos en la eliminación de la máquina virtual a la máquina virtual para el control local. Esto 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, controla cuánto tiempo se proporcionan las máquinas virtuales para controlar el evento antes de eliminarse.
ThrottleCapacity (8.2.2+) Booleano Si es true, esta nodoarray notificará 0 capacidad para el escalado automático durante un valor predeterminado de 5 minutos después de encontrar un problema de capacidad.
ThrottleCapacityTime (8.2.2+) Hora relativa Si ThrottleCapacity está habilitado, es cuánto tiempo se informa de la disponibilidad 0 después de restringir la capacidad. El valor predeterminado es "5m".
HybridBenefitLicense (8.3.0+) Cuerda Si HybridBenefit es true, especifica la licencia que se va a usar: RHEL_BYOS, SLES_BYOSo Windows_Server. El valor predeterminado es Windows_Server.
FlexScaleSetId (8.3.0+) Cuerda Si se establece, este es el identificador completo de un conjunto de escalado en modo de orquestación Flex que se usa para la máquina virtual para este nodo.
EncryptionAtHost (8.4.0+) Booleano Si es true, la máquina virtual tendrá cifrado en host habilitado.
SecurityType (8.5.0+) Cuerda Establece el tipo de seguridad ; ya sea sin definir, TrustedLaunch o ConfidentialVM
EnableSecureBoot (8.5.0+) Booleano Habilita arranque seguro, si usa máquinas virtuales de inicio seguro o máquinas virtuales confidenciales.
EnableVTPM (8.5.0+) Booleano Habilita módulo de plataforma segura virtual, si usa máquinas virtuales de inicio seguro o máquinas virtuales confidenciales.

Nota

Un grupo de selección de ubicación por proximidad es una característica general de Azure y se debe crear una para poder hacer referencia a ella en un nodo. Esto permite que las máquinas virtuales de CycleCloud se intercalen con otros recursos de Azure en ese grupo de selección de ubicación de proximidad, pero no habilitan las redes de InfiniBand. Por el contrario, PlacementGroupId es una cadena arbitraria en CycleCloud que se usa para agrupar las máquinas virtuales de los nodos en un único conjunto de escalado restringido para que esté bajo el mismo conmutador de red, pero puede que no se intercale con otros recursos de Azure. Ambos se pueden usar juntos, pero esto puede reducir el número de máquinas virtuales que se pueden asignar.

Atributos de imagen

La imagen de máquina virtual es una configuración necesaria 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 una serie de imágenes predeterminadas de Marketplace que están disponibles para diferentes tipos de sistema operativo. Se pueden especificar con un ImageName.

Atributo Tipo Definición
ImageName Cuerda Nombre de imagen compatible con ciclo. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14]

Imágenes de Marketplace

Junto con las imágenes de Marketplace administradas por ciclo, se puede usar cualquier imagen de Marketplace especificando el 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 se puede especificar una imagen de Marketplace en el atributo ImageName, codificado 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. Se especifica con el atributo ImagePlan mediante 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

Como alternativa, también se 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 e imágenes de Marketplace definidas por ImageIds necesitan algunas opciones adicionales para configurar correctamente la extensión del sistema operativo CycleCloud:

Atributo Tipo Definición
DownloadJetpack Booleano Si es false, CycleCloud no descargará 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.
InstallJetpack Booleano Si es false, CycleCloud no instalará Jetpack en nuevas máquinas virtuales. El valor predeterminado es true.
AwaitInstallation Booleano Si es false, CycleCloud no esperará a que Jetpack notifique los detalles de instalación cuando se cree la máquina virtual. El valor predeterminado es true.
JetpackPlatform Cuerda Plataforma del instalador de Jetpack que se va a 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, establecer DownloadJetpack requiere una imagen personalizada con la versión correcta de la instalación de Jetpack y solo se recomienda para entornos que experimentan problemas al descargar desde cuentas de almacenamiento.

Nota

ImageId se usa de forma predeterminada si se incluyen varias definiciones de imagen en una definición de nodo único.

Ejemplo de imagen alternativa

Esta es una plantilla de ejemplo mediante 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 Establezca el 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 Agente donde el nodo puede llegar a CycleCloud.

Etiquetas

CycleCloud admite el etiquetado de máquinas virtuales y VMSS.

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 regulares o de acceso puntual

CycleCloud admite el uso de máquinas virtuales de Spot mediante los atributos siguientes. Consulte Spot Virtual Machines para obtener más información.

Atributo Cuerda Definición
Interrumpible Booleano Si es true, la máquina virtual será una máquina virtual de acceso puntual para proporcionar precios reducidos.
MaxPrice Flotar El precio máximo que se va a gastar en la máquina virtual. (Valor predeterminado: -1)

atributos de Nodearray-Specific

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 (VMSS) y puede tener muchas máquinas virtuales de respaldo.

Atributo Cuerda Definición
Azure.AllocationMethod Cuerda Establézcalo en StandAlone para administrar máquinas virtuales únicas o dejar sin definir para usar VMSS.
Azure.SingleScaleset Booleano Use un único VMSS para todos los nodos (valor predeterminado: false).
Azure.SinglePlacementGroup Booleano Use la configuración de grupo de selección de ubicación única para VMSS. (Valor predeterminado: false)
Azure.Overprovision Booleano Use la característica Sobreaprovisionamiento de VMSS. Cyclecloud se establecerá dinámicamente en función del escenario. Se trata de una invalidación.
Azure.MaxScaleSetSize Entero Limite el número de máquinas virtuales en un único VMSS. Una vez alcanzado este máximo, CycleCloud agregará VMSS 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, debe especificar un valor de 10. Tenga en cuenta que MaxCount y MaxCoreCount se pueden usar juntos, en cuyo caso la restricción efectiva inferior surtirá 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. Tenga en cuenta que MaxCount y MaxCoreCount se pueden usar juntos, en cuyo caso la restricción efectiva inferior surtirá efecto.
ShutdownPolicy Cuerda Indica qué hacer con la máquina virtual cuando se apaga un nodo. Si "termina", la máquina virtual se elimina cuando se cierra el nodo. Si 'desasignar', el nodo se detiene en su lugar. (Valor predeterminado: finalizar)
Atributo Cuerda Definición
Azure.AllocationMethod Cuerda Establézcalo en StandAlone para administrar máquinas virtuales únicas o dejar sin definir para usar VMSS.
Azure.SingleScaleset Booleano Use un único VMSS para todos los nodos (valor predeterminado: false).
Azure.SinglePlacementGroup Booleano Use la configuración de grupo de selección de ubicación única para VMSS. (Valor predeterminado: false)
Azure.Overprovision Booleano Use la característica Sobreaprovisionamiento de VMSS. Cyclecloud se establecerá dinámicamente en función del escenario. Se trata de una invalidación.
Azure.MaxScaleSetSize Entero Limite el número de máquinas virtuales en un único VMSS. Una vez alcanzado este máximo, CycleCloud agregará VMSS 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, debe especificar un valor de 10. Tenga en cuenta que MaxCount y MaxCoreCount se pueden usar juntos, en cuyo caso la restricción efectiva inferior surtirá 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. Tenga en cuenta que MaxCount y MaxCoreCount se pueden usar juntos, en cuyo caso la restricción efectiva inferior surtirá efecto.
ShutdownPolicy Cuerda Indica qué hacer con la máquina virtual cuando se apaga un nodo. Si "termina", la máquina virtual se elimina cuando se cierra el nodo. Si 'desasignar', el nodo se detiene en su lugar. (Valor predeterminado: finalizar)
ThrottleCapacity Booleano Si se suspenden las solicitudes a Azure al recibir Insufficient Capacity señal. (Valor predeterminado: false)
ThrottleCapacityTime Hora relativa Tiempo de retroceso después de recibir Insufficient Capacity señal de Azure. AvailableCount se notificará como cero durante este tiempo. (Valor predeterminado: '5m')

Nota

Se asignarán todas las VMSS FaultDomainCount = 1

Herencia

Los nodos y nodearrays que están estrechamente relacionados pueden derivarse de otros nodos de la misma plantilla de clúster. Estas definiciones heredadas minimizan las declaraciones necesarias al compartir atributos comunes. Normalmente se usa la sección [[node defaults]], que es una definición abstracta especial que se aplica a todos los nodos y nodearrays del clúster.

Atributo Cuerda Definición
Abstracto Booleano Si es true, no cree un nodo o un elemento nodearray en el clúster. El resumen se puede usar para la herencia. (Valor predeterminado: false)
Extiende Cadena (lista) Lista ordenada de nombres de nodo o nodo heredados. Los elementos más adelante en la lista tienen prioridad cuando los valores entran en conflicto. El nodo 'defaults' siempre será el primero en la lista. (Valor predeterminado: [])

Objetos subordinados

Los objetos node/nodearray tienen volumen, interfaz de red, cluster-init, de punto de conexión de entrada y configuración como objetos subordinados.