dew 发表于 2018-8-2 13:53:40

Puppet and openldap 整合

  Puppet and openldap integration
  # cat /etc/openldap/schema/puppet.schema
  attributetype ( 1.3.6.1.4.1.34380.1.1.3.10 NAME 'puppetClass'

  DESC 'Puppet Node>  EQUALITY caseIgnoreIA5Match
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
  attributetype ( 1.3.6.1.4.1.34380.1.1.3.9 NAME 'parentNode'
  DESC 'Puppet Parent Node'
  EQUALITY caseIgnoreIA5Match
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  SINGLE-VALUE )
  attributetype ( 1.3.6.1.4.1.34380.1.1.3.11 NAME 'environment'
  DESC 'Puppet Node Environment'
  EQUALITY caseIgnoreIA5Match
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
  attributetype ( 1.3.6.1.4.1.34380.1.1.3.12 NAME 'puppetVar'
  DESC 'A variable setting for puppet'
  EQUALITY caseIgnoreIA5Match
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
  objectclass ( 1.3.6.1.4.1.34380.1.1.1.2 NAME 'puppetClient' SUP top AUXILIARY
  DESC 'Puppet Client objectclass'
  MAY ( puppetclass $ parentnode $ environment $ puppetvar ))
  puppet.ldif file
  cat puppet.ldif
  dn: ou=Hosts,dc=csdn,dc=net
  objectClass: organizationalUnit
  objectClass: top
  ou: Hosts
  dn: cn=default,ou=Hosts,dc=csdn,dc=net
  cn: default
  description: Default
  objectClass: device
  objectClass: top
  objectClass: puppetClient
  puppetClass: base
  dn: cn=basenode,ou=Hosts,dc=csdn,dc=net
  cn: basenode
  description: Basenode
  objectClass: device
  objectClass: top
  objectClass: puppetClient
  puppetClass: base
  dn: cn=web, ou=Hosts,dc=csdn,dc=net
  cn: web
  description: webServer
  objectClass: device
  objectClass: top
  objectClass: puppetClient
  parentNode: basenode
  puppetClass: services
  dn: cn=puppet-client1.csdn.net, ou=Hosts,dc=csdn,dc=net
  cn: puppet-client1.csdn.net
  description: web host
  objectClass: device
  objectClass: top
  objectClass: puppetClient
  objectClass: ipHost
  parentNode: base
  ipHostNumber: 192.168.7.181
  dn: cn=puppet-client2.csdn.net, ou=Hosts,dc=csdn,dc=net
  cn: puppet-client1.csdn.net
  description: web2 host
  objectclass: device
  objectclass: top
  objectclass: puppetClient
  objectclass: ipHost
  parentnode: base
  ipHostNumber: 192.168.7.182
  # cat/etc/puppet/puppet.conf
  
  node_terminus = ldap
  ldapserver = 192.168.7.179
  ldapbase = ou=Hosts,dc=csdn,dc=net
  # cat /etc/puppet/manifests/site.pp
  import 'node.pp'
  $puppetmaster='puppet-master.csdn.net'
  # cat /etc/puppet/manifests/node.pp
  class base{
  include postfix,mysql,ssh,ntp
  }
  class services{
  include base
  }
页: [1]
查看完整版本: Puppet and openldap 整合