使用Ansible自动安装容器化服务可以大大提高部署效率和一致性,以下是一个简单的示例:
- 安装Docker和Docker Compose
通过Ansible playbook在目标服务器上安装最新版本的Docker和Docker Compose。
---
- hosts: all
become: yes
tasks:
- name: Install Docker CE
apt:
update_cache: yes
name: docker-ce
state: present
- name: Install Docker Compose
pip:
name: docker-compose
- 部署Nginx反向代理
使用Ansible playbook在目标服务器上部署Nginx反向代理,用于负载均衡和路由转发。
---
- hosts: nginx_servers
become: yes
vars:
nginx_configs_dir: /etc/nginx/conf.d/
app_servers:
- { ip_address: "10.0.0.1", port: "8000" }
- { ip_address: "10.0.0.2", port: "8000" }
tasks:
- name: Create Nginx configuration file for app servers
template:
src=nginx.conf.j2
dest={{ nginx_configs_dir }}/app_servers.conf
- name: Reload Nginx to apply new configuration changes
systemd:
name=nginx.service
state=restarted
handlers:
- name: Restart Nginx service on configuration change
systemd:
name=nginx.service
state=restarted
- 安装并启动容器化应用程序
使用Ansible playbook在目标服务器上下载并启动Docker容器,用于部署应用程序。
---
- hosts: app_servers
become: yes
vars:
app_name: myapp
app_image: myapp:v1.0
tasks:
- name: Pull Docker image from Docker Hub
docker_image:
name: "{{ app_image }}"
- name: Start Docker container for the application
docker_container:
name: "{{ app_name }}"
image: "{{ app_image }}"
ports:
- "8000"
以上是一个简单的Ansible playbook示例,可以根据具体需求进行修改和扩展。使用Ansible自动化部署,可以大大减少手动操作和错误,提高部署效率和一致性。




