Configuración de clúster

Los objetos de configuración son de clasificación 3 y subordinados a node y nodearray. El objeto de configuración define las propiedades configurables para el código de configuración que se ejecuta en los nodos y las configuraciones de CycleCloud Project .

Atributos de objeto

Los atributos de objeto de configuración se comportan como otros objetos, pero se extienden para proporcionar definiciones anidadas. Internamente, las secciones de configuración se combinan, por lo que puede haber un número arbitrario de secciones.

No se necesitan comillas para cadenas o para expresiones booleanas, true o false.

[[[configuraton my-project]]]
Attribute1 = Value1
Attribute2 = Value2
KeyAttribute3.Attribute3 = true

[[[configuraton cyclecloud.mounts.mount1]]]
Attribute1 = Value1

Configuraciones admitidas

CycleCloud admite una serie de objetos de configuración predeterminados. Estos objetos admitidos se encuentran bajo el nombre cyclecloud.

[[[configuration cyclecloud]]]

CycleCloud admite la configuración parametrizada de muchos servicios del sistema.

Atributo Tipo Descripción
maintenance_converge.enabled Boolean Los nodos cycleCloud se vuelven a configurar cada 20 minutos para asegurarse de que están en el estado correcto. Hay ocasiones en las que es posible que no quiera que sea el comportamiento predeterminado, como cuando se prueban y actualizan manualmente la configuración en un nodo. Si se establece este valor en false, el nodo se configurará solo una vez. Valor predeterminado: true
node.prevent_metadata_access Boolean Impide que los usuarios, que no sean el usuario raíz o el usuario cyclecloud accedan a los metadatos de la máquina virtual desde el nodo. Estas reglas de acceso se aplican en iptables. Valor predeterminado: true
timezone String La zona horaria de un nodo se puede cambiar estableciendo este atributo en cualquier cadena de zona horaria válida, por ejemplo PST, EST. Valor predeterminado: UTC
ntp.disabled Boolean Para no participar en el servicio de hora ntp, establezca true. Valor predeterminado: false
ntp.servers List (String) Lista de servidores NTP que se van a usar. Valor predeterminado: pool.ntp.org
keepalive.timeout Entero Cantidad de tiempo en segundos para mantener un nodo "activo" si no ha terminado de instalar o configurar software. Valor predeterminado: 14400 (4 horas)
Detectable Boolean Indica si este nodo puede ser "detectado" (buscado) por otros nodos iniciados por CycleCloud. Valor predeterminado: false
autoscale.forced_shutdown_timeout Entero Cantidad de tiempo (en minutos) antes de que se produzca un apagado forzado si la escalabilidad automática no puede reducir verticalmente el nodo correctamente. Valor predeterminado: 15
security.limits Entero Solo Linux. Límites que se van a aplicar al nodo. El dominio, el tipo y el elemento se pueden especificar para cualquier valor válido definido. Valores predeterminados: security.limits.\*.hard.nofile = 524288 y security.limits.\*.soft.nofile = 1048576
Montajes Anidado Para la exportación y montaje de NFS y montaje de volumen.
selinux.policy String Solo Linux. Omitir una directiva aplicada selinux para imágenes personalizadas. Ya está deshabilitado en las imágenes principales de CycleCloud.
install_epel Boolean Agregue el repositorio de paquetes extendidos para yum en la imagen variante redHat. Valor predeterminado: true
disable_rhui Boolean No participar en las configuraciones del repositorio de Red Hat. Predeterminado: false
ganglia.install Boolean Para no participar en la instalación de ganglia, establezca false. Valor predeterminado: true
fail2ban.enabled Boolean Opt-out of fail2ban installation by setting false. Valor predeterminado: true
dns.domain String Use nsupdate para forzar una actualización dinámica de registros DNS. Solo es útil cuando la directiva DNS permite y el clúster usa un servidor DNS que permite actualizaciones dinámicas. Valor predeterminado: nil
dns.alias String Use nsupdate para forzar una actualización dinámica de registros DNS. Solo es útil cuando la directiva DNS permite y el clúster usa un servidor DNS que permite actualizaciones dinámicas. Valor predeterminado: nil
replace_sudoers Boolean Permitir que Cyclecloud administre la configuración de los sudoers. La deshabilitación puede interferir con los servicios de usuario o programador. Valor predeterminado: true
Atributo Tipo Descripción
keepalive.timeout Entero Cantidad de tiempo en segundos para mantener un nodo "activo" si no ha terminado de instalar o configurar software. Valor predeterminado: 14400 (4 horas)
Detectable Boolean Si este nodo se puede "detectar" (buscar) por otros nodos iniciados por CycleCloud. Valor predeterminado: false
security.limits Entero Solo Linux. Límites que se van a aplicar al nodo. El dominio, el tipo y el elemento se pueden especificar para cualquier valor válido definido. Valores predeterminados: security.limits.\*.hard.nofile = 524288 y security.limits.\*.soft.nofile = 1048576
Montajes Anidado Para la exportación y montaje de NFS y montaje de volumen.
selinux.policy String Solo Linux. Omita una directiva aplicada selinux en las instancias de clúster. Valor predeterminado: nil
dns.domain String Use nsupdate para forzar una actualización dinámica de registros DNS. Solo resulta útil cuando la directiva DNS permite y el clúster usa un servidor DNS que permite actualizaciones dinámicas. Valor predeterminado: nil
dns.alias String Use nsupdate para forzar una actualización dinámica de registros DNS. Solo resulta útil cuando la directiva DNS permite y el clúster usa un servidor DNS que permite actualizaciones dinámicas. Valor predeterminado: nil
samba.enabled Boolean Solo Linux. Instala Samba en un archivador para su uso con nodos de ejecución de Windows. Valor predeterminado: false

