小编030*_*030的帖子

如何自动安装 Phusion Passenger 和 Nginx?

当命令:

./passenger-install-nginx-module
Run Code Online (Sandbox Code Playgroud)

运行时,它会在登录到服务器时询问一堆问题。

目的是使这个过程自动化,如果在安装过程中需要特定的答案,如何做到这一点?

automation ubuntu nginx ruby-on-rails phusion-passenger

2
推荐指数
1
解决办法
210
查看次数

Openstack:使用 virtio 支持制作 Windows 2008 R2 映像

在 virtio 磁盘上的 kvm 中安装 windows 2008 R2 时,似乎不支持驱动程序。即使在安装驱动程序后,我也无法将 Windows 安装到图像中。这是因为 Windows 没有将映像视为可启动的。那么如何制作一个支持virtio并且可以加入Glance的windows server 2008 R2呢?

编辑 1:添加图像 所以这里是我的问题的一些图像。这不是 0x80300001 错误,作为证据,我添加了一个图像,显示 Windows ISO 已加载到 CD-ROM 中。 概述

没有磁盘,所以是时候安装驱动程序了

选择司机

安装驱动

在此处输入图片说明

在此处输入图片说明

编辑 2:该行为似乎只在 Ubuntu 上出现。Dyasny 确认它可以在 Fedora 上运行。

windows-server-2008 drivers openstack kvm-virtualization

2
推荐指数
1
解决办法
7412
查看次数

是否可以通知 Puppet 中的 File[] 资源并触发订阅该文件的资源?

我们使用 Puppet 来管理 OpenStack 安装。OpenStack 由许多松散连接的部分组成,所有部分都通过 AMQP 进行通信。几个部分使用一个通用配置文件 ( /etc/nova/nova.conf),因此典型的服务资源如下所示:

