Condividi tramite


Configurazione cluster

Gli oggetti di configurazione sono classifica 3 e subordinati a node e nodearray. L'oggetto di configurazione definisce le proprietà configurabili per il codice di configurazione in esecuzione nei nodi e nelle configurazioni di CycleCloud Project .

Attributi dell'oggetto

Gli attributi degli oggetti di configurazione si comportano come altri oggetti, ma vengono estesi per fornire definizioni annidate. Internamente, le sezioni di configurazione vengono unite, pertanto è possibile che esista un numero arbitrario di sezioni.

Non sono necessarie virgolette per stringhe o per espressioni booleane, true o false.

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

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

Configurazioni supportate

CycleCloud supporta numerosi oggetti di configurazione predefiniti. Questi oggetti supportati sono contenuti sotto il nome cyclecloud.

[[[configuration cyclecloud]]]

CycleCloud supporta la configurazione con parametri di molti servizi di sistema.

Attributo Type Descrizione
maintenance_converge.enabled Boolean I nodi CycleCloud vengono riconfigurati ogni 20 minuti per assicurarsi che siano nello stato corretto. È possibile che non si voglia che questo sia il comportamento predefinito, ad esempio quando si esegue manualmente il test e si aggiorna la configurazione in un nodo. Se si imposta questo valore su false, il nodo verrà configurato una sola volta. Valore predefinito: true
node.prevent_metadata_access Boolean Impedisce agli utenti, diverso dall'utente radice o dall'utente cyclecloud di accedere ai metadati della macchina virtuale dal nodo. Queste regole di accesso vengono applicate in iptables. Valore predefinito: true
timezone string Il fuso orario per un nodo può essere modificato impostando questo attributo su qualsiasi stringa di fuso orario valida, ad esempio PST, EST. Valore predefinito: UTC
ntp.disabled Boolean Rifiutare esplicitamente il servizio ntp time impostando true. Valore predefinito: false
ntp.servers Elenco (stringa) Elenco di server NTP da usare. Valore predefinito: pool.ntp.org
keepalive.timeout Integer Quantità di tempo in secondi per mantenere un nodo "vivo" se non è stato completato l'installazione/la configurazione del software. Impostazione predefinita: 14400 (4 ore)
Individuabile Boolean Se questo nodo può essere "individuato" (cercato) da altri nodi avviati da CycleCloud. Valore predefinito: false
autoscale.forced_shutdown_timeout Integer La quantità di tempo (in minuti) prima che si verifichi un arresto forzato se la scalabilità automatica non riesce a ridimensionare correttamente il nodo. Valore predefinito: 15
security.limits Integer Solo Linux. Limiti da applicare al nodo. È possibile specificare un dominio, un tipo e un elemento per qualsiasi valore valido definito. Impostazioni predefinite: security.limits.\*.hard.nofile = 524288 e security.limits.\*.soft.nofile = 1048576
Monta Annidato Per l'esportazione e il montaggio del volume NFS .
selinux.policy Stringa Solo Linux. Ignorare un criterio applicato selinux per le immagini personalizzate. Già disabilitato nelle immagini CycleCloud di base.
install_epel Boolean Aggiungere il repository dei pacchetti estesi per yum nell'immagine variant di RedHat. Valore predefinito: true
disable_rhui Boolean Rifiuto esplicito delle configurazioni del repository Red Hat. Predefinito: false
ganglia.install Boolean Rifiutare esplicitamente l'installazione di ganglia impostando false. Valore predefinito: true
fail2ban.enabled Boolean Rifiutare esplicitamente l'installazione fail2ban impostando false. Valore predefinito: true
dns.domain Stringa Usare nsupdate per forzare un aggiornamento di record DNS dinamico. Utile SOLO quando consentito dai criteri DNS e il cluster usa un server DNS che consente aggiornamenti dinamici. Valore predefinito: nil
dns.alias Stringa Usare nsupdate per forzare un aggiornamento di record DNS dinamico. Utile SOLO quando consentito dai criteri DNS e il cluster usa un server DNS che consente aggiornamenti dinamici. Valore predefinito: nil
replace_sudoers Boolean Consenti a Cyclecloud di gestire la configurazione dei sudoer. La disabilitazione può interferire con i servizi utente o utilità di pianificazione. Valore predefinito: true
Attributo Type Descrizione
keepalive.timeout Integer Quantità di tempo in secondi per mantenere un nodo "vivo" se non è stato completato l'installazione/la configurazione del software. Impostazione predefinita: 14400 (4 ore)
Individuabile Boolean Se questo nodo può essere "individuato" (cercato) da altri nodi avviati da CycleCloud. Valore predefinito: false
security.limits Integer Solo Linux. Limiti da applicare al nodo. È possibile specificare un dominio, un tipo e un elemento per qualsiasi valore valido definito. Impostazioni predefinite: security.limits.\*.hard.nofile = 524288 e security.limits.\*.soft.nofile = 1048576
Monta Annidato Per l'esportazione e il montaggio del volume NFS .
selinux.policy Stringa Solo Linux. Ignorare un criterio applicato selinux nelle istanze del cluster. Valore predefinito: nil
dns.domain Stringa Usare nsupdate per forzare un aggiornamento di record DNS dinamico. Utile SOLO quando consentito dai criteri DNS e il cluster usa un server DNS che consente aggiornamenti dinamici. Valore predefinito: nil
dns.alias Stringa Usare nsupdate per forzare un aggiornamento di record DNS dinamico. Utile SOLO quando consentito dai criteri DNS e il cluster usa un server DNS che consente aggiornamenti dinamici. Valore predefinito: nil
samba.enabled Boolean Solo Linux. Installa Samba in un filer da usare con i nodi di esecuzione di Windows. Valore predefinito: false

