CentOS环境下使用Cobbler部署应用的落地方案

一核心概念与适用场景

Cobbler是面向CentOS/RHEL的自动化装机与配置管理工具,集中管理DHCP、DNS、TFTP、HTTP等服务,通过PXE网络启动与Kickstart自动应答文件实现无人值守安装与批量部署。适合数据中心、实验室与大规模集群的“标准化系统交付”。

二部署流程总览

安装软件包与启用服务:安装cobblercobbler-webtftp-serverdhcphttpdxinetd,启动cobblerd、httpd(必要时启用rsyncd)。

配置核心参数:编辑/etc/cobbler/settings,设置server与next_server为本机PXE网段可达的IP;按需开启manage_dhcp/manage_dns。

配置DHCP与TFTP:DHCP需下发next-server与filename“pxelinux.0”;TFTP由xinetd托管并启用。

导入发行版镜像:挂载ISO后执行cobblerimport生成distro/profile。

准备Kickstart:在/var/lib/cobbler/kickstarts/放置ks文件,关联到profile。

同步与启动:执行cobblersync使配置生效;客户端BIOS设为PXE首启,选择相应profile自动安装。

三关键配置与命令示例

安装与启动

安装:yum-yinstallcobblercobbler-webtftp-serverdhcphttpdxinetd

启动:systemctlenable--nowcobblerdhttpd;必要时systemctlenable--nowrsyncd

核心配置

/etc/cobbler/settings

server=192.168.182.10

next_server=192.168.182.10

可按需开启manage_dhcp/manage_dns

DHCP(示例/etc/dhcp/dhcpd.conf)

subnet192.168.182.0netmask255.255.255.0{

range192.168.182.150192.168.182.155

default-lease-time600;max-lease-time7200

filename“pxelinux.0”;next-server192.168.182.10

optionrouters192.168.182.1;optiondomain-name-servers8.8.8.8

}

TFTP(/etc/xinetd.d/tftp)

将disable=yes改为disable=no

镜像导入与校验

挂载ISO:mount-oloop/path/to/CentOS-7-x86_64.iso/mnt/centos

导入:cobblerimport--path=/mnt/centos--name=CentOS7--arch=x86_64

校验:cobblerdistrolist;cobblerprofilelist;cobblerreport

Kickstart示例(/var/lib/cobbler/kickstarts/centos7-base.ks)

install

url--url=$tree

langen_US

keyboardus

timezoneAsia/Shanghai

auth--enableshadow--passalgosha512

rootpw--iscrypted$default_password_crypted

firewall--disabled

selinux--disabled

bootloader--location=mbr

clearpart--all--initlabel

part/boot--fstype=ext4--size=1024

part/--fstype=ext4--size=10240--grow

%packages

@base

vim

wget

%end

关联与同步

关联:cobblerprofileedit--name=CentOS7-x86_64--kickstart=/var/lib/cobbler/kickstarts/centos7-base.ks

同步:cobblersync

批量主机

cobblersystemadd--name=web01--mac=08:00:27:xx:xx:xx--profile=CentOS7-x86_64

cobblersystemlist;cobblersystemreport--name=web01

服务端口(防火墙放行)

TCP80(HTTP)、UDP69(TFTP)、TCP25150–25151(Cobbler)

四应用部署与镜像管理

本地镜像源与内网加速

导入后系统可从http:///cobbler/ks_mirror//安装软件包;如需内网加速,先挂载本地ISO或内网仓库,再执行cobblerimport;多仓库可用cobblerreposync同步到本地/var/www/cobbler/repo_mirror/,并在ks中用repo--name=指定。

在Kickstart中注入“应用安装”

方式一:%packages段安装所需RPM(适合基础环境与应用依赖)

%packages

@base

nginx

python3

%end

方式二:%post段执行脚本(适合复杂部署、配置与拉取外部包)

%post

yuminstall-y-qepel-release

yuminstall-y-qdocker-ce

systemctlenable--nowdocker

%end

镜像与目录要点

发行版与镜像:/var/www/cobbler/ks_mirror/、/var/www/cobbler/images/

引导与加载器:/var/lib/cobbler/loaders/(含pxelinux.0等)

日志:/var/log/cobbler/cobbler.log、/var/log/cobbler/install.log

五故障排查与最佳实践

配置检查与引导文件

执行cobblercheck,按提示修正;若缺少网络引导文件,运行cobblerget-loaders下载常用loader(如pxelinux.0、menu.c32)。

日志与抓包定位

查看/var/log/cobbler/;必要时抓包:tcpdump-iporttftporport69

同步与生效

每次修改distro/profile/system或DHCP/TFTP后务必执行cobblersync,使配置下发到各服务与PXE菜单。

安全与网络

生产环境不建议直接关闭SELinux与防火墙;按需放行69/80/25150–25151端口,并限制DHCP作用域与PXE网段。

密码与加固

修改/etc/cobbler/settings中的default_password_crypted,可用命令生成:opensslpasswd-1-salt‘rand’‘YourPass’。