使用Ansible模块导出文件系统(/etc/exports)?

使用Ansible模块导出文件系统(/etc/exports)?,ansible,Ansible,在/etc/exports file中添加条目后,是否有人指导我使用Ansible导出文件系统…如果是Linux,您可能希望重用我的Ansible Galaxy角色任务 创建/etc/exports - name: "nfsd: Configure exports" template: src: "exports.j2" dest: "/etc/exports" owner: "root" group: "root" mode: "0644" no

在/etc/exports file中添加条目后,是否有人指导我使用Ansible导出文件系统…

如果是Linux,您可能希望重用我的Ansible Galaxy角色任务

创建/etc/exports

- name: "nfsd: Configure exports"
  template:
    src: "exports.j2"
    dest: "/etc/exports"
    owner: "root"
    group: "root"
    mode: "0644"
  notify: reload nfsd
带模板

并使用“重新加载nfsd”重新加载nfsd


我使用一个简单的命令,如下所示

但是请注意,它不是幂等的(可以多次应用而不会改变初始应用以外的结果)。每次运行playbook时都会执行该任务

最后一项任务(在下面的剧本中)是你要找的(exportfs-rav)


你做了什么?
# {{ ansible_managed }}
{% for item in lp_nfsd_exports %}
{{ item }}
{% endfor %}
- name: reload nfsd
  systemd: name="{{ lp_nfsd_reload_service }}" state="reloaded"
- hosts: all
  name: Make changes to storage node. 
  become: yes

  tasks:
  - name: Install NFS Server.
    apt:
      name: nfs-kernel-server
      state: present

  - name: Ensure volumes directory exists 
    file:
      path: /export/volumes
      state: directory 
      mode: 0777

  - name: Ensure pod inside volumes directory exists 
    file:
      path: /export/volumes/pod
      state: directory 
      mode: 0777

  - name: Ensure required entries are made to hosts file. # Notes 1232
    lineinfile:
      path: /etc/exports
      state: present
      line: "{{ item }}"
    with_items:
      - '/export/volumes  *(rw,no_root_squash,no_subtree_check,insecure)' 

  - name: Restart nfs-kernel-server.service 
    ansible.builtin.systemd:
      daemon_reload: yes
      state: started
      name: nfs-kernel-server.service

  - name: Re-export the share
    command: exportfs -rav