2022-10-23 490
由于Foreman的应用资料比较***,苦于像我们这些IT民众花费大量的时间研究,所以将相关内容共享出来,文章内容主要是针对安装配置应用的一些实例,在网上安装的文章很多,但对于配置的细节问题,没有太多的讲解,特别是针对操作系统安装的这个方面,网上的文章少之又少,针对这种情况,特写此文,也算尽我的微薄之力。
本文的重点也源自于像Cobbler那样无人值守安装操作系统,其它的针对Puppet的整合操作并不会在本文中出现太多。
一、安装
1、环境介绍
架构
本环境是在Puppet的环境之上进行的安装,Puppet环境已经成功运行。所有的版本均采用repo库中***的安装包,yum自动识别安装。
2. 安装
yum clean all yum -y groupinstall "Development tools" rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -vih http://yum.puppetlabs.com/el/6/products/x86_64/\ puppetlabs-release-6-7.noarch.rpm yum -y install http://yum.theforeman.org/releases/1.2/el6/x86_64/\ foreman-release.rpm yum -y install dhcp yum -y install foreman-installer ruby /usr/share/foreman-installer/generate_answers.rb
三个都是y,经过大概一段时间的等待就安装OK了。
Note:如果你这一步都没有安装完成,请不断重试这一步骤以完成这一步的成功安装进行下一步的配置工作。#p#
二、配置
1、配置DHCP服务
vim /etc/dhcp/dhcpd.conf ddns-update-style interim; ignore client-updates; authoritative; allow booting; allow bootp; omapi-port 7911; subnet 192.168.252.0 netmask 255.255.255.0 { option routers 192.168.252.2; option subnet-mask 255.255.255.0; option domain-name "lishixin.com"; option domain-name-servers 192.168.252.2; option log-servers syslog; option ntp-servers ntp; range dynamic-bootp 192.168.252.2 192.168.252.25; default-lease-time 21600; max-lease-time 43200; }chgrpforeman-proxy/etc/dhcp/-R chkconfigdhcpdon servicedhcpdstart
2、配置Foreman-Proxy
vim/etc/foreman-proxy/settings.yml
vim/etc/foreman-proxy/settings.yml
3、配置Puppet及HTTP
https://puppet.lishixin.com username:admin password:changeme vim/etc/puppet/puppet.conf
红色区域全部删除,不需要这样细化配置环境,不然配置起来就复杂了,***次以简单为主。
servicehttpdrestart
出现上图说明安装成功。
4、简单Web配置
点击Settings进入下图的设置项:
foreman_url 改成一个网络中可以解析的域名,我这里直接改成IP:192.168.252.138,这样可以省了DNS服务器的配置。
5、Create a Smart Proxy
添加完成。
6、Import your data
vim/etc/foreman/database.yml
#添加
production: adapter:postgresql database:foreman username:foreman password:xNPq6xBYgBSEJbNhiBbooL2bYquMYopi host:localhost
默认没有host这个可能是puppet安装的foreman一个bug
cd/usr/share/foreman ruby193-rakepuppet:import:hosts_and_factsRAILS_ENV=production
在puppet-c01 puppet-c02配置文件添加:
report=true
导入类
7、基本设置完成
#p#
使用
1、添加子网
More>>Provisioning>>Subnets
如下是我添加好的。
2、添加安装源
More>>Provisioning>>InstallationMedia
如图是在原来的基础上面更改的,当然也可以自己添加:
3、添加安装使用模板
More >>Provisioning >> Provisioning Templates
这里的模板分为PXE引导使用的与ks 文件 使用的模板当然这里不仅仅只有这两种,但我们与Cobbler相比,我们经常使用就只有这两种了。
PXELINUX模板
我们使用系统自带的PXE模板即可满足要求:
以下是PXE模板内容:
defaultlinux labellinux kernel<%=@kernel%> <%if@host.operatingsystem.name=="Fedora"and@host.operatingsystem.major.to_i>16-%> appendinitrd=<%=@initrd%>ks=<%=foreman_url("provision")%>ks.device=bootifnetworkks.sendmac <%else-%> appendinitrd=<%=@initrd%>ks=<%=foreman_url("provision")%>ksdevice=bootifnetworkkssendmac <%end-%>
ks模板
我们也同样使用系统自带的:
但这个是要根据个人的情况做修改的,如果你对ks文件的结构比较了解这个应该不是问题,和普通的KS文件没有太大区别,只是引用了一些变量。
以下是修改后的KS内容:
#InstallOSinsteadofupgrade install <%=@mediapath%> #SELinuxconfiguration selinux--disabled #DonotconfiguretheXWindowSystem skipx #Donotkey key--skip #Usenetworkinstallation #NetworkDHCPIP #network--bootproto<%=@static?"static":"dhcp"%>--hostname<%=@host%> #UseStaticIP network--bootproto=static--hostname=<%=@host%>--ip=<%=@host.ip%>--netmask=<%=@host.subnet.mask%>--gateway=<%=@host.subnet.gateway%>--nameserver=<%=@host.subnet.dns_primary%> #Endnetworkinstallation #Rootpassword rootpw--iscrypted<%=root_pass%> #Systemauthorizationinformation auth--useshadow--enablemd5 #Firewallconfiguration firewall--disabled #Systemkeyboard keyboardus #Systemlanguage langen_US #Installationlogginglevel logging--level=info #Usetextmodeinstall text #Rebootafterinstallation reboot #Systemtimezone timezoneAsia/Shanghai #DisableService services--disabledpostfix #Systembootloaderconfiguration bootloader--location=mbr #IncludediskLayout <%=@host.diskLayout%> #InstallPackages %packages--ignoremissing @Core %end %post logger"Startinganaconda<%=@host%>postinstall" exec</dev/tty3>/dev/tty3 #changingtoVT3sothatwecanseewhatsgoingon.... /usr/bin/chvt3 ( #andaddthehost echo"<%=@host.params['PuppetMasterIP']%><%=@host.puppetmaster%>">>/etc/hosts echo"<%=@host.ip%><%=@host%>">>/etc/hosts #andaddthepuppetpackage rpm-ivh<%=@host.params['epel']%> rpm-ivh<%=@host.params['puppetlabs']%> yum-t-y-e0installpuppet #Setuppuppettorunonsystemreboot /sbin/chkconfig--level345puppeton /usr/bin/puppetagent--server<%=@host.puppetmaster%>--no-daemonize sync #Informthebuildsystemthatwearedone. echo"InformingForemanthatwearebuilt" wget-q-O/dev/null--no-check-certificate<%=foreman_url%> #Sleepinganhourfordebug )2>&1|tee/root/install.post.log exit0
4、添加使用的分区表
More>>Provisioning>>PartitionTables
这里我们使用系统默认的,当然你也是可以编辑这些内容:
以下是分区表的内容:
#CleartheMasterBootRecord zerombr #Allowanacondatopartitionthesystemasneeded autopart #Partitionclearinginformation clearpart--all-initlabel
5、添加操作系统
More >>Provisioning >> Operating systems
这里主要是对上面创建的模板及分区表进行关联:
6、安装操作系统
如下变量是在KS文件中使用的。
添加全局变量:
More>>Configuration>>GlobalParameters
这个主要用于指定一个PuppetMaster的IP,因为我没有使用广域网解析,所以这个是在主机安装的过程中添加HOSTS使用的。
添加系统变量
More>>Provisioning>>Operatingsystems
Edit Operating System页面
大家一看就知道了,这是添加两个仓库的变量方便以后修改,所以KS引用以后这些地址变了,就只需要在这个地方修改即可。
添加主机
这里面的IP址址会自动分配,如果你的DHCP配置没有问题。
这里面列出了所有的参数。
所有的设置配置完成后,就可以Submit了。
然后打开主机注意MAC地址那台主机,它会自动的生成pxelinux引导文件,及KS文件。然后你就可以等待主机安装成功了.
安装完成
【作者信息】本文作者LSX,个人博客地址:http://blog.lishixin.net/,微博:@warriornew,邮箱:admin@lishixin.net,欢迎留言讨论。
原文链接:https://77isp.com/post/8581.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态