我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在CentOS系统下安装Puppet和Puppet Foreman

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在CentOS系统下安装Puppet和Puppet Foreman

这篇文章主要讲解了“如何在CentOS系统下安装Puppet和Puppet Foreman”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在CentOS系统下安装Puppet和Puppet Foreman”吧!

一、系统环境:
 
Centos6.4 x86_64
 
192.168.6.171 puppet.domain.com
 
192.168.6.173 agent1.domian.com

二、关闭selinux 和 iptables(我这里是测试环境,也可以增加puppet端口8140)
 

代码如下:

setenforce  0

/etc/init.d/iptables stop && chkconfig iptables off

三、更改主机名、使用host解析
 

代码如下:

[root@test ~]# cat /etc/sysconfig/network   // # 192.168.6.171
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=puppet.domain.com

[root@test ~]# cat /etc/hosts
192.168.6.171 puppet.domain.com
192.168.6.173 agent1.domain.com

[root@test ~]cat /etc/sysconfig/network  // # 192.168.6.173
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=agent1.domain.com

[root@test ~]# cat /etc/hosts
192.168.6.171 puppet.domain.com
192.168.6.173 agent1.domain.com

四、安装yum源

# 下载地址 https://lug.ustc.edu.cn/wiki/mirrors/help/centos
 

代码如下:

[root@puppet yum.repos.d]# cat CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base - mirrors.ustc.edu.cn
baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.ustc.edu.cn
baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.ustc.edu.cn
baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.ustc.edu.cn
baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.ustc.edu.cn
baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6

安装puppet官方yum源
 

代码如下:

rpm -Uvh http://yum.puppetlabs.com/el/6Server/products/x86_64/puppetlabs-release-6-6.noarch.rpm

五、安装ruby环境(master和agent端都要操作)
 

代码如下:

yum -y install ruby ruby-libs ruby-shadow

 

[root@puppet yum.repos.d]# ruby -v   //# 检查ruby版本
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]


 
master:

代码如下:

yum -y install puppet-server


 
 
 
agent:

代码如下:

yum -y install puppet


 
 

六、puppet配置文件(看到外面很多的文档又是[main] [agent] [master] 把我都绕晕了 我就直接贴我的配置文件 很简单要改的东西很少)

master端的配置文件
 

代码如下:

[root@pupet ~]# cd /etc/puppet/

[root@pupet puppet]# cat puppet.conf

[main]

vardir = /var/lib/puppet // # 用来存放缓存数据、配置、客户端返回的报告及文件备份

logdir = /var/log/puppet

rundir = /var/run/puppet

ssldir = $vardir/ssl    // #  签发认证文件目录

 

[master]

reports = foreman,console,log   // # 发送报告至console,foreman,log

certname = puppet.domain.com  // # 配置主机名是puppet.domain.com

pluginsync = true    // # 开启插件同步

environment = production // # 指定运行环境是生产

# /etc/init.d/puppetmaster start  启动puppetmaster


 
 

agent端的配置文件
 

代码如下:

[root@agent ~]# cd /etc/puppet/
[root@agent puppet]# cat puppet.conf
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
pluginsync = true

