I have a Chef server running on our local network and tested it with other machines on the same network and everything worked fine. I started up a ec2 instance, and try to bootstrap and it works until it tries to connect to the Chef server. My question is, is there any way around having the Chef server public? Or is there a way that I can bypass whatever the node requires from the server?
For example, after I run a knife command of 'knife cookbook upload cookbook_name' from a chef workstation or somewhere, where can I find the history or log about who sent the knife command and when, and what the command is? I need to monitor all the knife behaviors on the chef server side centrally.. How to do that?
You can, for example, to deploy an an Auto Scaling groups consists of web severs, ELB and DB using AWS CloudFormation (with Chef server): http://aws.amazon.com/cloudformation/aws-cloudformation-templates/
But, you need to initially create a CF template, is it possible to do it only using Chef Server and Knife? We don't want to rely much on the CloudFormation and seems the hosted Chef server at (http://www.opscode.com/) is able to do so.
Any opensource alternative?
Thanks.
knife ssh
isn't finding my nodes. I know it should be able to because when I can search for them I find them
# knife search node name:*
2 items found
Node Name: web_01
...
Node Name: admin
...
However, when I run knife ssh
(I'll show it with the 'debug' flag) I get
# knife ssh "node:*" "uptime" -VV
DEBUG: Using configuration from /root/.chef/knife.rb
DEBUG: Signing the request as dev
DEBUG: Sending HTTP Request via GET to ec2-xx-xx-xx-xx.compute-1.amazonaws.com:4000/search/node
FATAL: No nodes returned from search!
(yes the host is correct, I just censored it for the post).
I've tried modifying the QUERY parameter and always get the same results. I've tried:
- node:*
- role:*
- *
- *:*
Any ideas?
I've read the documentation on Chef twice over. I still can't wrap my head around it's concept because they skip but fundamentals and jump to complex deployments with chef-server.
Using chef-solo and possibly knife, is there a simple way to provision a server and deploy?
I may be wrong, but it seems like with my cookbooks prepped, this should be very simple.
knife rackspace server create --flavor 1 --image 112
That provisions my server. I can optionally pass --run-list "recipe[mything]", but how do my cookbooks in ~/my_cookbooks actually get on the server? Do I have to manually transfer them? That seems counterproductive.