加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Puppet找不到我刚刚安装的模块

发布时间:2020-12-14 00:05:54 所属栏目:Linux 来源:网络整理
导读:我发现的问题是我可以成功安装Puppet模块.例如: [puppet@swarmcritic ~]$puppet module install puppetlabs/mysqlNotice: Preparing to install into /home/puppet/.puppet/modules ...Notice: Created target directory /home/puppet/.puppet/modulesNotic
我发现的问题是我可以成功安装Puppet模块.例如:

[puppet@swarmcritic ~]$puppet module install puppetlabs/mysql
Notice: Preparing to install into /home/puppet/.puppet/modules ...
Notice: Created target directory /home/puppet/.puppet/modules
Notice: Downloading from https://forge.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
/home/puppet/.puppet/modules
└─┬ puppetlabs-mysql (v2.1.0)
  └── puppetlabs-stdlib (v4.1.0)

但是当我尝试使用如下的nodes.pp文件调用模块时:

node 'example.com' {
    include '::mysql::server'
 }

然后我得到这样的错误:

[puppet@example mysql]$sudo puppet apply ~puppet/puppet/manifests/site.pp
Error: Could not find class ::mysql::server for example.com on node example.com
Error: Could not find class ::mysql::server for example.com on node example.com

我该如何解决?

解决方法

Puppet正在.puppet目录中安装该模块
我的主目录的树,但是当它看到时,它没有看到那里
对于模块!相反,它只是在/ etc / puppet / modules中查找.它似乎
默认情况下,它只在那里看.如果你想让它查看~myusername / .puppet,
你必须在/etc/puppet/puppet.conf中配置一个路径变量.

为了解决这个问题,我没有试图弄清楚如何修改Puppet路径.
相反,我使用了将模块显式安装到/ etc / puppet / modules中
以下命令:

sudo puppet module install -i /etc/puppet/modules puppetlabs/mysql

完成后,puppet apply命令工作正常.

进一步的实验表明,如果你执行Puppet模块安装
没有-i参数和root访问权限的命令,它会将模块安装到
/ etc / puppet / modules,但是如果你没有root访问权限,它会安装它
进入~myusername / .puppet / modules /.所以,如果我在我原来的前面放了一个sudo
模块安装命令如下:

sudo puppet module install puppetlabs/mysql

然后就不会有任何问题.您不必指定-i参数!

整个问题出现了,因为我选择创建一个用户帐户来容纳所有人
木偶的东西,而不是在root帐户中工作.如果我曾经工作过
根帐户,Puppet(可能)已将模块安装到
/ etc / puppet / modules并没有问题.这只是因为
我创建了一个用户帐户,然后调用了puppet module install命令
没有sudo,模块最终在~myusername / .puppet中.作为一个傀儡
新手,在~myusername / .puppet中安装了模块似乎并不坏
理念.它似乎是安装模块的合理位置,
特别是如果有人创建了一个用户帐户来管理Puppet.

所有这一切都不应该让你创建一个用户帐户来容纳你所有的
木偶配置文件.但如果你这样做,记得把sudo放在
安装模块时安装命令的前面.

代表OP发表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读