Basic Chef Knife Commands
Knife Commands Usage
Knife is a command-line tool that comes by default with Chef DK that is Chef Development Kit. Knife provides an interface between your local chef repo and chef server. Basically Knife helps with managing:
- Cookbooks and recipes
- Nodes
- Roles
- Stores of JSON data (including encrypted version)
- Environment
- Cloud Resources and provisioning
- Installation of chef-client on workstation
- Searching of indexed data on chef server
So example of usage of some basic Knife commands is as follow:
Create a new cookbook
knife cookbook create <cookbook_name>
Its recommended to use _ (underscore) in cookbook name instead of - (hyphen).
Upload a new or modified cookbook
knife cookbook upload <cookbook_name>
List all the nodes defined in Chef
knife node list
Show details about a node
knife node show <node_name> -l
Modify a existing node
knife node edit <node_name>
This command will open a default editor, to let you edit node details.
Add a node defined in a file to Chef
knife node from file <file_name>
List all roles
knife role list
Show details about a role
knife role show <role_name>
To query about particular role attribute value use -a option.
Add a role from a file
knife role from file <file_name>
Edit existing role
knife role edit <role_name>
Add a role or recipe to a node
knife node run_list add <node_name> "recipe[cookbook::recipe]"knife node run_list add <node_name> "role[role_name]"knife node run_list add <node_name> "role[role_name],recipe[cookbook::recipe]"
Remove a role or recipe from a node
knife node run_list remove <node_name> "role[role_name]"
Bootstrap a new node with Chef
knife bootstrap <new-host-ip> -x root -P password -N <node_name>
Enjoy chef with knife!
0 comments:
Post a Comment