标签: knife

让LAMP堆栈在Vagrant VM上运行(在Windows 7主机下),完整说明?

我有一个Vagrant VM标准问题lucid32.box正在运行.在此设置LAMP的完整说明是什么?

我看过刀(厨师的一部分)并试图:

vagrant@lucid32:~$ knife cookbook site install apache2
Run Code Online (Sandbox Code Playgroud)

但得到了

WARNING: No knife configuration file found
Run Code Online (Sandbox Code Playgroud)

如何设置刀具配置文件以及我应该在其中包含哪些内容?

我一直在网上搜索很多答案,但是部分解决方案不能解释他们的起点/先决条件.

更新

我的目标是自己回答这个问题,因为其他人似乎并不想这样做.这是我目前的理解 - 我的目标是稍后用红色解决我的未知/问题.

Vagrant Windows Host,Linux VM v001  - 初始问题尝试设置后

lamp virtual-machine windows-7 vagrant knife

25
推荐指数
1
解决办法
1万
查看次数

在solr查询中需要转义哪些特殊字符?

更新:认为这个问题一般与solr语法有关,而不是特别是Chef.因此,当我遇到与Chef合作时,我认为任何与Solr一起工作的人也会遇到这个......


我正在开发一个与Chef服务器的搜索API进行通信的应用程序,以查找特定节点.

基于此http://docs.opscode.com/essentials_search.html#special-characters,似乎需要转义许多特殊字符.

注意:我只关注精确匹配模式,而不是通配符.我意识到其中一些字符是通配符的原因.

这是撰写本文时的列表,从上面的URL复制:

+  -  &&  | |  !  ( )  { }  [ ]  ^  "  ~  *  ?  :  \
Run Code Online (Sandbox Code Playgroud)

knife search但是,当我尝试使用这些字符的各种命令时,我会看到不一致的行为.

对于以下示例,我设置了一个标记有的节点 +&|!(){}[]^\"~*?:\\"

这些命令是从bash shell中的Linux机器上运行的:

$ knife search node 'tags:+&|!(){}[]^"~*?:\'
ERROR: knife search failed: invalid search query: 'tags:+&|!(){}[]^"~*?:\'
Run Code Online (Sandbox Code Playgroud)

这表现得如预期,因为没有任何东西被逃脱.现在,我\按照文档建议的方式逃避一切:

$ knife search node 'tags:\+\&\|\!\(\)\{\}\[\]\^\"\~\*\?\:\\'
ERROR: knife search failed: invalid search query: 'tags:\+\&\|\!\(\)\{\}\[\]\^\"\~\*\?\:\\'
Run Code Online (Sandbox Code Playgroud)

奇怪.

任何人都可以对此有所了解,也许可以建议一个能够匹配该标签的查询?

显然,任何人都不可能拥有包含所有这些特殊字符的属性,但我想更好地理解如何转义特殊字符.

谢谢!

lucene solr chef-infra knife

22
推荐指数
2
解决办法
5万
查看次数

使用刀ec2插件在VPC私有子网中创建VM

虽然我写了相当数量的厨师,但我对AWS/VPC和管理网络流量(尤其是堡垒主机)都很陌生.

使用刀ec2插件,我希望能够从我的开发人员工作站动态创建和引导VM.VM应该能够存在于我的VPC的公共或私有子网中.我想在不使用弹性IP的情况下完成所有这些工作.我也希望我的堡垒主机可以放手(即我希望避免在我的堡垒主机上创建明确的每个VM侦听隧道)

我已成功使用刀ec2插件在传统EC2模型中创建VM(例如,在我的VPC之外).我现在正在尝试在我的VPC中创建一个实例.在knife命令行中,我指定了一个网关,安全组,子网等.虚拟机被创建,但是之后刀无法ssh到它.

这是我的刀命令行:

knife ec2 server create \
    --flavor t1.micro \
    --identity-file <ssh_private_key> \
    --image ami-3fec7956 \
    --security-group-ids sg-9721e1f8 \
    --subnet subnet-e4764d88 \
    --ssh-user ubuntu \
    --server-connect-attribute private_ip_address \
    --ssh-port 22 \
    --ssh-gateway <gateway_public_dns_hostname (route 53)> \
    --tags isVPC=true,os=ubuntu-12.04,subnet_type=public-build-1c \
    --node-name <VM_NAME>
Run Code Online (Sandbox Code Playgroud)

我怀疑我的问题与我的堡垒主机的配置有关.经过一天的谷歌搜索,我无法找到有效的配置.我可以ssh到堡垒主机,从那里我可以ssh到新创建的VM.我无法使用gateway参数成功复制此刀.

我玩过/ etc/ssh/ssh_config.今天它是如何存在的:

    ForwardAgent yes
#ForwardX11 no
#ForwardX11Trusted yes
#RhostsRSAAuthentication no
#RSAAuthentication yes
#PasswordAuthentication no
#HostbasedAuthentication yes
#GSSAPIAuthentication no
#GSSAPIDelegateCredentials no
#GSSAPIKeyExchange no
#GSSAPITrustDNS no
#BatchMode no
   CheckHostIP no
