我想使用巧克力木偶提供程序作为Windows的包源.我的理解是我必须将文件保存到{module}/lib/puppet/provider/package/chocolatey.rb.如果我只是在一个特定模块中使用它,那似乎没问题.但是,如果我想让它可用于我的所有模块呢?
我在Docs:Scaling Puppet中找到了以下内容:
您使用的是默认网络服务器吗?
WEBrick是用于启用Puppet Web服务连接的默认Web服务器,它本质上是一个参考实现,并且在大约十个受管节点之外变得不可靠.在为许多节点提供服务的任何类型的生产环境中,您应该切换到更高效的Web服务器实现,例如Passenger或Mongrel.
10个托管节点中的数字10来自哪里?
我有20多个节点,我可能很快就会超过30个.我应该改为乘客吗?
我希望puppet在/ etc中寻找hiera.yaml,但它正在/ etc/puppet中寻找它.我在puppet.conf中添加一行:
hiera_config = /etc/hiera.yaml
Run Code Online (Sandbox Code Playgroud)
但是在运行脚本时仍然给我hiera.yaml更新警告.
我正在从Vagrant 1.2.2运行脚本.使用puppet 3.2.2
我在vm中运行Centos 6.4.
你能在木偶中制作子模块吗,例如......
puppet_root
- modules
- module_1
- submodule
- manifests
- init.pp
Run Code Online (Sandbox Code Playgroud)
我试过这个,木偶似乎不喜欢它.我可以将我的子模块init.pp更改为更具描述性的文件名,并将所有目录一起删除,但有些模块有多个文件,这会使事情变得混乱.
我这样做的原因是将所有操作系统工具放在一个"超级"模块中,因此它可以更自我记录:例如.os_tools :: lsof等
我正在尝试将用户分配到带有清单的多个组,但我遇到了问题.
尝试1:
class usergroup {
group { "user_one":
ensure => present,
gid => 500,
}
group { "user_two":
ensure => present,
gid => 501,
}
group { "dev_site_one":
ensure => present,
gid => 502,
}
group { "dev_site_two":
ensure => present,
gid => 503,
}
group { "dev_site_three":
ensure => present,
gid => 504,
}
user { "user_one":
ensure => present,
uid => 500,
gid => 500,
gid => 502,
gid => 503,
gid => 504,
}
user { "user_two": …Run Code Online (Sandbox Code Playgroud) 我只是想有一种方法来获取机器的私有IP并在我们的puppet脚本中使用它,所以让我们假设我们有脚本将IP显示为:
class test{
$my_ip=<some code>
file{'print_ip_to_my_file':
path => "/tmp/ip.txt",
content => "This is test file and the private ip is : ${my_ip}"
}
}
Run Code Online (Sandbox Code Playgroud)
如何在文件中获取私有IP?
我创建了一个在Windows主机上运行的Ubuntu的puppet/vagrant/VirtualBox生成安装; 有关详细信息,请参阅https://bitbucket.org/dmenne/rstudio-shiny-server-on-ubuntu.这允许用户在Windows上运行RStudio和Shiny服务器.在Vagrantfile,我有
config.vm.synced_folder "shiny-server", "/srv/shiny-server", create:true
创建共享文件夹.当我用vagrant up或启动VM时vagrant reload,一切正常.
一个客户不想安装vagrant等,并要求在Windows上使用VirtualBox Manager启动/停止独立VM.但是,我关机后
vagrant-booted VM Box,我的同步文件夹在VM重启时不会再次连接/挂载,即使它们在VirtualBox Manager的共享文件夹对话框中正确显示.
如何收缩包装Vagrant生成的VM,以便可以在没有Vagrant的情况下启动/停止它?
编辑2015年3月:
我仍然无法解决这个问题.当我强制自动挂载时,恢复media/sf_<folder>已同步,而不是所需的文件夹.如何强制VirtualBox Vagrantfile在重启后使用sync-template ?
如何在没有手动操作的情况下强制自动挂载流浪者.
我一直在寻找几天试图找到解决这个问题的方法,但是我已经放弃了,并且有时间寻求一些帮助.
我在Ubuntu 14.04 x64上运行Wordpress,使用由PuPHPet创建的Vagrant服务器(一个自动GUI,用于为那些不知道的人创建Vagrant,Puppet和Hiera的盒子).我使用Mark Jaquith的WP-Skeleton Wordpress文件夹设置,并设置了两个共享文件夹; 用于Wordpress核心文件的/ var/www/wp(主机上的sitename/www/wp)和/ var/www/content /(主机上的sitename/www/content)用于WP的目的的自定义内容目录-骨架.
当SSH进入VM并运行WP-CLI时,就WP-CLI知道我的Content目录的路径和Wordpress核心文件而言,一切似乎都能正常工作.问题是在尝试安装插件或主题时,如下所示 -
[07:20 PM]-[vagrant@packer-virtualbox-iso-1422601639]-[/var/www]-[git master]
$ wp plugin install jetpack
Installing Jetpack by WordPress.com (3.3.2)
Downloading install package from https://downloads.wordpress.org/plugin/jetpack.3.3.2.zip...
Unpacking the package...
Warning: Could not create directory.
我的第一个,到目前为止唯一的想法是这是一个权限错误,但由于我对这个领域的了解有限,我只能做这么多,但是,我可以说我已经尝试过更改权限使用chmod -v 755/var/www/content /将Content目录改为755,然后是765,甚至是777.
即使权限设置为777,这也无效.那么还有什么可能是错的?我知道这可能与www-data的权限有关,但就像我说的那样,我对要查找或更改的内容知之甚少.我确信这很简单,我确定这与WP-CLI没有直接关系,因为我觉得如果我使用任何其他网络应用程序尝试安装到我有的www文件夹一样的问题.
如果有人需要我的任何信息,我会包括它,例如我的congif.yaml文件(当使用Hiera与Puppet存储通常在Vagran文件中的所有信息时,并自动安装Puppet模块).它还包括有关Ubuntu框,文件夹设置等的信息.
提前谢谢,PJ
更新:
我想补充一点,sudo wp plugin install jetpack --allow-root当我使用WP-CLI时,添加会起作用,但是,如果我是root用户,我不应该使用sudo,不是吗?
我正在使用像Puppet/Chef/Ansible这样的工具来设置和配置开发环境和生产服务器.
每当我更新配置时,我都会针对我的开发环境运行该工具并登录以手动检查事情是否按预期工作.
但这样做很乏味,而且每次都无法测试所有内容,那么有什么方法可以自动化测试吗?
我觉得我缺少一些基本的东西.如何使用PuPHPet在一个vagrantfile中定义两台机器,包括Ubuntu 14.04,但是一台安装了mysql,一台使用elasticsearch?我看到如何定义多台机器,但每个机器的配置似乎相同?
puppet ×10
vagrant ×4
linux ×2
puphpet ×2
ubuntu ×2
windows ×2
ansible ×1
chocolatey ×1
devops ×1
scalability ×1
usergroups ×1
vagrantfile ×1
virtualbox ×1
webrick ×1
wordpress ×1