概述
Foreman部署裸机
作者:Jailman
环境:VMware下Ubuntu16.04(foreman),CentOS6.8(要部署的裸机需要安装的系统)
第一步:配置Foreman主机
配置主机环境
由于安装puppetserver需要的是JDK环境,因此最好是2G以上内存的虚机
关闭VMWare NAT的DHCP分配
配置主机IP,注意一定要在DHCP的分配段内
vim /etc/network/interfaces
# The primary network interface
auto ens33
iface ens33 inet static
address 10.1.1.138
netmask 255.255.255.0
gateway 10.1.1.2
如果主机和虚拟机无法联通,请直接还原默认配置之后重新分配IP
有时虚拟机会抽风,自己去掉手动配置好的ip等信息,重新配置就好
安装ssh-server,远程登录主机
配置主机名,hosts文件和resolv.conf文件
vim /etc/hostname
foreman.lobosix.cc #这个域名最好是可以正确解析的
vim /etc/hosts
127.0.0.1 localhost
10.1.1.138 foreman.lobosix.cc puppet
vim /etc/resolv.conf
nameserver 10.1.1.2
进行必要的升级更新操作
apt-get update && apt-get upgrade –y && apt-get dist-upgrade -y
打开Foreman :: Quickstart
选择Ubuntu16.04
按照说明安装foreman,注意此过程可能需要翻墙,否则会安装不成功
使用4.x版本的puppetagent和puppetserver源
apt-get -y install ca-certificates
wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
dpkg -i puppetlabs-release-pc1-xenial.deb
开启foreman的源
echo "deb http://deb.theforeman.org/ xenial 1.14" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.14" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add –
下载foreman安装
apt-get update && apt-get -y install foreman-installer
确保ping $(hostname -f)显示的是真实的ip而不是127.0.0.1
安装Foreman,此过程在国内翻墙的情况下比较漫长,可能还会有各种因为环境引起的错误。
foreman-installer
安装成功
第二步:配置Foreman裸机安装
根据上一步中的地址和用户名密码登录Foreman
为了便于记忆,可以先修改admin的密码
然后我们把CentOS6.8的镜像传到Foreman主机上,并配置Apache备用
安装lrzsz
apt install lrzsz –y
上传镜像
为了保证镜像上传完整,请使用md5sum命令进行比对
挂载镜像(挂载不成功请比对MD5,有可能上传时损坏)
mount -o loop CentOS-6.8-x86_64-minimal.iso /media/cdrom/
修改apache配置,这里我们使用9090端口作为http服务(此步在后边重新使用DHCP配置Foreman的时候会失效,因此可放到后边配置,在此配置是为了让流程连贯)
cd /etc/apache2/sites-available
cp 15-default.conf media.conf
vim media.conf修改端口和路径
# ************************************
# Vhost template in module puppetlabs-apache
# Managed by Puppet
# ************************************
<VirtualHost *:9090>
ServerName default
ServerAdmin root@localhost
## Vhost docroot
DocumentRoot "/media/cdrom"
## Directories, there should at least be a declaration for /var/www/html
<Directory "/media/cdrom">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
## Logging
ErrorLog "/var/log/apache2/default_error.log"
ServerSignature Off
CustomLog "/var/log/apache2/access.log" combined
## Script alias directives
ScriptAlias /cgi-bin "/usr/lib/cgi-bin"
</VirtualHost>
执行命令a2ensite media.conf
修改apache监听端口
vim /etc/apache2/ports.conf
添加Listen 9090
重启Apache使配置生效
service apache2 restart
查看端口看是否正确监听
插一句,这里最好关闭防火墙,以免影响测试(警告:生产环境千万别这么干)
查看是否能正确访问到安装源,打开http://foreman.lobosix.cc:9090
配置介质
点击主机à安装介质
新建媒体
填上名称和刚才配置的源地址,选择产品线,CentOS属于Redhat阵营
提交
然后我们就多了一个名为TestOS的源,建议名称使用详细的系统版本和用途等
然后点击主机à操作系统
新建操作系统
操作系统一栏如下填写
分区表选择kickstart default(注意生产环境要定制分区表)
安装介质选择我们创建的TestOS
模板需要提交保存后才可以配置,我们点提交
系统成功创建
我们点击系统再次进入到刚才的配置页面,点击模板
进入置备模板界面
输入kickstart搜索,选择如下几个模板,依次点击组合添加创建的操作系统后提交(每个模板均需要各自提交),如果对KS的模板比较熟悉可自行修改,这里我们只使用默认模板
回到主机à操作系统,点击我们的操作系统
选择模板,提交
创建主机
点击架构àProvisioning setup
默认网段,提交
配置子网
修改名称,网关,DNS,其他默认,提交,这里我们使用VMWare的NAT网关和foreman proxy的DNS服务,所以下图中的DNS应该修改为10.1.1.138(下文涉及DNS均应为10.1.1.138),引导模式默认使用DHCP,这就是我们为什么关闭VMWare的NAT模式DHCP的原因,IPAM地址管理可以指定分配的IP范围,这里我们忽略
选择第一个使用DHCP的内容,复制并在Foreman机器上运行注意其中两项我们改一下
--foreman-proxy-dns-forwarders=114.114.114.114 #指定foremanproxy的DNS服务器forwarding服务器地址
--foreman-proxy-dhcp-nameservers="10.1.1.138" #指定pxe启动主机的DHCP分配的DNS地址
看到提示,运行成功
页面点击Next
选择TestOS提交
点击新建主机
点击选项中,选择默认内容,环境中点击继承,选择Production
Puppet类我们暂时不涉及,只要定义好类就可以点点点添加了
点击接口à编辑
这里我们需要新加一台VM裸机,建裸机的过程不再赘述
编辑虚拟机设置
依次如下图生成MAC地址,复制,并确定
在Foreman的接口编辑中输入MAC和IPv4地址,其他默认,点击完成
配置操作系统,依次如下图选择,均为我们之前配置好的介质和系统
参数和附加信息保持默认,提交
进入如下界面
打开新建虚拟机裸机,进入引导界面
此处提示不能找到kickstart文件,因为我们使用的不是FQDN,或者我们的DNS配置成为了网关.2地址,如果是foremanproxyDNS(.138)服务器的地址是可以正确解析的,我们改成IP
此处有同样的问题,实际上我们在没有FQDN的情况下介质中直接指定IP就好(原因同上)
有一些在Kickstart中没有的软件,我们直接忽略就好,实际在生产环境中需要自己定义安装镜像和kickstart模板,添加需要的源和安装包
由于kickstart模板中指定了升级更新,因此会很慢,我们可以直接跳过
安装中
使用之前配置的root密码登录成功
全章完
最后
以上就是谨慎棒棒糖为你收集整理的Foreman部署裸机的全部内容,希望文章能够帮你解决Foreman部署裸机所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复