dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2160
  • 铜币13127枚
  • 威望5808点
  • 银元150个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
阅读:440回复:0

Ansible Playbook 批量安装 Docker

楼主#
更多 发布于:2018-03-20 11:06
目标
使用 ansible-playbook 批量安装 docker 服务。

环境
1. 部署及版本
参考这里

2. 管理节点
    系统: CentOS 7.4 amd64
    IP: 10.0.1.1

3. 托管节点
    系统: Ubuntu 16.04 amd64
    IP: 10.0.1.11 - 13

条件
1. 已经配置 SSH KEY 方式登录.
2. 主机通信正常,能够返回  SUCCESS
ansible docker -m ping
node3 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
node1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
node2 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

配置文件
1. “剧本”文件
cat install_docker.yml
---
- hosts: docker
  remote_user: root
  vars:
    lsb_release: $(lsb_release -cs)
  tasks:
    - name: install tools
      apt: name=\{{item}\} state=present
      with_items:
        - apt-transport-https
        - ca-certificates
        - software-properties-common
        - curl

    - name: add Docker GPG key
      shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    - name: add Docker Repository
      command: add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"

    - name: retrieve new lists of packages
      command: apt-get update

    - name: install docker
      apt: name=docker-ce state=present

    - name: get docker-compose
      shell: curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    - name: install docker-compose
      command: chmod +x /usr/local/bin/docker-compose

2. 主机信息
tail  -n 5 /etc/ansible/hosts
[docker]
node1
node2
node3

命令
ansible-playbook install_docker.yml
...省略
PLAY RECAP ********************************************************************************************************************************************
node1                      : ok=8    changed=7    unreachable=0    failed=0  
node2                      : ok=8    changed=7    unreachable=0    failed=0  
node3                      : ok=8    changed=7    unreachable=0    failed=0

扩展: ansible 小试牛刀
#
游客

返回顶部