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  Modulefile  Rakefile  README.md  spec

可以通过查询 README.md 文件查询使用方法

puppet 调用顺序

/etc/puppet/puppet.conf
 |-> /etc/puppet/manifests/main-site.pp
        |-> /etc/puppet/manifests/terry/terry-parameter.pp
        |-> /etc/puppet/manifests/terry/terry-site.pp
                |-> /etc/puppet/manifests/terry/terry-sysctl.pp

说明一下:

1. /etc/puppet/puppet.conf 中通过下面配置执行下一个文件

    manifest = /etc/puppet/manifests/main-site.pp

2.  /etc/puppet/manifests/main-site.pp 通过下面配置执行下一个文件

    import 'terry/terry-parameter.pp'
    import 'terry-site.pp'

3.   /etc/puppet/manifests/terry/terry-parameter.pp  (用于定了了全局变量)  下一章说明
     /etc/puppet/manifests/terry/terry-site.pp 定义了主机需要执行那些自定义行为, 使用那些资源, 当前以调用了 sysctl 模块功能
        import  'terry/terry-sysctl.pp'

4.   /etc/puppet/manifests/terry/terry-sysctl.pp 定义了 sysctl 配置

sysctl 控制说明

主要由 /etc/puppet/manifests/terry/terry-site.pp 控制整个客户端的行为
为了能够更加好地进行主机管理, 我们为每个功能都独立地存放到一个 pp (模板) 文件中 (terry-sysctl.pp)

文件例:

  sysctl::value {
    'net.ipv4.ip_forward':  value => '1',
  }
  sysctl::value {
    'net.ipv4.tcp_max_syn_backlog':  value  => '4096',
  }
  sysctl::value {
    'net.core.netdev_max_backlog' :  value => '2048',
  }
  sysctl::value {
    'net.ipv4.tcp_fin_timeout':  value => '15',
  }
  sysctl::value {
    'net.ipv4.tcp_tw_reuse': value => '1',
  }
  sysctl::value {
    'net.ipv4.tcp_tw_recycle': value => '1',
 }

客户端配置

[main]
    logdir = /var/log/puppet
    rundir = /var/run/puppet
    ssldir = $vardir/ssl
    server = terry-test-uq2pu.vclound.com
[agent]
    classfile = $vardir/classes.txt
    localconfig = $vardir/localconfig

客户端连接服务器方法

[root@terryzeng-gz-qa-dns-d4yzu ~]# puppet agent -t
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')
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Caching catalog for terryzeng-gz-qa-dns-d4yzu.vclound.com
Info: Applying configuration version '1485076119'
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_max_syn_backlog]/Sysctl[net.ipv4.tcp_max_syn_backlog]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_max_syn_backlog]/Exec[exec_sysctl_net.ipv4.tcp_max_syn_backlog]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_recycle]/Sysctl[net.ipv4.tcp_tw_recycle]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_recycle]/Exec[exec_sysctl_net.ipv4.tcp_tw_recycle]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_reuse]/Sysctl[net.ipv4.tcp_tw_reuse]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_reuse]/Exec[exec_sysctl_net.ipv4.tcp_tw_reuse]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.ip_forward]/Sysctl[net.ipv4.ip_forward]/val: val changed '0' to '1'
Notice: /Stage[main]/Main/Sysctl::Value[net.core.netdev_max_backlog]/Sysctl[net.core.netdev_max_backlog]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.core.netdev_max_backlog]/Exec[exec_sysctl_net.core.netdev_max_backlog]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_fin_timeout]/Sysctl[net.ipv4.tcp_fin_timeout]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_fin_timeout]/Exec[exec_sysctl_net.ipv4.tcp_fin_timeout]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.ip_forward]/Exec[exec_sysctl_net.ipv4.ip_forward]/returns: executed successfully
Notice: Finished catalog run in 0.98 seconds

验证客户端 sysctl.conf 配置

验证配置文件

[root@terryzeng-gz-qa-dns-d4yzu ~]# grep -v "#" /etc/sysctl.conf  | grep -v ^$
net.ipv4.ip_forward=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.default.accept_source_route=0
kernel.sysrq=0
kernel.core_uses_pid=1
net.ipv4.tcp_syncookies=1
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
net.bridge.bridge-nf-call-arptables=0
kernel.msgmnb=65536
kernel.msgmax=65536
kernel.shmmax=68719476736
kernel.shmall=4294967296
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.core.netdev_max_backlog=2048
net.ipv4.tcp_fin_timeout=15