service { 'openstack-nova-network':
  ensure    => running,
  enable    => true,
  subscribe => File['/etc/nova/nova.conf'],
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好。

现在我们使用 Puppet 来安装一些底层 Python 代码的修补程序。当我们替换 Python 源文件之一时,我们希望重新启动使用它的服务。通常,这与订阅的服务集完全相同 /etc/nova/nova.conf

我希望我可以通过通知文件来利用现有的依赖项来做到这一点,就像这样......

file { '/path/to/some/file':
  source => 'puppet:///.../',
  notify => File['/etc/nova/nova.conf'],
}
Run Code Online (Sandbox Code Playgroud)

...但这似乎不起作用。除了notify为每个服务输入显式 条目之外,还有更好的方法来做到这一点吗?

更新

你知道,我开始怀疑我的问题并不完全清楚。我想为造成的混乱道歉,并尽量让我的要求更明确一点:

我意识到我可以使用一组显式依赖项来做到这一点,无论是作为subscribe服务的notify值还是已安装文件的值。问题是这意味着维护一个 M*N 的依赖矩阵。引入新文件意味着:

  • 更新 Mservice资源,或
  • 更新N个file资源

这种重复的复制粘贴工作很容易出错,尤其是当多人负责配置时。

一种选择是维护一个中央服务列表:

$services = [ service1, service2, service ]
Run Code Online (Sandbox Code Playgroud)

因为那时我可以这样做:

file { '/usr/lib/python/glance/notifier/notify_qpid.py':
  notify => …
Run Code Online (Sandbox Code Playgroud)

puppet

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

OpenStack 中的实例未获得 DHCP 租用

当我在 openstack 中启动实例时,它们没有获得 DHCP 租约。当我进入实例并手动配置本应分配的 IP 时。网络流畅。

使用 TCPDump,我可以看到 DHCP Offers,但它们似乎被忽略了。

dhcp openstack nova-network

2
推荐指数
1
解决办法
4395
查看次数

由于 Puppet 原生支持目录环境,r10k 提供了什么?

我刚刚开始阅读 r10k,因为我喜欢它可以基于 Git 分支创建动态环境的事实。现在,我刚刚读到 Puppet 可以在没有 r10k 的情况下做到这一点。r10k 提供了哪些 Puppet 无法提供的功能?如果我只想要基于 Git 分支的动态基于目录的环境,我还需要 r10k 吗?

puppet r10k

2
推荐指数
1
解决办法
815
查看次数

为什么passenger-install-nginx-module既没有安装Nginx,也没有在Centos7上实现Passenger支持,而输出却相反?

介绍

目前大约有 100 个 Puppet 代理连接到 Puppetmaster。有时,代理需要一段时间才能发现 Puppetmaster 上实施的更改。一些信息已经发现,Passenger 与 Web 服务器(例如 Apache2 或 Nginx)结合可以加速这个过程。最重要的是,根据本文档,强烈建议在生产环境中使用此类功能。


目的

目的是在 CentOS7 上安装 Nginx 并实现 Phusion 乘客支持,passenger-install-nginx-module以加速识别 Puppet-agents在 Puppetmaster 上实现的更改。


尝试

尝试 1

sudo /usr/local/share/gems/gems/passenger-4.0.56/bin/passenger-install-nginx-module --auto --auto-download 已执行并遵循安装步骤。

尝试 2

由于在尝试 1 期间未安装 Nginx 服务,因此使用yum -y install nginx.

尝试 3

谷歌搜索:"[emerg] unknown directive passenger_enabled" 表示 nginx 是在没有 Phusion Passenger 支持的情况下编译的。在这种情况下,这应该是错误的,因为passenger-install-nginx-module已经运行,并且在尝试 1 期间的安装输出表明应该已经安装了 Nginx。

尝试 4

/etc/nginx/nginx.conf

passenger_root  /usr/local/share/gems/gems/passenger-4.0.56;
passenger_ruby  /usr/bin/ruby;
Run Code Online (Sandbox Code Playgroud)

/etc/nginx/conf.d/puppet.conf

passenger_enabled          on;
Run Code Online (Sandbox Code Playgroud)

尝试 …

installation nginx phusion-passenger systemctl centos7

2
推荐指数
1
解决办法
6903
查看次数

尽管输入变量在 Puppet 中是单引号,但将 \n 转换为新行

如果一个变量是双引号并且它包含一个 \n

$test="hello\nworld"

file { '/tmp/hello':
        content => $test
}
Run Code Online (Sandbox Code Playgroud)

然后创建一个新行:

/tmp/hello
hello
world
Run Code Online (Sandbox Code Playgroud)

问题

如果由于 hiera 输入或 regsubst 结果输入不是双引号怎么办:

$test2=hiera("hiera::input")

file { '/tmp/hello':
        content => $test2
}
Run Code Online (Sandbox Code Playgroud)

结果是:

hello\nworld
Run Code Online (Sandbox Code Playgroud)

尝试解决问题

假设是双引号内容变量将解决问题。两者都不:

file { '/tmp/hello':
        content => "$test2"
}
Run Code Online (Sandbox Code Playgroud)

也不:

file { '/tmp/hello':
        content => "\"$test2\""
}
Run Code Online (Sandbox Code Playgroud)

解决了这个问题。后者导致:

"hello\nworld"
Run Code Online (Sandbox Code Playgroud)

第二次尝试

在 StackOverflow 上阅读此答案后尝试了另一种尝试。

层级文件

---
bla: haha\nblabla
Run Code Online (Sandbox Code Playgroud)

清单文件

$test=hiera('bla')

$quoted = regsubst($test, '(.*)', '"\1"')

file { '/tmp/hello':
        content => $quoted
}
Run Code Online (Sandbox Code Playgroud)

结果是:

"haha\nblabla"
Run Code Online (Sandbox Code Playgroud)

puppet

2
推荐指数
1
解决办法
5607
查看次数

puppetserver 超时找不到密钥

从 PC1 存储库在 Centos 上全新安装(尝试了 6 和 7)。开始puppetserver咀嚼我的 RAM 几分钟然后失败并出现此错误:

Exception in thread "main" java.lang.IllegalStateException: Cannot initialize master with partial state; need all files or none.
Found:
/etc/puppetlabs/puppet/ssl/private_keys/puppet.novalocal.pem
Missing:
/etc/puppetlabs/puppet/ssl/certs/puppet.novalocal.pem
Run Code Online (Sandbox Code Playgroud)

它似乎在错误的目录中查找公钥,因为它似乎是在其他地方创建的:

[chris@puppet ~]$ sudo find /etc/puppetlabs/ -name puppet.novalocal.pem
/etc/puppetlabs/puppet/ssl/private_keys/puppet.novalocal.pem
/etc/puppetlabs/puppet/ssl/public_keys/puppet.novalocal.pem
Run Code Online (Sandbox Code Playgroud)

我愚蠢地遵循官方文档。所以这可能意味着在那里或安装包中进行一些更正

ssl puppet

2
推荐指数
1
解决办法
902
查看次数

是否可以有一个通用的 .gitlab-ci.yml 而不是在每个项目中复制对 .gitlab-ci.yml 的更改?

目前我们在每个项目中都放了一个 .gitlab-ci.yml 。目前我们有 50 多个项目,每次 .gitlab-ci.yml 发生变化时,团队都必须更改所有项目的结构。是否可以拥有一个通用的 .gitlab-ci.yml?

尝试

  1. 试图有一个 gitlab-ci.yml,但不知道如何更改此文件的默认路径
  2. 通用脚本减少了代码重复量,但如果 gitlab-ci.yml 结构发生变化,我们必须在所有项目中实现它

gitlab

2
推荐指数
1
解决办法
1043
查看次数

有没有人设法从闪存驱动器安装新的操作系统?

我正在考虑避免购买带有光驱的新机器。唯一需要注意的是操作系统安装可能很麻烦——打开机箱并临时连接 DVD,与驱动器的价格相比,这通常不值得麻烦。

有没有人尝试从拇指驱动器安装操作系统?有哪些陷阱?您使用了哪些工具/指南?

还请提及您使用的硬件(主板等)

installation operating-system flash-drive

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