我们安装了 efs 实用程序并在 VPC 中使用 EFS 挂载点配置了 EFS 文件系统。在 /etc/fstab 中添加了永久挂载的条目,如下所示。
echo "mount fs-xxxxxxx /mnt/efs efs tls,_netdev 0 0" >> /etc/fstab
在此之后,当我手动运行mount -a -t efs defaults
- 它工作正常文件系统已成功安装,没有任何问题。
但是当我尝试从下面的 ansible mount 模块调用相同的东西时
- name: Mount up efs
mount:
path: /mnt/efs
src: fs-xxxxxxxx
fstype: efs
opts: tls
state: mounted
become: true
become_method: pbrun
become_user: root
注意:Ansible 在目标主机上以 root 特权用户身份运行。
预期结果: EFS 文件系统应该可以毫无问题地挂载。
实际结果: 我们在 ansible 中遇到错误,例如
Error:
only root can run mount.efs
当我开始调试问题时,我在 init.py 中看到 efs 的条目 https://github.com/aws/efs-utils/blob/555154b79572cd2a9f63782cac4c1062eb9b1ebd/src/mount_efs/init.py
我们正在使用 getpass python 模块验证用户,但是即使我在 ansible 中使用 become 也无法帮助我解决这个错误。
你能请任何人帮我解决这个问题吗