Referência de Livros de Receitas Comuns

Os clusters do Azure CycleCloud são criados e configurados usando uma combinação de uma imagem de computador base, o CycleCloud Cluster Init e a estrutura de automação de infraestrutura do Chef.

Apenas usuários muito avançados do CycleCloud precisarão entender como criar livros de receitas do Chef. No entanto, muitos usuários se beneficiarão de um conhecimento básico de como o CycleCloud usa o Chef. Em particular, os usuários devem entender o conceito de um run_list, recipee Chef attributes.

Conceitos básicos do Chef

Cada node um em um cluster CycleCloud é inicializado seguindo um Chef run_list. O run_list é um conjunto ordenado de recursos ou recipes a ser aplicado para inicializar o nó. Os recipes próprios implementam as operações de sistema de baixo nível necessárias para aplicar o recurso. Cookbooks são coleções que recipes compõem um recurso. Cookbooks e recipes são parametrizados pelo Chef attributes para permitir mais personalização e configuração do recurso.

O CycleCloud é fornecido com um conjunto de modelos de cluster predefinidos que podem ser usados para provisionar um conjunto de tipos de cluster suficientes para muitos usuários. E a personalização adicional é facilmente realizada usando Cluster-Init. Portanto, a maioria dos usuários nunca precisará modificar run_lists ou criar seus próprios recipes e cookbooks.

No entanto, os clusters CycleCloud são provisionados usando um conjunto de Livros de Receitas Comuns disponíveis para todos os clusters do CycleCloud e esses cookbooks têm um conjunto do attributes qual os usuários podem desejar personalizar. Alguns dos mais usados attributes são documentados abaixo.

Observação

Prefira os recursos do Modelo de Cluster à modificação direta dos atributos chef.

Atributos comuns do Cookbook estão sujeitos a alterações. As configurações de atributo geralmente são substituídas, pois os recursos que eles controlam são disponibilizados como recursos mais gerais/avançados do próprio CycleCloud. Se uma personalização estiver disponível no Modelo de Cluster e por meio de um atributo Chef, sempre prefira o método Modelo de Cluster, pois ele é a solução mais geral.

Para obter mais informações sobre a própria estrutura do Opscode Chef, consulte o site da Opscode.

Usando atributos chef

Chef attributes configure a operação de run_list um nó individual ou matriz de nós. Eles devem ser definidos na sub-seção do [[[configuration]]] nó. Por exemplo, para definir a Senha de Administrador do CycleServer para um nó configurado para executar o CycleServer:

[[node cycle_server]]

[[[configuration]]]

run_list = role[monitor], recipe[cyclecloud::searchable], recipe[cfirst], \
recipe[cuser::admins], recipe[cshared::client], recipe[cycle_server::4-2-x], \
recipe[cluster_init], recipe[ccallback::start], recipe[ccallback::stop]

cycle_server.admin.pass=P\@ssw0rd

Thunderball

A Computação de Ciclo fornece um recurso chef chamado thunderball para simplificar o download de objetos de serviços de nuvem para nós. O thunderball lida automaticamente com a repetição do download com falha e dá suporte a várias configurações. Por padrão, o thunderball baixará um arquivo do repositório de pacotes do CycleCloud e o gravará $JETPACK_HOME/system/chef/cache/thunderballsem . Um exemplo usando a configuração padrão:

thunderball "condor" do
    url "cycle/condor-8.2.9.tgz"
end

A tabela a seguir lista todos os atributos do recurso thunderball.

Atributo Descrição
soma de verificação Soma de verificação SHA256 para o artefato a ser baixado.
cliente Cliente de linha de comando a ser usado. Assume o padrão de :pogo.
config Configuração de thunderball personalizada a ser usada.
dest_file O caminho do arquivo para o qual baixar. storedir é ignorado quando dest_file está em uso.
storedir Os arquivos de localização são baixados. Assume o padrão de thunderball.storedir.
url O local do arquivo a ser baixado (completo ou parcial).

Seções de configuração personalizadas podem ser usadas para baixar objetos de outro repositório.

Atributo Descrição
base URL base.
cliente Ferramenta de linha de comando para interagir com o provedor.
endpoint Ponto de extremidade de URL a ser usado.
filename Arquivo de configuração a ser usado.
password Senha do Azure.
proxy_host Host a ser usado como proxy.
proxy_port Porta a ser usada para proxy.
usuário Usuário do sistema local que usará essa configuração. O arquivo de configuração é colocado no diretório inicial desse usuário (filename é ignorado quando isso é usado)
Nome de Usuário Access_key/nome de usuário do Azure.