puppet 配置 2 模块

概念

模块是 puppet 中最基本的功能单位
模块常常存放在 /etc/puppet/modules 下
每个模块都是独立的, 模块命名不可以重复, 否则会导致重命名错误
模块主要供客户端进行调用
模块常见有下载及自定义两种

获取

可以从网络中获得模板

https://forge.puppet.com/
http://www.example42.com

命令行管理

Linux 下使用命令行获得模块方法

查询模块

(默认会从 https://forge.puppet.com/ 获取 )

[root@hh-yun-puppet-129021 modules]# puppet module search squid
Warning: Setting modulepath is deprecated in puppet.conf. See http://links.puppetlabs.com/env-settings-deprecations
   (at /usr/lib/ruby/site_ruby/1.8/puppet/settings.rb:1095:in `issue_deprecations')
Notice: Searching https://forgeapi.puppetlabs.com ...
NAME              DESCRIPTION                                                                          AUTHOR        KEYWORDS
puppet-squid      configure squid caching proxy                                                        @puppet       squid cache http web
CERNOps-shoal     Shoal publishes http proxy locations                                                 @CERNOps      shoal cvmfs frontier squid
thias-squid3      Squid 3 http proxy server module                                                     @thias        squid proxy
desalvo-frontier  Puppet module for Frontier configuration                                             @desalvo      frontier squid cvmfs

安装

有时候, 由于具有模块依赖关系, 需要添加参数 –ignore-dependencies 才能够正常进行下载

[root@hh-yun-puppet-129021 modules]# puppet module install --ignore-dependencies elasticsearch-elasticsearch
Warning: Setting modulepath is deprecated in puppet.conf. See http://links.puppetlabs.com/env-settings-deprecations
   (at /usr/lib/ruby/site_ruby/1.8/puppet/settings.rb:1095:in `issue_deprecations')
Notice: Preparing to install into /etc/puppet/modules ...
Notice: Downloading from https://forgeapi.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
/etc/puppet/modules
└── elasticsearch-elasticsearch (v0.12.0)

卸载

[root@hh-yun-puppet-129021 modules]# puppet module uninstall --ignore-dependencies elasticsearch-elasticsearch

指定安装版本

puppet module upgrade puppetlabs-apache --version 0.0.3

模块位置

默认状态下, 从网络下载的模块会自动被放置 /etc/puppet/modules 目录下
同样, 假如手动下载了 tar 包之后, 可以直接解压至少 /etc/puppet/modules 目录下即可

自定义模块

用户可以创建个性化的模块
模块同样需要存放在 /etc/puppet/modules 目录下

模块目录结构

常见的模块目录下, 通常包含下面几个目录
.
├── files 存放共享文件, 常常以 puppet:///modulename/modules/filename 格式进行定义
├── lib 存放 ruby 代码, 定义了 puppet 的一些方法
├── manifests 存放了该模块的 pp 模板, 用于定义该模板的主要功能
├── spec 存放编译方法, 可以通过 puppet modules build 的方法生成新的 puppet modules
└── templates 存放模板, 定义了用户模板, 可以通过模板生成格式化的配置文件

时间: 2024-10-27 03:21:48

puppet 配置 2 模块的相关文章

puppet 配置 3.4 文件管理与自定义模块

作用 利用 puppet 对文件, 配置文件等进行管理 常见管理办法 1. 新增文件并定义文件中内容 2. 修改已经存在的文件中的配置 3. 通过模板管理方式进行配置文件定义 模块 这里介绍 puppet 自带的 file 模块及第三方模块 stdlib stdlib 模块下载地址 使用方法 下载 stdlib.tar.gz 软件包并解压至 /etc/puppet/modules/stdlib 文件结构 [root@terry-test-uq2pu ~]# ls /etc/puppet/modu

php配置pdo_mysql模块导致phpinfo()函数不能使用

问题描述 php配置pdo_mysql模块导致phpinfo()函数不能使用 我在配置pdo_mysql 的时候,当在php.ini文件中加入extension=pdo_mysql.so的时候 phpinfo()函数就不能使用了,但是我确实安装了pdo_mysql模块.可是模块不能使用 求大神啊 解决方案 是报错了吧 如果 pdo_mysql 是和php一起编译的, 你不需要到 php.ini 里启用 extension: 如果 是单独编译的 pdo_mysql 你才需要去掉注释, 但你得配置正

puppet 配置 3. 资源

概念 资源是 puppet 配置的独立单元 资源包含有 (package, service, file, user, mount, exec ...) 常见资源包含有 title, arguments 两部分组成 arguments 可包含 0 ~ 多个 资源例子: type { 'title': argument => value, other_arg => value, } 资源语法: file { 'motd': path => '/etc/motd', content =>

ubuntu上apache加载配置curl模块详解

一.安装curl相关模块 sudo apt-get install curl libcurl3 libcurl3-dev php5-curl 二.配置curl模块 sudo vi /etc/php5/apache2/php.ini 在extension下面加上 extension=curl.so 三.重启apache sudo service apache2 restart

puppet 配置 3.5 参数

作用 介绍 puppet 中 facter 用法, 介绍自参数定义, 参数传递, 参数使用的常见例子 facter facter 是 puppet 的一个依赖软件, 当安装了 puppet 软件, 都可以通过 facter 命令查询 puppet 内建变量 查询内建函数 直接调用命令 facter 查询所有内建变量 通过命令 facter + 需要查询的变量名称, 可以返回变量值 facter 返回的变量可以直接在 puppet 模板中调用, 不需要重新进行定义 facter 变量主要依赖当前

puppet 配置 3.1 管理 sysct.conf

辅助模块 https://github.com/duritong/puppet-sysctl 下载方法 利用上面网站, 通过连接 clone or download 利用 download zip 按钮进行下载 把下载的 zip 文件直接解压到服务器端 /etc/puppet/modules/sysctl/ 目录下 文件结构 如下 [root@terry-test-uq2pu ~]# ls /etc/puppet/modules/sysctl/ Gemfile lib manifests Mod

puppet 配置 3.2 管理 hosts

作用 利用 puppet 对客户端 /etc/hosts 文件进行管理 辅助模块 https://forge.puppet.com/chrekh/hosts 下载方法 点击网页中 download latest tar.gz 直接下载 把下载的文件 解压至 puppet server 中 /etc/puppet/modules/hosts 目录中 文件结构 参考 [root@terry-test-uq2pu hosts]# pwd /etc/puppet/modules/hosts [root@

puppet 配置 5 常见例子

变量复用 说明: 变量定义后可以直接调用变量名称使用 范例: $etcd_controller1='10.100.84.22' $etcd_controller2='10.100.84.23' $etcd_controller3='10.100.84.24' $etcd_host1='gx-yun-084022.vclound.com' $etcd_host2='gx-yun-084023.vclound.com' $etcd_host3='gx-yun-084024.vclound.com'

puppet的sudo模块

需求:每台服务器上都创建dev组,专门给开发人员,给特定的开发人员建账号,并加入dev组: 运维人员也将创建各自的用户,并加入wheel组,通过sudo来对组里成员做权限设置. 架构如下: manfests里面的文件内容如下: 1,init.pp class sudo { case $::osfamily { 'RedHat': { include "sudo::conf" import 'sudoers.pp' } default: { fail("$::osfamily