在尝试@ konstantin-suvorov解决方案后更新。现在它什么也没做。
我创建了5个Vagrant虚拟机,全部来自bento / xenial64,然后使用Ansible将docker部署到所有机器上。
当我尝试使用Ansible将容器部署到远程VM上时,它表示它已经完成了,但容器正在本地计算机上运行。
我的4台机器是: 控制 cluster01 cluster02 cluster03 cluster04
Docker已在所有5
上启动并运行从VM控件,我运行
ansible-playbook -i hosts/local jenkins.yml
我的广告资源文件是
[control]
10.100.100.100
[cluster]
10.100.100.101
10.100.100.102
10.100.100.103
10.100.100.104
[master]
10.100.100.101
这是我的詹金斯剧本
---
- hosts: master
remote_user: ubuntu
serial: 1
roles:
- jenkins
这是我的詹金斯角色
---
- name: Container is running
docker_container:
name: jenkins
image: "jenkins:{{ jenkins_version }}"
ports: 8080:8080
volumes:
- "{{ jenkins_home_dir }}:/var/jenkins_home"
运行ansible-playbook后,使用非常非常详细的选项,并为流浪汉机器添加库存,
vagrant@control:/vagrant$ ansible-playbook -i hosts/local jenkins.yml -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory -vvvv
Using /vagrant/ansible.cfg as config file
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc
PLAYBOOK: jenkins.yml **********************************************************
1 plays in jenkins.yml
PLAY RECAP *********************************************************************
我做错了什么?
答案 0 :(得分:1)
从远程节点中删除ansible_connection=local
。
如果ansible_connection
为local
,Ansible将在本地(控制)主机上运行所有任务。