[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfigs
#runinterval = 300
listen = true
report = true
server = puppet.domain.com   // #指定server端

# /etc/init.d/puppet start  启动puppet agent

七、puppet验证

客户端发起验证
 

代码如下:

[root@agent1 yum.repos.d]# puppet agent --test --server puppet.domain.com


Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for agent1.domain.com
Info: Certificate Request fingerprint (SHA256): C0:BB:24:3B:4B:59:F1:63:3D:EA:C1:EB:5B:2D:84:68:23:BA:F3:3D:0A:E6:8C:0E:38:3F:9E:F3:40:24:9A:68
Info: Caching certificate for ca
Exiting; no certificate found and waitforcert is disabled

服务端查看
 

代码如下:

[root@puppet puppet]# puppet cert --list --all


"agent1.domain.com" (SHA256) C0:BB:24:3B:4B:59:F1:63:3D:EA:C1:EB:5B:2D:84:68:23:BA:F3:3D:0A:E6:8C:0E:38:3F:9E:F3:40:24:9A:68
+ "puppet.domain.com" (SHA256) AF:F9:25:75:0F:3A:C5:E2:B5:71:EE:4E:65:82:7A:C1:3E:20:74:EF:57:2D:2D:1D:E5:47:1D:03:76:A5:5C:07 (alt names: "DNS:puppet", "DNS:puppet.domain.com")

服务端完成验证(显示+号代表添加进来了 没有的话是带添加的主机)
 

代码如下:

[root@puppet puppet]# puppet cert sign agent1.domain.com


Notice: Signed certificate request for agent1.domain.com
Notice: Removing file Puppet::SSL::CertificateRequest agent1.domain.com at '/var/lib/puppet/ssl/ca/requests/agent1.domain.com.pem'

代码如下:

[root@puppet puppet]# puppet cert --list --all


+ "agent1.domain.com" (SHA256) 70:00:4D:89:53:2B:A4:C4:16:C4:DA:F1:63:59:5A:7A:0C:26:47:3B:74:4D:1C:29:C3:1B:BF:2E:B1:F4:89:D5
+ "puppet.domain.com" (SHA256) AF:F9:25:75:0F:3A:C5:E2:B5:71:EE:4E:65:82:7A:C1:3E:20:74:EF:57:2D:2D:1D:E5:47:1D:03:76:A5:5C:07 (alt names: "DNS:puppet", "DNS:puppet.domain.com")

服务端自动验证配置
 

代码如下:

vi /etc/puppet/puppet.conf   // # 添加自动验证配置文件路径并开启

autosign = $confdir/autosign.conf { mode = 664 }
auto = true

vi /etc/puppet/autosign.conf   // # 指定所有以.domain.com结尾的主机名自动添加验证

*.domain.com

master取消授权
 

代码如下:

puppet cert --revoke agent1.domain.com

master删除授权
 
在master端:
 

代码如下:

puppet cert --clean agent1.domain.com


 
在agent端:
 

代码如下:

find /var/lib/puppet/ssl/   -iname   'hostname'.pem   -exec   /bin/rm   –rf   {}

八、测试puppet文件推送功能
 
master端:
 

代码如下:

# 定义一个test模块

[root@puppet test]# pwd
/etc/puppet/modules/test
[root@puppet test]# ls
files manifests templates

# 自定资源文件

[root@puppet test]# cd manifests/
[root@puppet manifests]# ls
init.pp
[root@puppet manifests]# cat init.pp
class test {
file { "/tmp/$hostname.txt": content => "hello $hostname.txt"; }
}

# 对agent.domain.com节点倒入test模块

[root@puppet nodes]# pwd
/etc/puppet/manifests/nodes
[root@puppet nodes]# cat agent.domain.com.pp
node 'agent.domain.com' {
include test
}

# 入口文件导入所有的节点

[root@puppet manifests]# pwd
/etc/puppet/manifests
[root@puppet manifests]# cat site.pp
import "nodes/*.domain.com.pp"


 
# agent 端
 

代码如下:

[root@agent1 yum.repos.d]# puppet agent --test --server puppet.domain.com
Notice: Ignoring --listen on onetime run
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for agent1.domain.com
Info: Applying configuration version '1408524165'
Notice: /Stage[main]/Test/File[/tmp/agent1.txt]/ensure: defined content as '{md5}7509cca57ec6faec2d5dd2c76a68ea0b'
Notice: Finished catalog run in 0.10 seconds

# 验证文件

[root@agent1 yum.repos.d]# cat /tmp/agent1.txt
hello agent1.txt

安装Puppet foreman

准备工作:

在安装foreman之前呢咱们需要安装epel的源否则在执行yum -y install foreman-installer 很多包是安装不上的

代码如下:

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

一、安装
 

代码如下:

yum -y install http://yum.theforeman.org/releases/1.6/el6/x86_64/foreman-release.rpm  // 推荐使用官方的源自动解决依赖问题

yum -y install foreman-installer  // # 开始安装 如果发现有的包安装报错需要仔细检查是不是源的问题(推荐epel源) 或者 防火墙 和 selinux

二、运行foreman安装(以下二选其一即可,推荐非交互安装方式)
 

代码如下:

foreman-installer    // # 这里所有的过程都是自动的 时间有点长,是太长了 好长...我又邪恶了~~

foreman-installer -i  // # 如果需要自定义安装 可以使用 -i 选择交互式安装 详情请参考官方手册

# 貌似每次我安装都会卡在这里,不知道什么原因 我每次都会把它结束掉重新执行foreman-installer 就好了 无解。。

Installing             Debug: Package[foreman-postgresql](provider=yum):  [22%] [....................

5794 ?        Ss     0:04 /usr/bin/python /usr/bin/yum -d 0 -e 0 -y install foreman-postgresql  // 进程一直卡在这里

# 安装完后可以很清楚的看到httpd启动失败 咱们这里需要手动启动一下 /etc/init.d/httpd start 安装两次都是失败不知道是不是个例

Could not start Service[httpd]: Execution of '/sbin/service httpd start' returned 1: Starting httpd: [FAILED]
/Stage[main]/Apache::Service/Service[httpd]/ensure: change from stopped to running failed: Could not start Service[httpd]: Execution of '/sbin/service httpd start' returned 1: Starting httpd: [FAILED]

# 启动foreman-proxy

/etc/init.d/foreman-proxy start

三、访问web页面
 
# 登录web需要密码这个密码在安装成功后终端会有显示
 
* Foreman is running at https://puppet.domain.com
Initial credentials are <strong>admin / sFuCu73KydURMTbi</strong>
* Foreman Proxy is running at https://puppet.domain.com:8443
* Puppetmaster is running at port 8140
The full log is at /var/log/foreman-installer/foreman-installer.log

感谢各位的阅读,以上就是“如何在CentOS系统下安装Puppet和Puppet Foreman”的内容了,经过本文的学习后,相信大家对如何在CentOS系统下安装Puppet和Puppet Foreman这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在CentOS系统下安装Puppet和Puppet Foreman

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在CentOS系统下安装Puppet和Puppet Foreman

这篇文章主要讲解了“如何在CentOS系统下安装Puppet和Puppet Foreman”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在CentOS系统下安装Puppet和Puppet
2023-06-10

Ubuntu系统下如何安装自动化部署工具puppet

本篇内容介绍了“Ubuntu系统下如何安装自动化部署工具puppet”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.设置主机文件在本教程里
2023-06-13

如何在CentOS系统下安装scikit-learn

这篇文章主要介绍“如何在CentOS系统下安装scikit-learn”,在日常操作中,相信很多人在如何在CentOS系统下安装scikit-learn问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Ce
2023-06-10

CentOS系统下如何安装JDK

本篇文章为大家展示了CentOS系统下如何安装JDK,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JDK(Java Development Kit)是Sun Microsystems针对Java开发
2023-06-16

如何在CentOS系统安装pop3

这篇文章给大家介绍如何在CentOS系统安装pop3,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮
2023-06-16

Windows7下如何安装CentOS双系统

Windows7下安装Centos双系统最近工作空闲下来了,于是就想利用这段时间学习一下Lipythonnux。首先得有一个linux环境,www.cppcns.com因此利用自己的电脑,安装了双系统。因为公司大部分Linux都是安装的Ce
2023-05-26

在CentOS系统上如何安装Docker

本篇内容介绍了“在CentOS系统上如何安装Docker”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Docker 是一个开源工具,它可以让
2023-06-10

如何在CentOS系统中安装Websvn

这篇文章给大家介绍如何在CentOS系统中安装Websvn,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。WebSVN 将 Svbverion 的操作你的仓库的各种功能通过 Web 界面提供出来。通过它,我们可以看到任何
2023-06-07

如何在CentOS系统中安装pop3

如何在CentOS系统中安装pop3?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  1.CentOS系统安装dovecot   yum install dovecot   2
2023-06-10

如何安装和使用centos系统

这篇文章将为大家详细讲解有关如何安装和使用centos系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CentOS 简介CentOS(Community Enterprise Operat
2023-06-07

如何安装CentOS系统

本篇内容介绍了“如何安装CentOS系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!因为笔者一直都是使用CentOS,所以这次安装系统也是
2023-06-10

如何在低内存的情况下安装CentOS系统

这篇文章主要讲解了“如何在低内存的情况下安装CentOS系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在低内存的情况下安装CentOS系统”吧!1.从32-bit CentOS Li
2023-06-10

如何在CentOS 7系统上安装GitLab

GitLab是一款开源的代码托管平台,可以轻松地实现团队协作开发。它提供了一个全面的Git仓库管理系统,集成了许多插件,支持各种流行的语言和框架。本文将介绍如何在CentOS 7系统上安装GitLab。步骤1:安装必要的依赖在安装GitLa
2023-10-22

如何在CentOS 6.5系统上安装GitLab

近年来,GitLab作为企业级代码托管平台备受欢迎。本文将介绍如何在CentOS 6.5系统上安装GitLab。首先,我们需要将系统升级至最新版本:sudo yum update接着,我们需要安装一些依赖包:sudo yum install
2023-10-22

CentOS系统下如何安装及配置JDK

这篇文章主要为大家展示了“CentOS系统下如何安装及配置JDK”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CentOS系统下如何安装及配置JDK”这篇文章吧。前言说到 JDK 就不得不提一下
2023-06-22

如何在CentOS 8和RHEL 8系统上安装和使用Ansible

今天就跟大家聊聊有关如何在CentOS 8和RHEL 8系统上安装和使用Ansible,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Ansible 是给 Linux 系统管理员使用的
2023-06-05

CentOS系统as4.6如何安装oracle10.2.0.1

CentOS系统as4.6如何安装oracle10.2.0.1,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在CentOS系统 as4.6 安装oracle 10.2.0.
2023-06-16

CentOS系统如何安装桌面

这期内容当中小编将会给大家带来有关CentOS系统如何安装桌面,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在使用CentOS系统的时候,我们可能会遇到CentOS系统安装桌面的问题,这里,我们就来解决这
2023-06-16

如何在linux系统下安装jdk1.8

1、首先在官网下载jdk1.82、jdk的配置编辑etc目录下的profile,输入sudo vim etc/profile相关视频教程推荐:java课程按回车,得到以下图片:3、按i或者insert往文件最后插入以下内容注意,只需要改Javah_home的路
如何在linux系统下安装jdk1.8
2016-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录