Inicialização de nuvem
O CycleCloud dá suporte ao cloud-init como uma forma de configurar uma VM (máquina virtual) na primeira inicialização antes que qualquer outra configuração específica do CycleCloud ocorra na VM. O uso do cloud-init é uma maneira eficaz de configurar aspectos de uma VM (como rede, espelhos yum/apt etc.) antes de qualquer software gerenciado pelo CycleCloud (agendadores HPC) ser instalado.
Veja abaixo um exemplo simples de especificação de um script bash a ser executado na inicialização usando o CloudInit
atributo em um modelo de cluster:
[node scheduler]
CloudInit = '''#!/bin/bash
echo "cloud-init works" > /tmp/cloud-init.txt
'''
Observação
Cadeias de caracteres com aspas triplas podem ser usadas em um modelo de cluster para especificar uma cadeia de caracteres de várias linhas, como um script bash ou YAML.
Aviso
Nem todas as imagens do sistema operacional em Suporte do Azure cloud-init. Consulte suporte de cloud-init para máquinas virtuais no Azure para obter detalhes sobre quais imagens dão suporte à cloud-init e à linha do tempo para quando o suporte mais amplo estará disponível.
Configurando Cloud-Init usando a interface do usuário
A interface do usuário do CycleCloud tem suporte para edição de inicialização de nuvem. Ao criar ou editar qualquer cluster, uma nova guia chamada "Cloud-Init" permitirá que você edite o script de inicialização de nuvem para cada nó no cluster. O editor na interface do usuário do CycleCloud permitirá qualquer entrada de texto. O realce de sintaxe está habilitado para Python, scripts shell ou YAML.
Cloud-Init ordenação e tratamento de erros
Para nós do CycleCloud com CloudInit
especificados, o CycleCloud provisionará a VM e aguardará até que o cloud-init seja executado até a conclusão antes que qualquer outra configuração ocorra. Se CloudInit
for especificado no nó e o CycleCloud não detectar o suporte de inicialização de nuvem para o sistema operacional, o nó entrará em um estado de erro e o motivo será retransmitido para o CycleCloud. Se o CloudInit
script não for executado (por exemplo, devido a um erro de script ou erro de sintaxe), o nó entrará em um estado de erro e o erro relatado pelo cloud-init será retransmitido para o CycleCloud.
Depois que o cloud-init for executado até a conclusão sem erros, o CycleCloud continuará configurando a VM como de costume.
Importante
O CycleCloud não mesclará automaticamente scripts de inicialização de nuvem. Se um [node defaults]
especificar um cloud-init, bem como um nó herdado de padrões, o script cloud-init em [node defaults]
será substituído. Mesclar scripts manualmente é sugerido quando o código precisa ser compartilhado. Como alternativa, um formato de dados de usuário de arquivo de inclusão pode ser usado para incluir uma lista de URLs a serem processadas pelo cloud-init.