[[[configuration cyclecloud.cluster]]]

CycleCloud cluster namespace contiene configuraciones para servicios distribuidos y aplicaciones en clúster.

Atributo Tipo Descripción
autoscale.idle_time_after_jobs Entero Los nodos finalizan si están inactivos durante el tiempo especificado (en segundos) después de ejecutar trabajos. Valor predeterminado: 1800
autoscale.idle_time_before_jobs Entero Los nodos finalizan si están inactivos durante el tiempo especificado (en segundos) antes de ejecutar trabajos. Valor predeterminado: 1800
autoscale.stop_interval Entero Retraso de tiempo entre ejecuciones de comprobaciones de detención automática (en segundos). Predeterminado: 60.
autoscale.use_node_groups Boolean Habilitar nodos agrupados: equivalentes a los grupos de selección de ubicación. Solo efectos PBSPro y clústeres del motor de cuadrícula . Valor predeterminado: true

[[[configuration cyclecloud.hosts.standalone_dns]]]

CycleCloud configurará el archivo /etc/hosts para que contenga un gran conjunto de hosts para que la resolución de nombres hacia delante e inversa sea funcional. Estas configuraciones actúan para funcionar como reemplazo dns configurado en los nodos individuales, no administrados de forma centralizada, por lo que se denomina DNS independiente.

Atributo Tipo Descripción
enabled Boolean Habilite la administración del archivo de hosts etc. Predeterminado: true.
alt_suffix String Invalide el nombre de dominio predeterminado de la red virtual. Ejemplo: contoso.com
subredes List (String) Lista de bloques CIDR para la resolución de nombres independiente extendida.

De forma predeterminada, CycleCloud inspeccionará la interfaz de red y creará el archivo /etc/hosts para incluir hosts en la máscara de subred. Se pueden agregar intervalos adicionales mediante el subnets atributo .

[[[configuration cyclecloud.hosts.standalone_dns]]]
alt_suffix = my-domain.local
subnets = 10.0.1.0/24, 10.0.5.0/24

Para invalidar y deshabilitar el servicio independiente:

[[[configuration ]]]
cyclecloud.hosts.standalone_dns.enabled = false

[[[configuration cyclecloud.mounts]]]

Un subdominio significativo de la configuración cyclecloud es montajes. Cada sección de montaje con nombre corresponde a una entrada en /etc/fstab.

Ejemplo de una sección de montaje denominada primary.

  [[[configuration cyclecloud.mounts.primary]]]
    type = nfs
    mountpoint = /usr/share/lsf
    export_path = /mnt/raid/lsf
    options = hard,proto=tcp,mountproto=tcp,retry=30,actimeo=3600,nolock
    address = 10.0.0.14

Importante

El nombre de la sección de montaje se correlaciona con el mount atributo de un [[[volume]]] objeto .