说明:

服务器端 terry-sysctl.pp 已经定义的配置
    对客户端 sysctl.conf 中原来没有的配置项会进行新增动作
    对客户端 sysctl.conf 中原来已经的配置项会进行修改动作
服务器端 terry-sysctl.pp 没有定义的配置
    对客户端 sysctl.conf 中原来已经拥有的配置, 不进行任何修改操作

验证客户端内核当前配置

[root@terryzeng-gz-qa-dns-d4yzu ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@terryzeng-gz-qa-dns-d4yzu ~]# cat /proc/sys/net/core/netdev_max_backlog
2048
[root@terryzeng-gz-qa-dns-d4yzu ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout
15

说明

在修改 /etc/sysctl.conf 配置同时也一并对内核当前配置进行修改
时间: 2024-10-30 16:08:10

puppet 配置 3.1 管理 sysct.conf的相关文章

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 配置 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

IBM公司收购配置和漏洞管理厂商BigFix

IBM与配置和漏洞管理厂商BigFix就收购事宜已经达成协议.IBM表示,此次交易将增强其数据中心软件业务的终端保护服务.IBM没有披露该协议的具体细节.IBM表示,将把BigFix整合到IBM软件集团中,并将终端管理功能加到它的数据中心管理软件产品组合中.总部位于加州的BigFix专注于开发检测无法满足公司IT政策的设备的软件.BigFix使用代理来检测没有最 新的防病毒.反恶意签名或其他厂商补丁,以及没有正确配置的设备.IBM Tivoli软件总经理Al Zollar表示,BigFix软件可

利用现有的配置和变更管理软件投资来实现敏捷性

它良好地兼容您已使用的 Rational 变更与配置管理工具,所以团队在这一过渡时期可利用他们现有的投资并最大程度地减少额外成本. IT 软件团队,包括软件密集型.实时和嵌入式系统团队,均可以使用 IBM® Rational® Team Concert 对快速开始过渡到敏捷流程进行规划.优秀的工具支持"个体和交互重于流程和工具"的"敏捷口号".IT 软件团队采用敏捷实践来按时交付满足利益相关者需求的更高质量产品.许多不同的行业都采用了敏捷方法,因为敏捷方法提供了一个

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 =>

puppet 配置 3.5 参数

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

puppet 配置 2 模块

概念 模块是 puppet 中最基本的功能单位 模块常常存放在 /etc/puppet/modules 下 每个模块都是独立的, 模块命名不可以重复, 否则会导致重命名错误 模块主要供客户端进行调用 模块常见有下载及自定义两种 获取 可以从网络中获得模板 https://forge.puppet.com/ http://www.example42.com 命令行管理 Linux 下使用命令行获得模块方法 查询模块 (默认会从 https://forge.puppet.com/ 获取 ) [roo

使用Laptop Mode Tools配置Linux电源管理属性

Linux 作为一个偏重 server side 的操作系统,它效仿的对象主要是传统的 Unix.加上早期 Linus 等开发者使用的电脑一般都比较老旧,因此 Linux 一开始其目标主机就不是普通用户使用的台式机或者笔电,对硬件的向后兼容性也比较重视,而对个人电脑硬件上的新特性则支持不是那么优雅--当然,这也和不少硬件厂商既不愿意为 Linux 自行开发驱动程序也不愿意为 Linux 开发者提供足够技术资料的做法有关.一个对于个人电脑用户比较明显的影响,就是 Linux 对计算机的电源管理支持

Vim配置和插件管理

这篇文章主要是记录vim配置中各个配置项的含义并且收藏一些常用的插件及其使用方法. 1. Vim配置 目前我的vimrc配置放置在:https://github.com/javachen/snippets/blob/master/dotfiles/.vimrc,其中大多数用英文注释. 2. 插件管理 使用 pathogen来管理插件 项目地址: https://github.com/tpope/vim-pathogen 安装方法: $ mkdir -p ~/.vim/autoload ~/.vi