Cobbler自定义安装

建立系统安装的标准

  • 唯一身份标识符:身份证
  • 服务器标示符: MAC地址

MAC地址标示符 —> 固定IP地址 掩码 网关 dns 主机名
ITIL -> ITSM 基础设施及架构
流程 -> 人 -> 技术/工具

标准 -> 文档 -> 脚本 -> 工具 -> web界面 -> api接口 -> 智能
a:/soft/nginx
b:/soft/nginx
c:/soft/nginx

ip地址 -> 主机名 -> 服务部署目录 -> 日志存放位置

  1. 服务器采购
  2. 服务器验收并设置raid
  3. 服务商提供验收单,运维负责人签字
  4. 服务器上架
  5. 资产录入
  6. 开始自动化安装,将新服务器划入装机vlan,根据资产清单上的mac地址,自定义安装

如:
IP地址:192.168.56.12
掩码:255.255.255.0
网关:192.168.56.2
DNS:192.168.56.2
主机名:linux-node2.com
系统版本:CentOS7.4 x86_64

//Cobbler具体实现指令
[root@cobbler ~]# cobbler system add --name=linux-node2.com --mac=00:0c:29:4f:c4:06 --profile=CentOS-7-x86_64 --ip-address=192.168.56.12 --subnet=255.255.255.0 --gateway=192.168.56.2 --interface=eth0 --static=1 --hostname=linux-node2.com --name-server="192.168.56.2"     # 添加主机
[root@cobbler ~]# cobbler system list   # 查看有哪些自定义的主机
[root@cobbler ~]# cobbler system report
# 同步配置
[root@cobbler ~]# cobbler sync

具体参数解释

cobbler system add --name=linux-node3 --mac=00:50:56:24:82:3A \
--profile=CentOS-7.0-1406-x86_64 \
--ip-address=192.168.56.100 --subnet=255.255.255.0 \
--gateway=192.168.56.2 --interface=eth0 \
--static=1 --hostname=linux-node3.example.com \
--name-servers="192.168.56.2" \
--kickstart=/var/lib/cobbler/kickstarts/CentOS-7.1-x86_64_cobbler.cfg
参数解释下:
  • system add 添加一个系统定制
  • name 定义这个新添加的系统定制的名字
  • mac 指定MAC
  • profile 指定profile,通过cobbler profile list查看
  • ip-address 指定静态IP
  • subnet 指定子网掩码
  • gateway 指定网关
  • interface 指定网卡
  • static=1 设置为静态IP
  • hostname 这是主机名
  • name-servers 设置dns服务器
  • kickstart 设置kickstart,通过cobbler profile report来查看
[root@cobbler ~]# cobbler system list   # 创建成功后能够看到刚才新建的系统模版
   linux-node3

cobbler-api

cobbler也是通过restful-api来调用对应的接口,下面请看两个小脚本:
都是采用python2.7版本运行的

[root@cobbler ~]# cat cobbler_list.py
#!/usr/bin/python
import xmlrpclib
server = xmlrpclib.Server("http://192.168.56.11/cobbler_api")
print server.get_distros()
print server.get_profiles()
print server.get_systems()
print server.get_images()
print server.get_repos()
下面看看创建system模版的:
[root@cobbler ~]# cat cobbler-api.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import xmlrpclib

class CobblerAPI(object):
    def __init__(self,url,user,password):
        self.cobbler_user= user
        self.cobbler_pass = password
        self.cobbler_url = url

    def add_system(self,hostname,ip_add,mac_add,profile):
        '''
        Add Cobbler System Infomation
        '''
        ret = {
            "result": True,
            "comment": [],
        }
        #get token
        remote = xmlrpclib.Server(self.cobbler_url)
        token = remote.login(self.cobbler_user,self.cobbler_pass)

        #add system
        system_id = remote.new_system(token)
        remote.modify_system(system_id,"name",hostname,token)
        remote.modify_system(system_id,"hostname",hostname,token)
        remote.modify_system(system_id,'modify_interface', {
            "macaddress-eth0" : mac_add,
            "ipaddress-eth0" : ip_add,
            "dnsname-eth0" : hostname,
        }, token)
        remote.modify_system(system_id,"profile",profile,token)
        remote.save_system(system_id, token)
        try:
            remote.sync(token)
        except Exception as e:
            ret['result'] = False
            ret['comment'].append(str(e))
        return ret

def main():
    cobbler = CobblerAPI("http://192.168.56.11/cobbler_api","cobbler","123456")
    ret = cobbler.add_system(hostname='cobbler-api-test',ip_add='192.168.56.101',mac_add='00:50:56:21:65:78',profile='CentOS-7.0-1406-x86_64')
    print ret

if __name__ == '__main__':
    main()

说明:通过这样api的方式,也能够创建system模版实现安装主机的功能

1.安装rpm包软件
2.修改配置文件,可以替换可以sed修改
3.启动服务,加入开机自启动

这三部都可以利用ks文件结合脚本,自动化完成。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值