Ansible常用模块

sysctl模块

管理sysctl.conf文件,可用来管理内核参数

常用参数默认值注释
name指定sysctl支持的变量,内核参数可以在这里管理
statepresent定义该值是否应该在sysctl文件中存在,present存在,absent不存在
sysctl_file“/etc/sysctl.conf”设置sysctl.conf文件位置
valuename变量对应的值
- name: Setting present kernel params
  sysctl:
    name: "{{ item.name }}"
    value: "{{ item.value }}"
    ignoreerrors: yes
    state: present
  with_items:
    - { name: 'net.core.rmem_default', value: 8388608 }
    - { name: 'net.core.rmem_max', value: 16777216  }
    - { name: 'net.core.wmem_default', value: 8388608  }
    - { name: 'net.core.wmem_max', value: 16777216 }
    - { name: 'net.ipv4.igmp_max_memberships', value: 512  }
    - { name: 'net.ipv4.conf.bond0.force_igmp_version', value: 2  }
    - { name: 'vm.max_map_count', value: 655360 }
  become: yes

systemd模块

管理services

常用参数默认值注释
daemon_reloadno任何操作之前先执行daemon-reload操作,no/yes
enabled设置是否开机启动,no/yes
name服务名称
statereloaded重载,restarted重启,started启动,stopped停止
- name: Stop and Disable service
  systemd:
    name: "{{ item }}"
    state: stopped
    enabled: no
  with_items:
    - firewalld
    - irqbalance
  become: yes

selinux模块

管理selinx的状态和策略

  • 配置SELinux模式和策略
  • 使用后可能需要重启,比如本来是开启的现在状态定义为disabled就需要重启生效,required可以设置为yes会帮你重启,默认no
  • 不会自动帮你重启,但是重启生效的会有提示信息
常用参数默认值注释
configfile“/etc/selinux/config”文件路径,默认"/etc/selinux/config"
policySELinux的策略
stateThe SELinux mode.disabled,enforcing,permissive
- name: Stop SELinux
  selinux:
    policy: targeted
    state: permissive
  become: yes

- name: Disable SELinux
  selinux:
    state: disabled
  become: yes

blockinfile 模块

插入/更新/移除被标记线环绕的文本信息

常用参数默认值注释
backupno如果为yes表示创建一个包含时间戳信息的备份文件,如果错误修改了可以获得源文件
block“”要插入标记行内的文本,如果为空串这个块会被删除
createno如果此文件不存在,创建一个新文件
group文件属组
insertafterEOF如果使用这个参数,将会再最后一次匹配到正则表达式之后插入块,EOF意味着再文件最后插入这一行,如果指定的正则表达式没有匹配成功,EOF将会生效
insertbeforeEOFinsertafter类似不同点就是会在最后一次匹配正则表达式成功之前插入块
marker“# {mark} ANSIBLE MANAGED BLOCK”标记信息,标记信息的模板
marker_begin“BEGIN”会替换掉标记信息的{mark}作为标识块的开始
marker_end“END”会替换掉标记信息的{mark}作为标识块的开始
mode设置文件权限
owner文件属主
path修改的文件路径
statepresent该块是否应该存在,默认present,不应该存在就填写absent
- name: Update /etc/security/limits.conf
  blockinfile:
    dest: /etc/security/limits.conf
    insertbefore: '# End of file'
    block: |
      * soft nofile 131072
      * hard nofile 131072
      * soft core unlimited
      * hard core unlimited
      * soft memlock unlimited
      * hard memlock unlimited
  become: yes

执行之后的效果为

# BEGIN ANSIBLE MANAGED BLOCK
* soft nofile 131072
* hard nofile 131072
* soft core unlimited
* hard core unlimited
* soft memlock unlimited
* hard memlock unlimited
# END ANSIBLE MANAGED BLOCK

在文件的结尾会有该块信息,注意如果手动删除了标识符,会导致无法正确定位到块

参考文档

  • https://docs.ansible.com/ansible/latest/modules/systemd_module.html
  • https://docs.ansible.com/ansible/latest/modules/sysctl_module.html
  • https://docs.ansible.com/ansible/latest/modules/selinux_module.html
  • https://docs.ansible.com/ansible/latest/modules/blockinfile_module.html
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值