零基础学习Puppet自动化配置管理系列文档

注意:本实验是在离线情况下安装的,所以需要在本地创建自己的yum仓库,创建方法可参考《如何根据版本制作属于自己的puppet yum源》,如何你实在是比较懒或者搞不定rpm包之间的依赖关系,那就去我的github上下载吧:https://github.com/kisspuppet/foreman-repo

更多安装细节请参考官网:http://theforeman.org/manuals/1.5/index.html#Releasenotesfor1.5.4

以下all-in-one安装方式跟官方安装的有所区别,官方安装可能只需要一条命令就可以安装成功,在我测试下来发现会出现有时候成功,有时候不 成功的现象,所以改成了以下方式安装,而且每次都能成功,条例也比较清晰,为后面拆分puppetmaster能够提供很好的帮助。

1、软件包的选型如下:

  • puppet-server     3.6.2

  • puppet            3.6.2

  • facter            2.0.2

  • mcollective       2.2.4

  • rabbitmq-server   3.2.4

  • foreman           1.5.3

  • foreman-proxy     1.5.4

2、系统环境准备

系统版本:

[root@foreman02 yum.repos.d]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)

网络参数:

[root@foreman02 yum.repos.d]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:50:56:a6:5c:70 brd ff:ff:ff:ff:ff:ffinet 192.168.10.159/24 brd 192.168.10.255 scope global eth0inet6 fe80::250:56ff:fea6:5c70/64 scope link valid_lft forever preferred_lft forever

主机名称:

[root@foreman02 yum.repos.d]# hostname -f
foreman02.kisspuppet.com
[root@foreman02 yum.repos.d]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.159  foreman02.kisspuppet.com  foreman02

平台环境:

[root@foreman02 yum.repos.d]# uname -r
2.6.32-431.el6.x86_64

yum仓库:

[root@foreman02 yum.repos.d]# cat foreman153.repo
[foreman]
name=Foreman
baseurl=ftp://192.168.10.254/blog/foreman
enabled=1
gpgcheck=0
[puppet]
name=puppet
baseurl=ftp://192.168.10.254/blog/puppet-el6
enabled=1
gpgcheck=0
[rhel]
name=RHEL
baseurl=ftp://192.168.10.254/rhel6.5
enabled=1
gpgcheck=0

网络安全环境:

[root@foreman02 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@foreman02 ~]# getenforce
Disabled

3、安装Foreman

3.1、安装puppetmaster,并生成CA和证书

[root@foreman02 ~]# yum install foreman-installer
[root@foreman02 ~]# yum install puppet-server puppet facter
[root@foreman02 ~]# vim /etc/puppet/puppet.conf
[master]certname = foreman02.kisspuppet.com[root@foreman02 ~]# /etc/init.d/puppetmaster start
Starting puppetmaster:                                     [  OK  ]
[root@foreman02 ~]# puppet  cert --list --all
+ "foreman02.kisspuppet.com" (SHA256) 1D:7E:90:F5:16:7D:01:67:77:37:EE:31:3F:46:AD:0A:47:80:B6:DF:6A:5E:25:A8:DE:BA:78:45:C9:09:D6:BD (alt names: "DNS:foreman02.kisspuppet.com", "DNS:puppet", "DNS:puppet.kisspuppet.com")
[root@foreman02 ~]# /etc/init.d/puppetmaster stop
Stopping puppetmaster:                                     [  OK  ]

3.2、安装foreman及依赖包

[root@foreman02 ~]# yum install foreman  mod_passenger mod_ssl ruby193-rubygem-passenger-native mysql mysql-server foreman-mysql2

3.3、通过foreman-installer安装foreman

foreman默认安装选择的数据库为postgresql,这里选用mysql进行安装。