Atributo Tipo Descripción
type String El atributo type debe establecerse nfs en para que todas las exportaciones NFS se diferencien de los montajes de volumen y de otros tipos de sistema de archivos compartidos.
export_path String Ubicación de la exportación en el archivador NFS. Si no se especifica un export_path , el mountpoint del montaje se usará como export_path.
fs_type String Tipo de sistema de archivos que se va a usar. Por ejemplo ext4, , xfs.
Mountpoint String Ubicación donde se montará el sistema de archivos después de aplicar cualquier configuración adicional. Si el directorio todavía no existe, se creará.
cluster_name String Nombre del clúster de CycleCloud que exporta el sistema de archivos. Si no se establece, se asume el clúster local del nodo.
address String Nombre de host explícito o dirección IP del sistema de archivos. Si no se establece, la búsqueda intentará buscar el sistema de archivos en un clúster de CycleCloud.
opciones String Cualquier opción no predeterminada que se va a usar al montar el sistema de archivos.
deshabilitado Boolean Si se establece en true, el nodo no montará el sistema de archivos.
raid_level Entero Tipo de configuración RAID que se va a usar cuando se usan varios dispositivos o volúmenes. El valor 0predeterminado es , lo que significa RAID0, pero se pueden usar otros niveles de raid como 1 o 10.
raid_device_symlink String Cuando se crea un dispositivo raid, al especificar este atributo se creará un vínculo simbólico al dispositivo raid. De forma predeterminada, este atributo no se establece y, por lo tanto, no se crea ningún vínculo simbólico. Debe establecerse en los casos en los que necesite acceder al dispositivo raid subyacente.
devices List (String) Se trata de una lista de dispositivos que deben componer .mountpoint En general, este parámetro no debe especificarse (ya que CycleCloud lo establecerá en función de las secciones [[[volumen]]], pero puede especificar manualmente los dispositivos si así lo desea.
vg_name String Los dispositivos se configuran en Linux mediante el Administrador de volúmenes lógicos (LVM). El nombre del grupo de volúmenes se asignará automáticamente, pero en los casos en los que se usa un nombre específico, se puede establecer este atributo. El valor predeterminado se establece cyclecloud-vgXen , donde X es un número asignado automáticamente.
lv_name String Los dispositivos se configuran en Linux mediante el Administrador de volúmenes lógicos (LVM). Este valor se asigna automáticamente y no necesita especificación, pero si desea usar un nombre de volumen lógico personalizado, se puede especificar mediante este atributo. Tiene como valor predeterminado lv0.
orden Entero Al especificar un orden, puede controlar el orden en el que se montan los puntos de montaje. El valor de orden predeterminado para todos los puntos de montaje es 1000, excepto "efímero", que es 0 (siempre se monta primero de forma predeterminada). Puede invalidar este comportamiento por caso según sea necesario.
encryption.bits Entero Número de bits que se van a usar al cifrar el sistema de archivos. Los valores estándar son 128 o 256 el cifrado AES de bits. Este valor es necesario si se desea el cifrado.
encryption.key String Clave de cifrado que se va a usar al cifrar el sistema de archivos. Si se omite, se generará una clave de 2048 bits aleatoria. La clave generada automáticamente es útil para cuando se cifran discos que no se conservan entre reinicios (por ejemplo, el cifrado de dispositivos efímeros).
encryption.name String Nombre del sistema de archivos cifrado, que se usa al guardar claves de cifrado. El valor predeterminado es cyclecloud_cryptX, donde X es un número generado automáticamente.
encryption.key_path String Ubicación del archivo en la que se escribirá la clave en el disco. El valor predeterminado es /root/cyclecloud_cryptX.key, donde X es un número generado automáticamente.

[[[configuration cyclecloud.exports]]]

De forma similar a los montajes, los nodos cycleCloud se pueden configurar como servidores NFS si la receta del servidor está habilitada. La sección De exportación corresponde a la entrada /etc/exports .

Ejemplo de uso de exportaciones con un objeto de exportación denominado nfs_data:

[[[configuration cyclecloud.exports.nfs_data]]]
type = nfs
export_path = /mnt/exports/nfs_data
writable = false
Atributo Tipo Descripción
type String OBLIGATORIO El atributo type debe establecerse nfs en para que todas las exportaciones NFS se diferencien de otros tipos de sistema de archivos compartidos.
export_path String Ruta de acceso local que se va a exportar como un sistema de archivos NFS. Si el directorio aún no existe, se creará.
owner String La cuenta de usuario que debe poseer el directorio exportado.
group String Grupo del usuario que debe poseer el directorio exportado.
mode String Permisos predeterminados del sistema de archivos en el directorio exportado.
red String Interfaz de red en la que se exporta el directorio. El valor predeterminado es all: *.
sync Boolean Opción de exportación sincrónica o asincrónica. Tiene como valor predeterminado true.
writable Boolean La opción de exportación ro/rw para el sistema de archivos. Tiene como valor predeterminado true.
opciones String Cualquier opción no predeterminada que se va a usar al exportar el sistema de archivos.

[[[configuration]]]

Hay un número limitado de opciones de configuración disponibles en ningún espacio de nombres, normalmente por motivos heredados.

Atributo Tipo Descripción
http_proxy String Nombre de host o dirección IP del servidor proxy que se va a usar en el nodo (por ejemplo, 10.10.10.10).
https_proxy String Nombre de host o dirección IP del servidor proxy HTTPS que se va a usar en el nodo. (por ejemplo, 10.10.0.1)
no_proxy String Lista separada por comas de nombres de host o direcciones IP para las que no se va a usar un servidor proxy. Valor predeterminado: 169.254.169.254 para permitir el acceso a los metadatos de Azure