I see that Chef Infra Client 17, just released, no longer includes the "knife" command. Unfortunately for my company, our system management processes and tooling have grown up over the past 5 years around the assumption that "knife" would be present on every Chef-managed node. I'm concerned that it is going to be a lot of effort for my company to adjust processes, tooling, and culture to no longer having access to "knife" on each node. Does anyone else have similar concerns?
One example of an issue we will face: We have multiple Chef Infra Servers in multiple data centers. Today operations folks do not need to know which server to contact to update a node's run-list, because they make the change from the node itself (or automation makes the change from the node itself). If we move to a model where all run-list changes are made from a Chef Workstation, we're going to have to figure out an efficient way to map a node name to the Chef Infra Server that manages it.
This announcement is in https://docs.chef.io/release_notes_client/
Knife Moved to Workstation
For historical packaging reasons the Chef Infra Client packages have always shipped with the knife command for managing your Chef Infra nodes. With Chef Workstation there’s no benefit to shipping knife in the Chef Infra Client package and there are several downsides. Shipping management tooling within the client is seen as a security risk to many and increases the side of the Chef Infra Client codebase by adding a large number of management dependencies. With Chef Infra Client 17 we’ve split knife into its own Ruby Gem, which will continue to ship in Chef Workstation, but will no longer come bundled with Chef Infra Client. We hope you’ll enjoy the new faster and smaller Chef Infra Client while continuing to use knife in Chef Workstation uninterrupted.