使用操作码厨师,有没有办法查找或循环所有用户帐户?
我需要在每个用户的主目录中创建一个配置文件。我不想为此循环任何目录结构。
是否有一个knife咒语可以让我检查环境中给定(或所有)节点的上次签入时间。(与 Open-Source Chef 中的 http:///status 页面相反。)
开始使用流浪配置。主机是Windows。我有一个非常简单的配置,所以我想使用 Ansible,但得到了这个:
[default] Running provisioner: ansible...
The executable 'ansible-playbook' Vagrant is trying to run was not
found in the %PATH% variable. This is an error. Please verify
this software is installed and on the path.
Run Code Online (Sandbox Code Playgroud)
所以基本上,我认为这意味着 Vagrant 想要自己安装 Ansible,并试图使用 Ansible 的现有实例(我没有)。
我的问题是:Vagrant 中是否内置了Chef 或 Puppet ?我希望能够只安装 Vagrant 并vagrant up按照它应该的工作方式运行,除此之外无需在主机上安装配置系统。
谢谢!
我正在尝试使用 Chef 添加/修改一些本地用户帐户。无论出于何种原因,LDAP 中都有重复的帐户。由于系统使用 sssd/pam/ldap,它会将用户视为存在,但无法修改它们,因为它们不在 /etc/passwd 中。
有没有办法完全绕过 ldap 帐户,这样它们就不会被识别?然后 Chef 将正确创建它们。
一般来说(据我所知)主要的基础设施/配置管理系统(Puppet、Chef、Ansible 和 SaltStack)都基于这样的理念:您的服务器是“牛”而不是“宠物”,而且它们似乎可能与直接对服务器进行配置更改的想法相矛盾。
尽管我曾与 Chef、Puppet 和 Salt 合作过,但始终是从与 Vagrant 合作的开发人员的角度出发,为开发设置单独的盒子,因此我的经验无助于回答这个问题。
问题是:这些系统是否支持直接对服务器进行更改并将其保留一段时间而不必担心本地守护程序会用官方配置覆盖它的用例?您应该能够进行更改(并且最好设置防止覆盖的时间窗口),而无需对(例如)厨师食谱或盐状态进行任何重大更改。此用例的全部目的是避免让五分钟的配置更改因公司摩擦和找到正确(例如)盐状态并确保没有副作用并完成发布/部署的复杂性而陷入困境循环和测试以确保您在此过程中没有发生任何事情。
如果您想要一个更具体的示例,假设您想要调整多个日志的 logrotate 设置,以平衡节省驱动器空间和访问历史数据。您知道在任何给定设置下将保存多少数据,以及您认为需要保留多少数据,但您不能 100% 确定。最好一开始就进行更改,然后看到 (1) 有人抱怨他们需要更多历史数据来执行某些调试任务,或者 (2) 您没有节省预期的驱动器空间,需要节省。
五分钟的更改实际上可以是五分钟的更改,如果您的配置管理系统允许它是一个,然后一旦您确信您希望在所有履行特定角色的盒子上进行这些更改,您可以让Chef/Puppet/Salt/Ansible 会为您管理。
注意:我不是在询问配置管理系统尚未管理某种类型的配置文件的用例,而是询问它已经在管理某种类型的配置文件,但您想要进行本地更改并让它们在给定的机器上优先,并且不被覆盖。
这些系统是否支持我的用例?(不需要我与系统战斗或进行后空翻来使其工作。)
我想在大约 20 个 Linux 服务器上更改 root 密码。主要是 CentOS 和 Ubuntu。
所以我看过 Puppet、chef 和 cfengine,但我真的不知道他们是否可以做到这一点,或者他们是否会为完成任务而过度杀戮?
有没有人建议如何/etc/shadow在许多 Linux 服务器上编辑配置文件等?
我正在寻找一种部署工具,用于将基于 Java 的 webapps 部署到 QA/preprod 环境。应用程序是典型的 webapp,使用 .properties 文件编译为 war/ear。在部署(Jboss、tomcat 或 webshpere)时,war/ear 中的一些属性需要配置不同的名称(比如不同的数据库主机/端口/模式);通过谷歌寻找可以帮助的东西。发现 Puppet/Chef 在开源中被积极使用,但找不到任何关于将其用作“战争/耳朵”部署工具的可能性的信息,或者我完全错了。
我想跑:
knife role create blah
Run Code Online (Sandbox Code Playgroud)
我使用厨师独奏,不需要刀连接到服务器。我只想运行这些命令来帮助我快速预填充文件。每次我运行这些命令时,它都会尝试连接到服务器。
这不会发生
knife cookbook create blah
Run Code Online (Sandbox Code Playgroud)
双母羊 T 恤效果。
更新:
我注意到数据包和环境也是如此。我在其他地方读到过,刀主要用于厨师服务器 API,但无法完成这样的事情似乎很荒谬。它只需要保存该死的文件。
假设我有一个由 Web 服务器和数据库组成的应用程序。如果我 ec2 部署了一个带有 DB 角色的 Chef 客户端,我如何自动将这台新 ec2 机器的 IP 插入到我的 Web 服务器的配置中?
更笼统地说,如何在启动时获取 EC2 元数据以用于其他说明书的属性?
我知道这样做的一种迂回方法可能是使用 shell 脚本更新 dns 服务器,但我对这里只使用厨师的解决方案很感兴趣。
我有一个在 Ubuntu 14.04 上运行的 Chef 服务器(请参阅注 1),我可以通过访问mychefserver.myorg.com浏览器中的 IP 地址 ( )来访问“Chef Manage”网站。
我有一个在 Mac OS X El Capitan 上运行的工作站(见注 2),我可以使用knife ssl check和连接到 Chef 服务器knife client list。
问题:knife不会引导我的第三台机器 ( mynode.myorg.com) 作为节点。
$ knife bootstrap mynode.myorg.com --sudo --ssh-user myname --forward-agent --node-name mynode
Creating new client for mynode
Creating new node for mynode
Connecting to mynode
Failed to authenticate myname - trying password auth
Enter your password: stty: 'standard input': …Run Code Online (Sandbox Code Playgroud) chef ×10
puppet ×4
knife ×3
ansible ×2
amazon-ec2 ×1
cfengine ×1
chef-server ×1
chef-solo ×1
deployment ×1
ldap ×1
linux ×1
saltstack ×1
sssd ×1
user-profile ×1
vagrant ×1