温馨提示×

centos cobbler如何部署应用

小樊
42
2025-11-29 20:44:43
栏目: 智能运维

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

一 核心概念与适用场景

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

二 部署流程总览

  • 安装软件包与启用服务:安装 cobbler cobbler-web tftp-server dhcp httpd xinetd,启动 cobblerd、httpd(必要时启用 rsyncd)。
  • 配置核心参数:编辑 /etc/cobbler/settings,设置 servernext_server 为本机 PXE 网段可达的 IP;按需开启 manage_dhcp/manage_dns
  • 配置 DHCP 与 TFTP:DHCP 需下发 next-serverfilename “pxelinux.0”;TFTP 由 xinetd 托管并启用。
  • 导入发行版镜像:挂载 ISO 后执行 cobbler import 生成 distro/profile
  • 准备 Kickstart:在 /var/lib/cobbler/kickstarts/ 放置 ks 文件,关联到 profile
  • 同步与启动:执行 cobbler sync 使配置生效;客户端 BIOS 设为 PXE 首启,选择相应 profile 自动安装。

三 关键配置与命令示例

  • 安装与启动
    • 安装:yum -y install cobbler cobbler-web tftp-server dhcp httpd xinetd
    • 启动:systemctl enable --now cobblerd httpd;必要时 systemctl enable --now rsyncd
  • 核心配置
    • /etc/cobbler/settings
      • server=192.168.182.10
      • next_server=192.168.182.10
      • 可按需开启 manage_dhcp / manage_dns
    • DHCP(示例 /etc/dhcp/dhcpd.conf)
      • subnet 192.168.182.0 netmask 255.255.255.0 {
        • range 192.168.182.150 192.168.182.155
        • default-lease-time 600; max-lease-time 7200
        • filename “pxelinux.0”; next-server 192.168.182.10
        • option routers 192.168.182.1; option domain-name-servers 8.8.8.8
        • }
    • TFTP(/etc/xinetd.d/tftp)
      • 将 disable = yes 改为 disable = no
  • 镜像导入与校验
    • 挂载 ISO:mount -o loop /path/to/CentOS-7-x86_64.iso /mnt/centos
    • 导入:cobbler import --path=/mnt/centos --name=CentOS7 --arch=x86_64
    • 校验:cobbler distro list;cobbler profile list;cobbler report
  • Kickstart 示例(/var/lib/cobbler/kickstarts/centos7-base.ks)
    • install
    • url --url=$tree
    • lang en_US
    • keyboard us
    • timezone Asia/Shanghai
    • auth --enableshadow --passalgo sha512
    • 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
  • 关联与同步
    • 关联:cobbler profile edit --name=CentOS7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-base.ks
    • 同步:cobbler sync
  • 批量主机
    • cobbler system add --name=web01 --mac=08:00:27:xx:xx:xx --profile=CentOS7-x86_64
    • cobbler system list;cobbler system report --name=web01
  • 服务端口(防火墙放行)
    • TCP 80(HTTP)、UDP 69(TFTP)、TCP 25150–25151(Cobbler)

四 应用部署与镜像管理

  • 本地镜像源与内网加速
    • 导入后系统可从 http://<cobbler_ip>/cobbler/ks_mirror// 安装软件包;如需内网加速,先挂载本地 ISO 或内网仓库,再执行 cobbler import;多仓库可用 cobbler reposync 同步到本地 /var/www/cobbler/repo_mirror/,并在 ks 中用 repo --name=<repo_name> 指定。
  • 在 Kickstart 中注入“应用安装”
    • 方式一:%packages 段安装所需 RPM(适合基础环境与应用依赖)
      • %packages
        • @base
        • nginx
        • python3
        • %end
    • 方式二:%post 段执行脚本(适合复杂部署、配置与拉取外部包)
      • %post
        • yum install -y -q epel-release
        • yum install -y -q docker-ce
        • systemctl enable --now docker
        • %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

五 故障排查与最佳实践

  • 配置检查与引导文件
    • 执行 cobbler check,按提示修正;若缺少网络引导文件,运行 cobbler get-loaders 下载常用 loader(如 pxelinux.0、menu.c32)。
  • 日志与抓包定位
    • 查看 /var/log/cobbler/;必要时抓包:tcpdump -i port tftp or port 69
  • 同步与生效
    • 每次修改 distro/profile/system 或 DHCP/TFTP 后务必执行 cobbler sync,使配置下发到各服务与 PXE 菜单。
  • 安全与网络
    • 生产环境不建议直接关闭 SELinux 与防火墙;按需放行 69/80/25150–25151 端口,并限制 DHCP 作用域与 PXE 网段。
  • 密码与加固
    • 修改 /etc/cobbler/settings 中的 default_password_crypted,可用命令生成:openssl passwd -1 -salt ‘rand’ ‘YourPass’。

0