我在AWS实例上运行Ansible playbook时遇到了麻烦.这是我的版本:
$ ansible --version
ansible 2.0.0.2
Run Code Online (Sandbox Code Playgroud)
我创建了一个库存文件:
[my_ec2_instance]
default ansible_host=MY_EC2_ADDRESS ansible_user='ubuntu' ansible_ssh_private_key_file='/home/MY_USER/MY_KEYS/MY_KEY.pem'
Run Code Online (Sandbox Code Playgroud)
测试与我的服务器的连接:
$ ansible -i provisioner/inventory my_ec2_instance -m ping
default | SUCCESS => {
"changed": false,
"ping": "pong"
}
Run Code Online (Sandbox Code Playgroud)
现在当我在这个库存上运行我的Playbook时,我得到Timeout (12s) waiting for privilege escalation prompt如下错误:
$ ansible-playbook -i provisioner/inventory -l my_ec2_instance provisioner/playbook.yml
PLAY [Ubuntu14/Python3/Postgres/Nginx/Gunicorn/Django stack] *****
TASK [setup] *******************************************************************
fatal: [default]: FAILED! => {"failed": true, "msg": "ERROR! Timeout (12s) waiting for privilege escalation prompt: "}
NO MORE HOSTS LEFT *************************************************************
PLAY RECAP *********************************************************************
default : …Run Code Online (Sandbox Code Playgroud) 我知道在 Docker 容器上不推荐 Systemd,但有可能吗?
我在使用 Ansible 部署的 Ubuntu 18.04 云虚拟机上有临时/生产环境;
我当前的开发环境是 Ubuntu 18.04 Vagrantfile,它使用与playbook.ymlstaging/prod相同的 Ansible
现在我正在尝试Vagrantfile用Dockerfilefor development替换 ,但是playbook.yml在应用 systemd 模块时Ansible失败。我也想systemd在我的开发环境中使用,以便我可以在playbook.yml本地测试更改。知道我该怎么做吗?
如果我尝试使用Dockerfile和playbook.yml如下构建,则会出现错误Failed to find required executable systemctl in paths。
如果我添加RUN apt-get install systemd到并Dockerfile尝试构建,我会收到一个错误System has not been booted with systemd as init system
样品Dockerfile:
FROM ubuntu:18.04
ADD . /app
WORKDIR /app
# Install Python3 pip used …Run Code Online (Sandbox Code Playgroud)