[root@foreman02 ~]# foreman-installer --foreman-db-adapter mysql2 --foreman-db-type mysql --no-enable-puppet --no-enable-foreman-proxy --foreman-configure-epel-repo=false
Installing             Done                                               [100%] [...................]Success!* Foreman is running at https://foreman02.kisspuppet.comDefault credentials are 'admin:changeme'The full log is at /var/log/foreman-installer/foreman-installer.log

安装完成之后,通过火狐或者谷歌浏览器访问看是否安装成功https://192.168.10.159

Foreman安装

Foreman安装

3.4、安装foreman-proxy及依赖包

[root@foreman02 ~]# yum install tftp-server syslinux foreman-proxy

3.5、安装foreman-proxy,并通过foreman-installer重新安装foreman和puppetmaster

注意:以下方式是安装后会代理TFTP, DNS, DHCP, Puppet, and Puppet CA,并且puppetmaster会以apache+passenger的方式安装运行。

[root@foreman02 ~]# foreman-installer --enable-foreman --enable-foreman-proxy --enable-puppet  --puppet-server=true --foreman-proxy-puppetrun=true  --foreman-proxy-puppetca=true   --foreman-proxy-dhcp=true  --foreman-proxy-tftp=true  --foreman-proxy-dns=true --foreman-proxy-dns-interface=eth0 --foreman-proxy-dns-zone=kisspuppet.com  --foreman-proxy-dns-reverse=10.168.192.in-addr.arpa  --foreman-proxy-dns-forwarders=8.8.8.8 --foreman-proxy-dns-forwarders=8.8.4.4 --foreman-configure-epel-repo=false  --foreman-proxy-register-in-foreman=false
Installing             Done                                               [100%] [...................]Success!* Foreman is running at https://foreman02.kisspuppet.comDefault credentials are 'admin:changeme'* Foreman Proxy is running at https://foreman02.kisspuppet.com:8443* Puppetmaster is running at port 8140The full log is at /var/log/foreman-installer/foreman-installer.log

如果只代理puppet和puppetCA,可以通过以下方式安装

[root@foreman02 ~]# foreman-installer --enable-foreman --enable-foreman-proxy --enable-puppet  --puppet-server=true --foreman-proxy-puppetrun=true  --foreman-proxy-puppetca=true    --foreman-configure-epel-repo=false  --foreman-proxy-register-in-foreman=false

4、检查foreman、foreman-proxy、puppetmaster是否安装成功

[root@foreman02 ~]# /etc/init.d/httpd status
httpd (pid  25433) is running...
[root@foreman02 ~]# /etc/init.d/foreman-proxy status
foreman-proxy (pid  25605) is running...
[root@foreman02 ~]# netstat -naltp | grep 8443
tcp        0      0 0.0.0.0:8443                0.0.0.0:*                   LISTEN      25605/ruby
[root@foreman02 ~]# netstat -naltp | grep 80
tcp        0      0 :::80                       :::*                        LISTEN      25433/httpd
[root@foreman02 ~]# netstat -naltp | grep 8140
tcp        0      0 :::8140                     :::*                        LISTEN      25433/httpd

5、在Foreman上注册foreman-proxy

如果要管理puppet、puppetca等软件,是需要通过foreman-proxy去代理才能够正常使用的,关于代理的开启和关闭可以修改它的配置文件/etc/foreman-proxy/settings.yml

Foreman安装

Foreman安装

Foreman安装

Foreman安装

关于如何设置和使用foreman,请关注后续文章....

@KissPuppet

2014年10月28号 上海

返回主目录

交流方式:

微信公众号:puppet2014,可微信搜索加入,也可以扫描以下二维码进行加入

微信公众号

QQ交流群:296934942

转载于:https://blog.51cto.com/dreamfire/1568862