#AddressFamily any
#ConnectTimeout 0
    StrictHostKeyChecking no
    IdentityFile ~/.ssh/identity …
Run Code Online (Sandbox Code Playgroud)

ssh amazon-ec2 chef-infra amazon-vpc knife

17
推荐指数
1
解决办法
4829
查看次数

运行"刀客户列表"时无法加载私钥

配置文件写入/ home/ubuntu/sudo /home/ubuntu/chef-repo/.chef/knife.rb

ubuntu@mychefclient:~$ knife client list
WARNING: No knife configuration file found
ERROR: Your private key could not be loaded from /etc/chef/client.pem
Check your configuration file and ensure that your private key is readable
Run Code Online (Sandbox Code Playgroud)

installation ubuntu chef-infra knife

17
推荐指数
1
解决办法
3万
查看次数

如何查询节点上的cookbook版本?

使用案例: DevOps团队不久前推出了一个节点,我的团队想知道run_list中使用的一个/几个cookbook的版本是什么.我们的DevOps团队正在进行消防,因此我们希望找到一种自给自足的方法.

命令已尝试: knife cookbook show COOKBOOK提供所有可能的版本,但不指定正在使用的版本.

knife node show NODE 显示所有烹饪书,但没有附加版本信息.

问:是否有一个命令(类似的东西来knife search,ohai)查询厨师服务器部署在节点上的版本?

cookbook chef-infra chef-recipe knife

16
推荐指数
3
解决办法
1万
查看次数

厨师客户和验证人员

我正在尝试理解Chef客户端和验证器的概念,以及它们与引导过程的关系.

根据这篇文章,chef-client将使用/etc/chef/validation.pem私钥对初始运行进行身份验证,因为/etc/chef/client.pem它还不存在.这个初始运行将以某种方式产生,client.pem然后用于所有后续客户端请求.

我的问题:

  1. 什么过程首先将/etc/chef/validation.pem文件放在chef-client节点上?引导程序?有人可以提供一个刀具命令的例子来做到这一点吗?
  2. 同样的问题,但对于/etc/chef/client.pem文件.
  3. 什么决定了厨师 - 客户及其厨师验证员的名字?

bootstrapping chef-infra knife

14
推荐指数
1
解决办法
1万
查看次数

为什么"刀上传角色"没有上传任何角色?

我遵循了OpsCode 快速入门指南,事情进展顺利,但现在我遇到了试验角色的问题.我在我的仓库中有一个"起始"角色,由OpsCode提供.当我按照第一份官方文档,我可以找到并从我的厨师回购顶部运行以下内容:

knife upload roles
Run Code Online (Sandbox Code Playgroud)

它只是返回而没有任何反应.我的厨师服务器上没有任何角色(新的或更新的).下面这行工作,为创建和更新:

knife role from file .\roles\starter.rb
Run Code Online (Sandbox Code Playgroud)

但我发现它过于繁琐,我更喜欢把我的整个回购推送到服务器(或至少所有角色)的东西,让我更自信一切都是最新的.

chef-infra knife

13
推荐指数
2
解决办法
7629
查看次数

跑刀在地址部分给我双@

我不知道我的安排有什么问题:

siegfried@ubuntu:~/chef-repo$ knife ssh -a ipaddress 'name:chefnode' 'uptime'        

WARNING: Failed to connect to  -- Net::SSH::AuthenticationFailed: Authentication       failed for user siegfried@192.168.1.73@192.168.1.73

failed for user siegfried@192.168.1.73@192.168.1.73
Run Code Online (Sandbox Code Playgroud)

它有两倍@.我完全不知道如何解决它.

chef-infra knife

12
推荐指数
2
解决办法
4048
查看次数

我的Chef数据包项目在哪里?

我试图使用以下命令从chef-repo目录中创建一个Chef数据包:

knife data bag create users deployer
Run Code Online (Sandbox Code Playgroud)

我收到了回复:

Created data_bag[users]
Created data_bag_item[deployer]
Run Code Online (Sandbox Code Playgroud)

但我无法找到数据包用户及其数据包项目.它不在data_bags文件夹中或我可以看到的任何其他位置.如果我做了

knife data bag show users
Run Code Online (Sandbox Code Playgroud)

它会显示数据包项目名称.所以它必须保存在某个地方.文档告诉我数据包应该在chef-repo - > data_bags - > users文件夹中.但我的data_bags文件夹似乎是空的.那么我刚刚创建的数据包在哪里?

chef-infra knife databags

11
推荐指数
2
解决办法
9039
查看次数

解决和下载厨师食谱依赖关系

假设我想使用社区食谱(即http://community.opscode.com/cookbooks/gerrit).所以我将使用'knife cookbook site download'下载并上传到我当地的厨师服务器.我需要为每个直接和瞬态依赖重复此步骤.

是否有单个命令或工具来解析/下载食谱的所有直接和瞬态依赖性?

cookbook chef-infra knife

10
推荐指数
3
解决办法
1万
查看次数