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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

零基础学习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:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::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 1000
    link/ether 00:50:56:a6:5c:70 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.159/24 brd 192.168.10.255 scope global eth0
    inet6 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.com
      Default credentials are 'admin:changeme'
  The full log is at /var/log/foreman-installer/foreman-installer.log

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

Foreman安装Foreman安装

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.com
      Default credentials are 'admin:changeme'
  * Foreman Proxy is running at https://foreman02.kisspuppet.com:8443
  * Puppetmaster is running at port 8140
  The 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安装Foreman安装

Foreman安装Foreman安装



本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1568862,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
69 3
|
4月前
|
Kubernetes 调度 数据库
Kubernetes架构及安装
Kubernetes架构及安装
101 3
|
3月前
|
Ubuntu Windows
ARM架构安装ubuntu系统
8月更文挑战第19天
1213 0
|
3月前
|
Kubernetes Docker 容器
使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图
使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图
355 0
|
3月前
|
运维 Kubernetes 索引
揭秘ChaosBlade的Helm安装双架构:一步到位,让系统故障测试变得前所未有的简单和高效!
【8月更文挑战第7天】在多变的IT环境中,确保应用的稳定与可用至关重要。混沌工程通过故意引入故障来增强系统韧性。ChaosBlade是一款开源混沌实验工具,支持多样化的故障注入。结合Kubernetes的包管理器Helm,可简化ChaosBlade在集群中的部署。本文介绍如何使用Helm安装ChaosBlade双架构版本,包括添加仓库、选择版本、安装配置及验证等步骤,助力高效实施混沌工程,提升系统稳定性和可靠性。
57 0
|
4月前
|
SQL 分布式计算 关系型数据库
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
71 2
|
4月前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
6月前
|
Kubernetes 负载均衡 应用服务中间件
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
|
5月前
|
Ubuntu Windows
ubuntu 安装vnc_vnc4server arm架构
ubuntu 安装vnc_vnc4server arm架构
123 0
|
6月前
|
运维 网络协议 Linux
2024年最全CentOS8 Consul微服务架构安装(1)_agent(1),Linux运维开发面试
2024年最全CentOS8 Consul微服务架构安装(1)_agent(1),Linux运维开发面试
下一篇
无影云桌面