knife and berkshelf are both used for uploading the cookbook. the berkshelf is taking care of "third party dependencies" as well feom berkfile or Metadata.rb. Is that the only difference or there is more to it?
knife and berkshelf difference?
356 Views Asked by Kamlendra Sharma At
1
There are 1 best solutions below
Related Questions in CHEF-INFRA
- Get nodes information via chef automate api
- Chef : using search method in a template file
- Node connection failed | Devops | Chef-server | Chef-node
- Chef Recipe; cannot be found in the resource collection
- Unable to run a recipe in chef as it says No such cookbook
- Can't install inspec due to a sha256 error (Cannot find type)
- Handle exit code for server shutdown using Chef recipe and Rundeck
- Accumulator pattern for ruby_block or other non-template resource
- Chef Recipe: iis_pool periodic_restart_schedule getting set to empty array
- How to resolve error with 7zip not getting installed using chef-client version 14.6.47
- Error in bootstrapping chef nodes with chef workstation using ssh
- chef docker-api cookbook fails, error malformed header
- trying to write a receipe to delete a service account using user resource
- Change owner and group of every file directory
- Chef recipe NoMethodError: undefined method `[]' for nil:NilClass
Related Questions in KNIFE
- Is it necessary to refresh the chef vault everytime we regenerate keys?
- Knife Bootstrap SSH connection failed with username and password
- knife ssl check fails wile connecting to manage chef.io
- Knife command output in human readable format
- knife ssh to odd numbered hosts
- How can i send my recipe from chef workstation to chef node without using chef server?
- Knife bootstrap pass environment variable
- How many nodes can be managed by Rundeck Community edition?
- How do I run the chef knife plugin?
- Boostrap chef client in an air gapped environment
- knife node list VS knife exec -E 'nodes.all.each {|n| puts "#{n.name}"}'
- How to mask output logging in Knife.rb file
- Passwordless chef client bootstrapping
- mystery: chef-client/knife: they are ignoring any error in knife.rb and client.rb
- Chef: Re-using a previous registered node (AMI) and bootstraping it - not working
Related Questions in BERKSHELF
- knife and berkshelf difference?
- berks install - Artifactory - Fetching cookbook index from ARTIFACTORY_URL/api/chef/some-chef-repo HANGS
- berkshelf unable to resolve chained git dependency
- Berkfiles and metadata
- Artifactory hosted Chef Supermarket + Chef Server integration
- Chef: private supermarket cookbook directly on server
- Could not load berkshelf
- Chef Berks Install (Berkshelf) Timesout contacting Artifactory repository (Faraday Timeout / Actor Crashed)
- How can I troubleshoot Error Syncing Cookbooks:?
- Berkshelf resolves to very old version of cookbook
- Berkshelf: Cannot set unsupported config value
- ChefSpec unable to find the git installed
- Chef - Generating Berksfile on existing cookbook
- berks upload skipping the cookbook recipe
- Chef/OpsWorks: instance failing on dokku deploy
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In a loose sense, Berkshelf is a kind of "package manager" for Chef cookbooks.
It is somewhat like what
yumis torpm, or whatapt-getis todpkg.As you pointed out, Berkshelf provides dependency management for a given Chef cookbook. It can not only pull external dependencies, but dependent cookbooks (and versions) from a given code (Git/Bitbucket) repository. And with larger Chef deployments, there is always the complication of managing multiple dependencies.
Sometimes the dependencies are immediately obvious. Just to illustrate this, if I have a cookbook
my_rabbitmq_server, withmetadata.rbas:I may be tempted to think that there is only 1 dependency, and I can easily resolve it with
knife.However...
The
rabbitmqcookbook may depend on other cookbooks, which may depend on some others. This kind of nested dependency can result in having to pull many cookbooks (sometimes > 10). This can be done by knife, but it is time consuming and error prone.Another feature is that cookbooks uploaded with Berkshelf are frozen for that version (default behaviour). It will prevent the cookbook with same version from being uploaded again.
If we refer to the above example, I would not be able to upload
my_rabbitmq_serverversion0.1.0with Berkshelf after making some changes. So it kind of makes version bump necessary for any changes to cookbook code.If you haven't already gone through the official documentation, I would highly recommend you to do so.