Articles of 工头

Foreman和Configuration Manager / SCCM进行部署

作为客户端pipe理员,我最近在多年的工作岗位上成功地使用了Windows系统pipe理员。 在过去的5年里,我一直是Configuration Manager / SCCM的领导者(直到最新的当前分支版本),并且非常熟悉它。 我们所有的客户和服务器都使用SCCM进行pipe理。 我们的Linux系统pipe理员已经实施和使用Foreman进行系统部署,并且预计Foreman / Puppet将被用于维护我们数据中心中所有系统的清单。 我看到一个使用VMWare模板与Foreman部署的Windows机器的演示(令人印象深刻)。 不过,我觉得维护VMWare模板比我想看的要多得多。 我已经被告知,在部署VM之后,现有的pipe理员正在执行更新和安装所需软件等操作。 一个Server 2016的图像还没有build成。 这是SCCM进来的地方。 我设想了一个将虚拟机引导到SCCM / WDS PXE的Foreman工作stream程,然后允许零或轻触式部署。 这是Foreman的典型工作stream程吗? 这样我们就可以维护SCCM上的图像构build和部署,但仍然使用Foreman来处理其他任何事情。 我很担心因为我的工具带上有一把锤子(SCCM),所有东西看起来都像钉子一样。 我希望做到开明,在产品忠诚之前把机构和同事的最大利益放在首位。 任何想法将不胜感激。

如何在EL6.4上升级Apache /乘客的木偶?

我有一台运行apache / passenger的Scientific Linux 6.4服务器,安装了puppet-server。 还安装了福尔曼1.4。 当我将代理升级到3.4.2时,他们开始了所有的日志logging:使用安全性较低的序列化报告和查询参数来与老式木偶主人兼容。 要删除此通知,请将您的主人升级到Puppet 3.3或更高版本。 所以我看着服务器,并升级puppet-server到puppet-server-3.4.2-1.el6.noarch我已经重新启动httpd(apache)… 基本上,代理人仍然抱怨。 我也更新木偶傀儡 – 3.4.2-1.el6.noarch没有运气… 我只是希望代理停止logging每次运行的警告…乘客是否不使用系统安装的rpm? 我找不到任何文档,而且Puppet IRC只给了我安装puppet-server的build议(我实际上没有安装,我的服务器正在工作…) 木偶用户组没有回答我… 感谢您的任何想法…

同名IP虚拟机

Foreman是否支持pipe理多个具有相同名称和IP但具有不同证书名称的VM? 例如: 名称IP证书名称 VMLinux001 10.0.0.2 [email protected] VMLinux001 10.0.0.2 [email protected] 我知道木偶,但Foreman似乎使用VM主机名和来自两者的混合数据。

Puppet节点没有从global.yaml文件中获取hiera参数

我正在使用工头,Puppet和Hiera为我的节点提供参数数据。 每个节点都在/ etc / puppet / hieradata的Puppet Master上有自己的node.yaml文件。 还有一个global.yaml文件,它定义了node.yaml文件中找不到的其他一些参数。 看来,当我做一个puppet运行,pi_firewall :: global :: loghash参数不是从global.yaml拉入。 下面是实际的错误信息,我已经在节点和PM以及hiera.yamlconfiguration文件和global.yaml上运行了一些CLItesting。 ==错误信息== root@door0036:~# puppet agent -t Warning: Local environment: "production" doesn't match server specified node environment "development", switching agent to "development". Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Error: Could not retrieve catalog from remote server: Error 400 on […]

工头404试图获得令牌

工头正在给我的kickstart东道主404,同时试图获得令牌。 任何想法这可能是由什么造成的? 我也尝试过wget,但没有运气。 /var/log/http/foreman_access.log: -0400]“GET / unattended / provision?token = 8cc70a17-f408-4907-bf5c-82d7224dbb49 HTTP / 1.1”404 100“ – ”“anaconda / 13.21.229” 1.1.1.48 – – [27 / Aug / 2015:20:00:59 -0400]“GET / unattended / provision?token = 8cc70a17-f408-4907-bf5c-82d7224dbb49 HTTP / 1.1”404 100“ – ”“anaconda / 13.21.229" 1.1.1.48 – – [27 / Aug / 2015:20:01:05 -0400]“GET / unattended / provision?token […]

当Foreman在OpenStack中创build虚拟机时,在Foreman中复制主机logging