[[[configuration cyclecloud.cluster]]]

Lo spazio dei nomi CycleCloud cluster contiene configurazioni per i servizi distribuiti e le applicazioni cluster.

Attributo Type Descrizione
autoscale.idle_time_after_jobs Integer I nodi vengono terminati se sono inattive per l'ora specificata (in secondi) dopo l'esecuzione dei processi. Valore predefinito: 1800
autoscale.idle_time_before_jobs Integer I nodi vengono terminati se sono inattive per l'ora specificata (in secondi) prima di aver eseguito processi. Valore predefinito: 1800
autoscale.stop_interval Integer Ritardo di tempo tra esecuzioni di controlli di arresto automatico (in secondi). Impostazione predefinita: 60.
autoscale.use_node_groups Boolean Abilitare i nodi raggruppati: equivalenti ai gruppi di posizionamento. Effetti solo i cluster PBSPro e Grid Engine . Valore predefinito: true

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

CycleCloud configura il file /etc/host per contenere un set elevato di host in modo che la risoluzione dei nomi in avanti e inversa sia funzionale. Queste configurazioni fungono da sostituzione DNS configurata nei singoli nodi, non gestiti centralmente, quindi denominati DNS autonomi.

Attributo Type Descrizione
Enabled Boolean Abilitare la gestione del file host e così via. Impostazione predefinita: true.
alt_suffix Stringa Eseguire l'override del nome di dominio predefinito della rete virtuale. Esempio: contoso.com
subnet Elenco (stringa) Elenco dei blocchi CIDR per la risoluzione dei nomi autonomi estesi.

Per impostazione predefinita, CycleCloud controlla l'interfaccia di rete e compone il file /etc/host per includere gli host nella subnet mask. È possibile aggiungere intervalli aggiuntivi usando l'attributo subnets .

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

Per eseguire l'override e disabilitare il servizio autonomo:

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

[[[configuration cyclecloud.mounts]]]

Un sottodominio significativo della configurazione cyclecloud è montato. Ogni sezione di montaggio denominata corrisponde a una voce in /etc/fstab.

Esempio di una sezione di montaggio denominata 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

Il nome della sezione di montaggio correla all'attributo mount di un [[[volume]]] oggetto.

