Cobbler自定义安装

匿名 (未验证) 提交于 2019-12-03 00:19:01
  • 唯一身份标识符:身份证
  • 服务器标示符: 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()
[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文件结合脚本,自动化完成。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!