Configuração do Cluster
Os objetos de configuração são classificados 3 e subordinados a node
e nodearray
. O objeto de configuração define as propriedades configuráveis para o código de configuração que é executado nos nós e nas configurações do Projeto CycleCloud .
Atributos de objeto
Os atributos de objeto de configuração se comportam como outros objetos, mas são estendidos para fornecer definições aninhadas. Internamente, as seções de configuração são mescladas, portanto, pode haver um número arbitrário de seções.
Nenhuma aspa é necessária para cadeias de caracteres ou para expressões boolianas, verdadeiras ou falsas.
[[[configuraton my-project]]]
Attribute1 = Value1
Attribute2 = Value2
KeyAttribute3.Attribute3 = true
[[[configuraton cyclecloud.mounts.mount1]]]
Attribute1 = Value1
Configurações com suporte
O CycleCloud dá suporte a vários objetos de configuração padrão. Esses objetos com suporte estão contidos no nome cyclecloud
.
[[[configuration cyclecloud]]]
O CycleCloud dá suporte à configuração parametrizada de muitos serviços do sistema.
Atributo | Type | Descrição |
---|---|---|
maintenance_converge.enabled | Boolean | Os nós do CycleCloud são reconfigurados a cada 20 minutos para garantir que estejam no estado correto. Há momentos em que talvez você não queira que esse seja o comportamento padrão, como quando você está testando e atualizando manualmente a configuração em um nó. Definir esse valor como false fará com que o nó se configure apenas uma vez. Padrão: true |
node.prevent_metadata_access | Boolean | Impede que usuários, além do usuário raiz ou usuário do cyclecloud, acessem os metadados da VM do nó. Essas regras de acesso são aplicadas em iptables . Padrão: true |
timezone | String | O fuso horário de um nó pode ser alterado definindo esse atributo como qualquer cadeia de caracteres de fuso horário válida, por exemplo PST , EST . Padrão: UTC |
ntp.disabled | Boolean | Opt-out do serviço de tempo ntp definindo true . Padrão: false |
ntp.servers | Lista (cadeia de caracteres) | Uma lista de servidores NTP a serem usados. Padrão: pool.ntp.org |
keepalive.timeout | Integer | A quantidade de tempo em segundos para manter um nó "vivo" se ele não tiver terminado de instalar/configurar software. Padrão: 14400 (4 horas) |
Detectável | Boolean | Se esse nó pode ou não ser "descoberto" (pesquisado) por outros nós iniciados pelo CycleCloud. Padrão: false |
autoscale.forced_shutdown_timeout | Integer | A quantidade de tempo (em minutos) antes de um desligamento forçado ocorrer se o dimensionamento automático não puder reduzir o nó com êxito. Padrão: 15 |
security.limits | Integer | Somente Linux. Os limites a serem aplicados ao nó. Domínio, tipo e item podem ser especificados para qualquer valor válido definido. Padrões: security.limits.\*.hard.nofile = 524288 e security.limits.\*.soft.nofile = 1048576 |
Montagens | Aninhado | Para exportação e montagem de NFS e montagem de volume. |
selinux.policy | String | Somente Linux.
Ignorar uma política imposta selinux para imagens personalizadas. Já desabilitado em imagens principais do CycleCloud. |
install_epel | Boolean | Adicione o repositório de pacotes estendidos para yum na imagem variante do RedHat. Padrão: true |
disable_rhui | Boolean | Opt-out das configurações do repositório Red Hat. Padrão: false |
ganglia.install | Boolean | Recusar a instalação de ganglias definindo false . Padrão: true |
fail2ban.enabled | Boolean | Opt-out da instalação fail2ban definindo false . Padrão: true |
dns.domain | String | Use nsupdate para forçar uma atualização dinâmica de registro DNS. Somente útil quando permitido pela política DNS, e o cluster está usando um servidor DNS que permite atualizações dinâmicas. Padrão: nil |
dns.alias | String | Use nsupdate para forçar uma atualização dinâmica de registro DNS. Somente útil quando permitido pela política DNS, e o cluster está usando um servidor DNS que permite atualizações dinâmicas. Padrão: nil |
replace_sudoers | Boolean | Permitir que o Cyclecloud gerencie a configuração sudoers. Desabilitar pode interferir nos serviços de usuário ou agendador. Padrão: true |
Atributo | Type | Descrição |
---|---|---|
keepalive.timeout | Integer | A quantidade de tempo em segundos para manter um nó "vivo" se ele não tiver terminado de instalar/configurar software. Padrão: 14400 (4 horas) |
Detectável | Boolean | Se esse nó pode ou não ser "descoberto" (pesquisado) por outros nós iniciados pelo CycleCloud. Padrão: false |
security.limits | Integer | Somente Linux. Os limites a serem aplicados ao nó. Domínio, tipo e item podem ser especificados para qualquer valor válido definido. Padrões: security.limits.\*.hard.nofile = 524288 e security.limits.\*.soft.nofile = 1048576 |
Montagens | Aninhado | Para exportação e montagem de NFS e montagem de volume. |
selinux.policy | String | Somente Linux.
Ignorar uma política imposta selinux em instâncias de cluster. Padrão: nil |
dns.domain | String | Use nsupdate para forçar uma atualização dinâmica de registro DNS. Somente útil quando permitido pela política DNS, e o cluster está usando um servidor DNS que permite atualizações dinâmicas. Padrão: nil |
dns.alias | String | Use nsupdate para forçar uma atualização dinâmica de registro DNS. Somente útil quando permitido pela política DNS, e o cluster está usando um servidor DNS que permite atualizações dinâmicas. Padrão: nil |
samba.enabled | Boolean | Somente Linux. Instala o Samba em um arquivador para uso com nós de execução do Windows. Padrão: false |
[[[configuration cyclecloud.cluster]]]
O namespace CycleCloud cluster
contém configurações para serviços distribuídos e aplicativos clusterizados.
Atributo | Type | Descrição |
---|---|---|
autoscale.idle_time_after_jobs | Integer | Os nós serão encerrados se estiverem ociosos pelo tempo especificado (em segundos) após executarem trabalhos. Padrão: 1800 |
autoscale.idle_time_before_jobs | Integer | Os nós serão encerrados se estiverem ociosos pelo tempo especificado (em segundos) antes de executarem trabalhos. Padrão: 1800 |
autoscale.stop_interval | Integer | Atraso de tempo entre execuções de verificações de parada automática (em segundos). Padrão: 60 . |
autoscale.use_node_groups | Boolean | Habilitar nós agrupados – equivalente a grupos de posicionamento. Afeta apenas clusters PBSPro e Grid Engine . Padrão: true |
[[[configuration cyclecloud.hosts.standalone_dns]]]
O CycleCloud configurará o arquivo /etc/hosts para conter um grande conjunto de hosts para que a resolução de nome reverso e encaminhado seja funcional. Essas configurações atuam para operar como substituição de DNS configurada nos nós individuais, não gerenciados centralmente, portanto chamado de DNS autônomo.
Atributo | Type | Descrição |
---|---|---|
Habilitado | Boolean | Habilitar o gerenciamento do arquivo etc hosts. Padrão: true . |
alt_suffix | String | Substitua o nome de domínio padrão da VNET. Exemplo: contoso.com |
sub-redes | Lista (cadeia de caracteres) | Lista de blocos CIDR para resolução de nomes autônomos estendidos. |
Por padrão, o CycleCloud inspecionará a interface de rede e redigirá o arquivo /etc/hosts para incluir hosts na máscara de sub-rede. Intervalos adicionais podem ser adicionados usando o subnets
atributo.
[[[configuration cyclecloud.hosts.standalone_dns]]]
alt_suffix = my-domain.local
subnets = 10.0.1.0/24, 10.0.5.0/24
Para substituir e desabilitar o serviço autônomo:
[[[configuration ]]]
cyclecloud.hosts.standalone_dns.enabled = false
[[[configuration cyclecloud.mounts]]]
Um subdomínio significativo da configuração de cyclecloud são montagens. Cada seção de montagem nomeada corresponde a uma entrada em /etc/fstab.
Um exemplo de uma seção de montagem chamada 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
O nome da seção de montagem correlaciona-se ao mount
atributo de um [[[volume]]]
objeto.
Atributo | Type | Descrição |
---|---|---|
type | String | O atributo de tipo deve ser definido para nfs todas as exportações de NFS para diferenciar de montagens de volume e outros tipos de sistema de arquivos compartilhados. |
export_path | String | O local da exportação no arquivador NFS. Se um export_path não for especificado, a mountpoint montagem será usada como .export_path |
fs_type | String | Tipo de sistema de arquivos a ser usado. Por exemplo ext4 , xfs . |
Mountpoint | String | O local em que o sistema de arquivos será montado depois que qualquer configuração adicional for aplicada. Se o diretório ainda não existir, ele será criado. |
cluster_name | String | O nome do cluster CycleCloud que exporta o sistema de arquivos. Se não estiver definido, o cluster local do nó será assumido. |
address | String | O nome de host explícito ou endereço IP do sistema de arquivos. Se não estiver definido, a pesquisa tentará localizar o sistema de arquivos em um cluster CycleCloud. |
opções | String | Todas as opções não padrão a serem usadas ao montar o sistema de arquivos. |
desabilitado | Boolean | Se definido como true , o nó não montará o sistema de arquivos. |
raid_level | Integer | O tipo de configuração RAID a ser usado quando vários dispositivos/volumes estão sendo usados. O padrão é um valor de 0 , ou seja, RAID0, mas outros níveis de raid podem ser usados como 1 ou 10 . |
raid_device_symlink | String | Quando um dispositivo raid é criado, especificar esse atributo criará um link simbólico para o dispositivo raid. Por padrão, esse atributo não é definido e, portanto, nenhum symlink é criado. Isso deve ser definido nos casos em que você precisa de acesso ao dispositivo de ataque subjacente. |
dispositivos | Lista (cadeia de caracteres) | Esta é uma lista de dispositivos que devem compor o mountpoint . Em geral, esse parâmetro não deve ser especificado (como CycleCloud definirá isso para você com base nas seções [[[volume]]]), mas você pode especificar manualmente os dispositivos, se assim desejar. |
vg_name | String | Os dispositivos são configurados no Linux usando o LVM (Logical Volume Manager). O nome do grupo de volumes será atribuído automaticamente, mas nos casos em que um nome específico é usado, esse atributo pode ser definido. O padrão é definido como cyclecloud-vgX , em que X é um número atribuído automaticamente. |
lv_name | String | Os dispositivos são configurados no Linux usando o LVM (Logical Volume Manager). Esse valor é atribuído automaticamente e não precisa de especificação, mas se você quiser usar um nome de volume lógico personalizado, ele pode ser especificado usando esse atributo. Assume o padrão de lv0 . |
ordem | Integer | Ao especificar uma ordem, você pode controlar a ordem na qual os pontos de montagem são montados. O valor de pedido padrão para todos os pontos de montagem é 1000, exceto para 'efêmero', que é 0 (efêmero é sempre montado primeiro por padrão). Você pode substituir esse comportamento caso a caso, conforme necessário. |
encryption.bits | Integer | O número de bits a serem usados ao criptografar o sistema de arquivos. Os valores padrão são 128 ou 256 bits de criptografia AES. Esse valor será necessário se a criptografia for desejada. |
encryption.key | String | A chave de criptografia a ser usada ao criptografar o sistema de arquivos. Se omitida, uma chave aleatória de 2048 bits será gerada. A chave gerada automaticamente é útil para quando você está criptografando discos que não persistem entre reinicializações (por exemplo, criptografar dispositivos efêmeros). |
encryption.name | String | O nome do sistema de arquivos criptografado, usado ao salvar chaves de criptografia.
cyclecloud_cryptX O padrão é, em que X é um número gerado automaticamente. |
encryption.key_path | String | O local do arquivo no qual a chave será gravada no disco.
/root/cyclecloud_cryptX.key O padrão é, em que X é um número gerado automaticamente. |
[[[configuration cyclecloud.exports]]]
Semelhante às montagens, os nós do CycleCloud podem ser configurados como servidores NFS se a receita do servidor estiver habilitada. A seção Exportar corresponde à entrada /etc/exports .
Um exemplo de uso de exportações com um objeto de exportação chamado nfs_data
:
[[[configuration cyclecloud.exports.nfs_data]]]
type = nfs
export_path = /mnt/exports/nfs_data
writable = false
Atributo | Type | Descrição |
---|---|---|
type | String |
NECESSÁRIO O atributo de tipo deve ser definido para nfs todas as exportações de NFS para diferenciar de outros tipos de sistema de arquivos compartilhados. |
export_path | String | O caminho local para exportar como um sistema de arquivos NFS. Se o diretório ainda não existir, ele será criado. |
proprietário | String | A conta de usuário que deve ser dona do diretório exportado. |
group | String | O grupo do usuário que deve possuir o diretório exportado. |
mode | String | As permissões padrão do sistema de arquivos no diretório exportado. |
network | String | A interface de rede na qual o diretório é exportado. Padrão para todos: * . |
sync | Boolean | Opção de exportação síncrona/assíncrona. Assume o padrão de true . |
gravável | Boolean | A opção de exportação ro/rw para o sistema de arquivos. Assume o padrão de true . |
opções | String | Todas as opções não padrão a serem usadas ao exportar o sistema de arquivos. |
[[[configuration]]]
Um número limitado de opções de configuração está disponível sem namespace, geralmente por motivos herdados.
Atributo | Type | Descrição |
---|---|---|
http_proxy | String | O nome do host ou endereço IP do servidor proxy a ser usado no nó (por exemplo, 10.10.10.10) |
https_proxy | String | O nome do host ou endereço IP do servidor proxy HTTPS a ser usado no nó. (por exemplo, 10.10.0.1) |
no_proxy | String | Uma lista separada por vírgulas de nomes de host ou endereços IP para os quais não usar um servidor proxy. Padrão: 169.254.169.254 para permitir o acesso aos metadados do Azure |