Attributo Type Descrizione
type Stringa L'attributo type deve essere impostato su nfs per tutte le esportazioni NFS per differenziare i montaggi del volume e altri tipi di file system condivisi.
export_path Stringa Percorso dell'esportazione nel filer NFS. Se un export_path oggetto non è specificato, verrà usato come mountpoint .export_path
fs_type Stringa Tipo di file system da usare. Ad esempio ext4, xfs.
Mountpoint Stringa Percorso in cui verrà montato il file system dopo l'applicazione di qualsiasi configurazione aggiuntiva. Se la directory non esiste già, verrà creata.
cluster_name Stringa Nome del cluster CycleCloud che esporta il file system. In caso contrario, verrà utilizzato il cluster locale del nodo.
address Stringa Nome host esplicito o indirizzo IP del file system. Se non impostato, la ricerca tenterà di trovare il file system in un cluster CycleCloud.
opzioni Stringa Tutte le opzioni non predefinite da utilizzare per il montaggio del file system.
disabled Boolean Se impostato su true, il nodo non monta il file system.
raid_level Integer Tipo di configurazione RAID da usare quando vengono usati più dispositivi/volumi. Il valore 0predefinito è , ovvero RAID0, ma è possibile usare altri livelli raid, 1 ad esempio o 10.
raid_device_symlink Stringa Quando viene creato un dispositivo raid, specificando questo attributo verrà creato un collegamento simbolico al dispositivo raid. Per impostazione predefinita, questo attributo non è impostato e pertanto non viene creato alcun collegamento simbolico. Questa impostazione deve essere impostata nei casi in cui è necessario accedere al dispositivo raid sottostante.
devices Elenco (stringa) Questo è un elenco di dispositivi che devono comporre .mountpoint In generale, questo parametro non deve essere specificato (poiché CycleCloud lo imposterà in base alle sezioni [[volume]]]), ma è possibile specificare manualmente i dispositivi, se necessario.
vg_name Stringa I dispositivi vengono configurati in Linux usando Gestione volumi logici (LVM). Il nome del gruppo di volumi verrà assegnato automaticamente, ma nei casi in cui viene usato un nome specifico, è possibile impostare questo attributo. Il valore predefinito è impostato su cyclecloud-vgX, dove X è un numero assegnato automaticamente.
lv_name Stringa I dispositivi vengono configurati in Linux usando Gestione volumi logici (LVM). Questo valore viene assegnato automaticamente e non richiede specifiche, ma se si vuole usare un nome di volume logico personalizzato, è possibile specificarlo usando questo attributo. Il valore predefinito è lv0.
order Integer Specificando un ordine, è possibile controllare l'ordine in cui vengono montati i punti di montaggio. Il valore predefinito dell'ordine per tutti i punti di montaggio è 1000, ad eccezione di 'effimero' che è 0 (l'effimero viene sempre montato per impostazione predefinita). È possibile eseguire l'override di questo comportamento caso per caso in base alle esigenze.
encryption.bits Integer Numero di bit da utilizzare durante la crittografia del file system. I valori standard sono 128 o 256 bit crittografia AES. Questo valore è obbligatorio se si desidera la crittografia.
encryption.key Stringa Chiave di crittografia da usare per crittografare il file system. Se omesso, verrà generata una chiave a 2048 bit casuale. La chiave generata automaticamente è utile quando si crittografano i dischi che non vengono mantenuti tra i riavvii (ad esempio, la crittografia di dispositivi temporanei).
encryption.name Stringa Nome del file system crittografato, utilizzato durante il salvataggio delle chiavi di crittografia. cyclecloud_cryptXIl valore predefinito è , dove X è un numero generato automaticamente.
encryption.key_path Stringa Il percorso del file in cui verrà scritta la chiave sul disco. /root/cyclecloud_cryptX.keyIl valore predefinito è , dove X è un numero generato automaticamente.

[[[configuration cyclecloud.exports]]]

Analogamente ai montaggi, i nodi CycleCloud possono essere configurati come server NFS se la ricetta del server è abilitata. La sezione Esporta corrisponde alla voce /etc/export .

Esempio di utilizzo delle esportazioni con un oggetto di esportazione denominato nfs_data:

[[[configuration cyclecloud.exports.nfs_data]]]
type = nfs
export_path = /mnt/exports/nfs_data
writable = false
Attributo Type Descrizione
type Stringa OBBLIGATORIO L'attributo type deve essere impostato su nfs per tutte le esportazioni NFS per differenziare da altri tipi di file system condivisi.
export_path Stringa Percorso locale da esportare come file system NFS. Se la directory non esiste già, verrà creata.
proprietario Stringa Account utente proprietario della directory esportata.
gruppo Stringa Gruppo dell'utente che deve essere proprietario della directory esportata.
mode Stringa Autorizzazioni predefinite per il file system nella directory esportata.
network Stringa Interfaccia di rete in cui viene esportata la directory. Il valore predefinito è all: *.
sync Boolean Opzione di esportazione sincrona/asincrona. Il valore predefinito è true.
Scrivibile Boolean Opzione di esportazione ro/rw per il file system. Il valore predefinito è true.
opzioni Stringa Tutte le opzioni non predefinite da utilizzare per l'esportazione del file system.

[[[configuration]]]

Un numero limitato di opzioni di configurazione è disponibile senza spazio dei nomi, in genere per motivi legacy.

Attributo Type Descrizione
http_proxy Stringa Nome host o indirizzo IP del server proxy da usare nel nodo (ad esempio 10.10.10.10.10.10)
https_proxy Stringa Nome host o indirizzo IP del server proxy HTTPS da usare nel nodo. (ad esempio 10.10.0.1)
no_proxy Stringa Elenco delimitato da virgole di nomi host o indirizzi IP non per l'uso di un server proxy. Impostazione predefinita: 169.254.169.254 per consentire l'accesso ai metadati di Azure