我使用https://github.com/puppetlabs/puppetlabs-mysql中的Puppet模块,由于某种原因,它一直产生有关apt-get update的错误.
可以在此处找到确切的错误消息.
出于某些奇怪的原因,在执行apt-get update命令之前,MySQL类首先被执行.
有没有办法确保命令apt-update在MySQL模块之前运行?
在这里你可以找到我当前的default.pp清单
我已经尝试了各种方法来确保首先执行apt-update命令,但似乎没有任何工作.在第148行,我尝试了以下代码,
package { 'mysql':
ensure => "installed",
require => Exec['apt-update'],
}
但这并没有解决我的问题.
关于如何解决这个问题的想法不多了.
sudo puppet agent -t从主机运行:host.internaltest.com
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Another local or imported resource exists with the type and title Host[host.internaltest.com] on node host.internaltest.com
这台机器的ssl证书被弄乱了,所以我将其从主服务器上清除掉,然后使用自动签名(很糟糕,我知道!),我运行时sudo puppet agent -t重新生成了ssl证书,但也抛出了此错误。如果您需要更多信息,请告诉我,我并没有过多地介绍人偶。
exec我的Puppet清单中有一系列:
/tmp.当我第一次应用清单时,它可以正常工作.但是,当我清理/tmp并再次应用清单时,它会失败,因为第一个exec没有执行(这是正确的),但第二个仍然尝试执行并失败,因为ZIP文件不存在.
如果第一个exec没有下载文件,如何修改清单以跳过第二个exec?
exec { 'ngrok-download':
command => 'wget https://dl.ngrok.com/linux_386/ngrok.zip -O /tmp/ngrok.zip',
unless => 'which ngrok',
path => ['/bin', '/usr/bin'],
}
exec { 'ngrok-unzip':
command => 'unzip ngrok.zip',
cwd => '/tmp',
path => ['/usr/bin'],
require => Exec['ngrok-download'],
}
Run Code Online (Sandbox Code Playgroud) 我有一个Puppet自定义函数,它返回有关在OpenStack的Keystone身份服务中定义的用户的信息.用法是这样的:
$tenant_id = lookup_tenant_by_name($username, $password, "mytenant")
Run Code Online (Sandbox Code Playgroud)
问题是此查询($username)中使用的凭据应该在Puppet运行期间由另一个资源创建(Keystone_user来自puppet-keystone的资源).据我所知,在lookup_tenant_by_name发生任何资源排序之前,正在评估对函数的调用,因为调用代码中的任何依赖项都不能强制在执行此函数之前创建凭据.
通常,可以编写自定义函数 - 或者将它们适当地放在清单中 - 以便在实例化某些指定资源之后它们不会被Puppet执行?
我的Linux机器上安装了一个名为puppet的应用程序.它安装在位置/usr/test/bin/puppet
这是.bash_profile看起来如何
export PATH=/usr/test/bin
Run Code Online (Sandbox Code Playgroud)
如果我puppet apply从控制台运行命令,它工作正常,但当我puppet从内部bash脚本调用命令时,它说命令未找到
#!/bin/bash
puppet apply x.pp
Run Code Online (Sandbox Code Playgroud)
关于什么是错的任何想法?
根据我的高层次理解,两个组(例如,etd和puppet)都进行分布式配置管理,我是对还是错?或者是木偶在内部使用etcd吗?如果是这样,一个例子可能有帮助.
此致,Seenu.
我想使用puppet脚本从ms office的完整设置安装一个单词,excel和outlook,并且只从脚本传递产品密钥.
如果somone可以告诉我命令行命令这样做也会有所帮助.
谢谢
我在/etc/puppet/modules/tipo/lib/puppet/type/customtipo.rb中有一个木偶自定义类型,其内容是:
require 'logger'
Puppet::Type.newtype(:customtipo) do
newproperty(:parametro) do
log.info("ES UN PARAMETRO")
end
end
Run Code Online (Sandbox Code Playgroud)
我知道这是一个虚拟自定义类型,但我从这种事情开始,资源放在/etc/puppet/modules/tipo/manifests/init.pp中,其内容是:
class tipo {
customtipo {
"ejemplo":
parametro => "uno",
}
}
Run Code Online (Sandbox Code Playgroud)
案例是否是"参数",它没有像我期望的那样显示消息"ES UN PARAMETRO".是否有其他方法可以使用自定义类型实现此目的?谢谢!
我是傀儡新手.这是我第一次体验它.我在2个ubuntu vm上安装了一个主人和一个代理.我已经用puppet安装了apache.它似乎工作正常.现在我写了我的site.pp和我的init.pp:
ubuntu@puppet:/etc/puppet/manifests$ cat site.pp
node 'puppetclient.example.com' {
include apache2
include mysql-server
}
Run Code Online (Sandbox Code Playgroud)
树:
ubuntu@puppet:/etc/puppet/modules$ tree
.
??? apache2
? ??? manifests
? ??? init.pp
??? mysql-server
??? manifests
??? init.pp
Run Code Online (Sandbox Code Playgroud)
我的mysql-server的init.pp:
class mysql-server {
package { 'mysql-server':
ensure => installed,
}
service { 'mysql-server':
ensure => true,
enable => true,
require => Package['mysql-server'],
}
}
Run Code Online (Sandbox Code Playgroud)
当我puppet agent -t在我的经纪人身上表演时.
ubuntu@puppetclient:~$ sudo puppet agent -t
[sudo] password for ubuntu:
Info: Retrieving plugin
Info: Caching catalog for puppetclient.example.com
Info: Applying …Run Code Online (Sandbox Code Playgroud) 我的团队使用Puppet架构,目前可以在多个环境中容纳单个应用程序(流浪,分段,生产).
我们现在希望扩展此设置的范围以支持其他应用程序.他们中的许多人将使用我们已经定义的现有模块的子集,而其他人将要求定义新模块(可能共享也可能不共享).
什么是最合适的Puppet架构,用于支持多个应用程序的多个环境?
在这样的体系结构中,大概每个应用程序都相当于一个模块.(文件 - )在结构上区分作为应用程序的模块和作为一个或多个模块的依赖关系的模块的最佳方法是什么?
例如,它可以像modules在顶级文件夹下添加第三个文件夹一样简单applications吗?或者是否有更好的分层策略?
到目前为止的研究尚未发现任何最佳实践示例/样板,例如通过GitHub上的example42或puppetlabs.
我们的文件结构:
puppet
??? environments
? ??? production ? manifests ? init.pp
? ??? staging ? manifests ? init.pp
? ??? vagrant ? manifests ? init.pp
??? hiera.yaml
??? hieradata
? ??? accounts.yaml
? ??? common.yaml
? ??? environments
? ??? production.yaml
? ??? staging.yaml
? ??? vagrant.yaml
??? modules
? ??? acl [..]
? ??? newrelic [..]
? ??? nginx [..]
? ??? puma [..]
??? vendor
??? …Run Code Online (Sandbox Code Playgroud) puppet ×10
mysql ×2
ruby ×2
bash ×1
chef-infra ×1
custom-type ×1
dependencies ×1
etcd ×1
linux ×1
ms-office ×1
ssl ×1
ubuntu ×1
vagrant ×1
windows ×1