使用puppet模塊管理mysql

 參考資料:Pro puppet

          http://docs.puppetlabs.com/

http://urchin.blog.51cto.com/4356076/986571

使用puppet模塊管理mysql

模塊的目錄結構

  1. modules/mysql/ 
  2. ├── files 
  3. │   └── my.cnf 
  4. ├── manifests 
  5. │   ├── config.pp 
  6. │   ├── init.pp 
  7. │   ├── install.pp 
  8. │   └── service.pp 
  9. └── templates 

mysql::install

  1. # vi ../modules/mysql/manifests/install.pp 
  2. class mysql::install { 
  3.      package { ["mysql", "mysql-server", "mysql-test", "mysql-devel" ]: 
  4.         ensure => present, 
  5.         require => User["mysql"], 
  6.      } 
  7.      user { "mysql":    ##資源類型:用戶 
  8.         ensure => present, 
  9.         comment => "mysql user",##/etc/passwd文件第五段信息 
  10.         gid => "mysql",  ##用戶的組 
  11.         shell => "/bin/false", ##用戶的shell 
  12.         require => Group["mysql"],##mysql用戶依賴於mysql組 
  13.      } 
  14.      group { "mysql":   ##資源類型:組 
  15.         ensure => present, 
  16.      } 

mysql::conifg

  1. # vi ../modules/mysql/manifests/config.pp 
  2. class mysql::config { 
  3.      file { "/etc/my.cnf": 
  4.         ensure => present, 
  5.         source => "puppet:///modules/mysql/my.cnf", 
  6.         owner => 'mysql', 
  7.         group => 'mysql', 
  8.         require => Class["mysql::install"], 
  9.         notify => Class["mysql::service"], 
  10.      } 
  11.  

mysql::service

  1. # vi ../modules/mysql/manifests/service.pp 
  2. class mysql::service { 
  3.      service { "mysqld": 
  4.         ensure => running, 
  5.         hasstatus => true, 
  6.         hasrestart => true, 
  7.         enable  => true, 
  8.         require => Class["mysql::config"], 
  9.      } 

modules/mysql/manifest/init.pp

  1. # vi ../modules/mysql/manifests/init.pp 
  2. class mysql { 
  3.      include mysql::install, mysql::config, mysql::service 

../puppet/manifest/nodes.pp

  1. node 'agent.test.com' { 
  2.         include ssh 
  3.         include mysql 

注:各元參數含義請移至http://urchin.blog.51cto.com/4356076/986571

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章