sysctl模块
管理sysctl.conf文件,可用来管理内核参数
常用参数 | 默认值 | 注释 |
---|---|---|
name | 指定sysctl支持的变量,内核参数可以在这里管理 | |
state | present | 定义该值是否应该在sysctl文件中存在,present 存在,absent 不存在 |
sysctl_file | “/etc/sysctl.conf” | 设置sysctl.conf 文件位置 |
value | name 变量对应的值 |
- 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_reload | no | 任何操作之前先执行daemon-reload 操作,no /yes |
enabled | 设置是否开机启动,no /yes | |
name | 服务名称 | |
state | reloaded 重载,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" |
policy | SELinux的策略 | |
state | The SELinux mode.disabled ,enforcing ,permissive |
- name: Stop SELinux
selinux:
policy: targeted
state: permissive
become: yes
- name: Disable SELinux
selinux:
state: disabled
become: yes
blockinfile 模块
插入/更新/移除被标记线环绕的文本信息
常用参数 | 默认值 | 注释 |
---|---|---|
backup | no | 如果为yes 表示创建一个包含时间戳信息的备份文件,如果错误修改了可以获得源文件 |
block | “” | 要插入标记行内的文本,如果为空串这个块会被删除 |
create | no | 如果此文件不存在,创建一个新文件 |
group | 文件属组 | |
insertafter | EOF | 如果使用这个参数,将会再最后一次匹配到正则表达式之后插入块,EOF 意味着再文件最后插入这一行,如果指定的正则表达式没有匹配成功,EOF将会生效 |
insertbefore | EOF | 与insertafter 类似不同点就是会在最后一次匹配正则表达式成功之前插入块 |
marker | “# {mark} ANSIBLE MANAGED BLOCK” | 标记信息,标记信息的模板 |
marker_begin | “BEGIN” | 会替换掉标记信息的{mark}作为标识块的开始 |
marker_end | “END” | 会替换掉标记信息的{mark}作为标识块的开始 |
mode | 设置文件权限 | |
owner | 文件属主 | |
path | 修改的文件路径 | |
state | present | 该块是否应该存在,默认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