Chef - nós
Knife preflight mostra detalhes sobre todos os nós que usam um determinado livro de receitas antes de enviá-lo para o servidor Chef.
Começando
Para começar, precisamos ter a gema de comprovação de faca instalada.
Step 1 - Defina o caminho no arquivo gem.
[email protected]:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'knife-preflight'
Step 2 - Execute o bundler para instalar a gema de simulação de faca.
[email protected]:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing knife-preflight (0.1.6)
Método de trabalho
Execute o pré-lançamento com faca no livro de receitas fornecido.
Podemos executar o comando preflight para descobrir quais nós e funções têm o livro de receitas fornecido em suas listas de execução expandidas.
[email protected]:~/chef-repo $ knife preflight ntp
Searching for nodes containing ntp OR ntp::default in their
expanded run_list...
2 Nodes found
www-staging.example.com
cms-staging.example.com
Searching for roles containing ntp OR ntp::default in their
expanded run_list...
3 Roles found
your_cms_role
your_www_role
your_app_role
Found 6 nodes and 3 roles using the specified search
criteria
Existem várias maneiras de um livro de receitas ser executado no nó.
Você pode atribuir o livro de receitas diretamente a um nó, adicionando-o à lista de execução do nó.
Você pode adicionar um livro de receitas à função e adicionar a função à lista de execução do nó.
Você pode adicionar a função à lista de execução de outra função e adicionar essa outra função à lista de execução do nó.
Um livro de receitas pode ser uma dependência de outro livro de receitas usado.
Não importa como um livro de receitas termina na lista de execução de um nó, o comando faca preflight irá pegá-lo, pois o Chef armazena todas as listas expandidas de funções e receitas nos atributos do nó. O comando de comprovação de faca emite uma busca por exatamente esses atributos de nó.