foreman架构的引入3-安装Foreman1.5.3架构(all-in-one)相关推荐

  1. foreman架构的引入2-安装前环境准备

    零基础学习Puppet自动化配置管理系列文档 Foreman官网提供了每个版本非常完善的安装步骤,无论是源码安装还是rpm包安装都变得非常方便.而且Foreman通过puppet模块对安装步骤进行了封 ...

  2. Presto架构及原理、安装及部署

    2019独角兽企业重金招聘Python工程师标准>>> Presto 是 Facebook 推出的一个基于Java开发的大数据分布式 SQL 查询引擎,可对从数 G 到数 P 的大数 ...

  3. 搭建分布式架构4--ZooKeeper注册中心安装

    2019独角兽企业重金招聘Python工程师标准>>> ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务--分布式同步(Distr ...

  4. 在arm架构的mac上安装sql server(m1芯片 or m2芯片)

    在arm架构的mac上安装sql server 由于Mac最新的芯片使用了arm架构的缘故 Sql server和Mac的兼容相当差,以至于无法在Mac的docker上启动 在m1芯片上很多方法试试还 ...

  5. ecshop nginx php,Nginx网站架构实战——10、安装ecshop

    前言: Nginx网站架构实战--01.Nginx介绍及编译安装: Nginx网站架构实战--02.Nginx信号量: Nginx网站架构实战--03.nginx虚拟主机配置: Nginx网站架构实战 ...

  6. 架构篇:什么才是真正的架构设计?

    一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解.此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这 ...

  7. 微服务架构设计模式 pdf_六种常用的微服务架构设计模式之一: 入门级模式...

    入门级模式之细粒度SOA 细粒度SOA可以说是微服务的"大爆炸"时代.许多人认为,细粒度SOA架构风格起源于Netflix.在一开始,Netflix宣称他们构建的架构就是细粒度的S ...

  8. 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路

    本次分享的技术大纲如下: 传统应用开发面临的挑战 服务化实践 服务化不是银弹 服务化架构的演进方向 一 .传统应用开发面临的挑战 挑战1-- 研发成本高 主要体现在如下几个方面: 代码重复率高 在实际 ...

  9. java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...

    原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解 Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构.集群架构.分布式架构.SOA架构和微服务架构.下 ...

最新文章

  1. Tomcat 运行项目出现 server tomcat v8.0 server at localhost failed to start处理方式
  2. 计算机网络复习_物理层
  3. K-均值聚类算法对未标注数据分组(1)
  4. genymotion 极速模拟器
  5. TableStore实战:DLA+SQL实时分析TableStore
  6. 基于CentOS 7 安装Percona XtraDB Cluster(PXC) 5.7
  7. rtklib 后处理_RTKLIB 手册解读及代码调试知识总结
  8. Mysql8报You need either to explicitly disable SSL by setting useSSL=false
  9. lamda获取参数集合去空_lambda表达式对集合的遍历
  10. 20175320 2018-2019-2 《Java程序设计》第8周学习总结
  11. 字符串模式匹配sunday算法
  12. linux 位置参数数组,荐Linux中的shell编程Ⅱ——位置参数、数组、date和cal
  13. Vue中 实现 Echarts 图表宽高自适应
  14. Java5种算术运算符,Java算术运算符
  15. 关于概率论中常错的考点 左偏右偏
  16. enum ordinal java_Java Enum ordinal()方法
  17. openstack集群搭建
  18. C语言8.14文曲星上的猜数游戏
  19. [7.19NOIP模拟测试6]失恋三连(雾 题解
  20. pandas数据合并之pd.concat()用法

热门文章

  1. 设计模式学习笔记(3)装饰器
  2. python 笔记 之 练习答案-ABCD乘以9=DCBA
  3. 前端学习资料网址收集整理
  4. 手把手教你如何把本地文件传到服务器,如何映射
  5. 简析IP视频监控图像处理芯片介绍及应用
  6. Log4net创建日志及简单扩展
  7. 自旋锁--Test and Set Clock机制分析
  8. 对tensorflow 的BatchNormalization的坑的理解与测试
  9. 矩阵多种乘法的辨析与python实现
  10. 2 HTTP和HTTPS