ansible 设置文件描述符值,例如 nproc 和 nofile linux

ansible set file descriptor values such as nproc and nofile linux

我有 Below Playbook 来为 linux 中的用户设置文件描述符值,我有下面的代码经过测试并且工作正常我正在寻找是否使用 vars 之类的东西来缩短代码.

确切地说,我想使用模块 pam_limits 并同时涵盖增加 nofilesnproc 值的两个操作。

---
- name: Setting File-descriptor Values for db_user
  hosts: all
   become: yes
   become_method: sudo
   become_user: root
   tasks:
    - name: Setting-up file-max limit
      sysctl:
       name: fs.file-max
       value: '1618107'
       state: present
       reload: yes

    - name: setting-up nofile limit
      pam_limits:
       domain: db_user
       limit_type: "{{ item }}"
       limit_item: nofile
       value: '260000'
      loop:
       - soft
       - hard

    - name: setting-up nproc limit
      pam_limits:
       domain: db_user
       limit_type: "{{ item }}"
       limit_item: nproc
       value: '16383'
      loop:
       - soft
       - hard
...

一种方法,您可以按如下方式使用 loop 但是,我看到您的 softhard 限制值是相同的,因此您可以更好地使用 - 正如我在下面的评论中提到的那样。

---
- name: Setting File-descriptor Values for db_user
  hosts: all
  become: yes
  become_method: sudo
  become_user: root
  tasks:
    - name: Setting-up file-max limit
      sysctl:
        name: fs.file-max
        value: 1618107
        state: present
        reload: yes
    - name: Setting-up nofles and nproc limit for db_user
      pam_limits:
        domain: db_user
        limit_type: "{{item.limit_type}}"
        limit_item: "{{item.limit_item}}"
        value: "{{item.value}}"
      loop:
        # Add nofile and nproc, both soft and hard, limit for the user db_user with a comment.
        # Type "-" for enforcing both soft and hard resource limits together for more details read `man limits.conf`.
        - { limit_type: '-', limit_item: 'nofile', value: 260000 }
        - { limit_type: '-', limit_item: 'nproc', value: 16383 }