我设法连接Foreman和OpenStack,以便我可以使用Foreman Web界面在OpenStack中创build虚拟机。 我正在使用cloud-init或Foreman如何调用用户数据configuration模板来configuration新创build的实例。 为了testing目的,我正在使用这个云configuration脚本: #cloud-config: users: – name: danil groups: sudo shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] chpasswd: list: | danil:<hidden> root:<hidden> expire: False runcmd: – apt-get install -y puppet – sed -i -e 's/\[main\]/\[main\]\nserver=foreman.domain.com/' /etc/puppet/puppet.conf – puppet agent –test – puppet agent –enable – puppet agent –test 我正在添加一个新的主机,在虚拟机启动后,我可以看到它是一个名为new-host.domain.com的主机,型号名称为OST2,这是我在Foreman中用于OpenStack计算资源的名称。 在该主机内部,我可以执行一些基本的任务,例如closuresVM,删除它等等。 云configuration脚本完成它的工作,即它安装木偶,并通过Foreman智能代理由puppetpipe理这个虚拟机。 只要puppet完成主机初始化,我会看到名为“new-host”的重复主机。 在那个重复的主机的情况下,它有型号名称“OpenStack Nova”。 它可以通过puppet来pipe理,但是没有任何可用于new-host.domain.com的OpenStack任务在那里。 换句话说,我有两个相同的主机logging。 […]

Foreman / RH Satellite的最低权限AWS IAM策略,用于全面pipe理EC2计算资源

首先,如果我错过了一些约定,我提前道歉。 我试图发现Foreman / RH Satellite所需的最小特权访问权限,能够完全pipe理具有全部function的EC2计算资源。 到目前为止,我已经取得了以下政策的成功: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1452211947000", "Effect": "Allow", "Action": [ "apigateway:*" ], "Resource": [ "arn:aws:apigateway:*::/*" ] }, { "Sid": "Stmt1452212146000", "Effect": "Allow", "Action": [ "execute-api:*" ], "Resource": [ "arn:aws:execute-api:*:*:*" ] }, { "Sid": "Stmt1452212199000", "Effect": "Allow", "Action": [ "ec2:*", "cloudwatch:*", "autoscaling:*", "elasticloadbalancing:*" ], "Resource": [ "*" ] […]

工头和木偶在节点报告状态中通知资源

我们使用Puppet + Foreman通过检查自定义事实来监视环境中的变化。 例如,只要自定义事实等于“真”,木偶就会使用发送给代理日志的消息来调用通知资源。 木偶在代理报告中包含此消息,Foreman在UI中显示此消息。 问题是,无论何时抛出一条消息,Foreman都认为这个动作是“Applied”,节点状态变为“Active”(蓝色图标)。 我们希望节点保持“无变化”(绿色),并显示通知消息。 这在某种程度上可能吗? 也许定义一个新的自定义资源types? 有没有办法使用通知资源,而不使傀儡报告该节点已经改变? 含义只是将消息打印到客户端日志(因此消息将在报告中可见),但没有木偶将事件分类为应用configuration? 原因是当puppet触发Notify资源时,Foreman将该节点标记为活动(更改) 这里是傀儡代码: class mymodule::myclass::mysubclass { if $::fact023 == 'fail' { notify {'mynotify1': message => "WARNING: Node ${::fqdn} failed fact023", loglevel => hiera('warnings_loglevel'), } } } 看截图: 更新#1我正在考虑更改Foreman报告文件,以便UI将忽略通知事件,以便该节点的状态将保持不变,但仍显示在报告中的消息。 有人能指点我正确的方向吗?

networkingKickstart RHEL 5 vs Kickstart RHEL 6,vmlinuz不支持域名服务器?

我使用PXE + kickstart与Foreman结合,通过networking安装新的主机。 我试图安装Red Hat 5时遇到了一个问题。它看起来像RH5中的旧vmlinuz不支持与RH6中的vmlinuz相同的内核参数。 我遇到的问题是检索kickstart文件。 kickstart文件是通过来自Foreman的HTTPS提供的。 这对RH6工作正常,只要我指定一个名称服务器在安装过程中(使用nameserver =)以及“noverifyssl”,所以安装程序不会尝试validation我的Foreman主机的自签名证书。 这些参数似乎不存在RH5。 结果是,RH5无法parsing主机名并拉出其kickstart文件。 我可以在PXEconfiguration文件如下所示的主机上安装RHEL 6: default linux label linux kernel boot/RHEL_6_x86_64-x86_64-vmlinuz append initrd=boot/RHEL_6_x86_64-x86_64-initrd.img ks=https://myforemanserver.domain/unattended/provision?token=2134134 nameserver=192.168.1.1 ksdevice=bootif network kssendmac noverifyssl IPAPPEND 2 对于RHEL5,这同样不起作用,而在该版本中使用vmlinuz和initrd。 根据https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/s1-kickstart2-startinginstall.html ,我应该能够将DNS服务器指定为“dns =”。 不幸的是,这也不适合我。 我可能会在Foreman服务器上禁用SSL,只是通过端口80使用IP地址。我宁愿不这样做。 有没有另外一种方法来做到这一点?

工头的hiera_hash / hiera_array?

工头有办法让父主机组追加puppetvariables吗? 所需function的例子: AllHosts: ssh_allow[10.1.1.0/32] AllHosts/publicHosts: ssh_allow[71.0.0.0/8] A host in the publicHost groups would have: ssh_allow[10.1.1.0/32, 71.0.0.0/8]