ansible作业-- CentOS 7部署docker-ce

一、centos 7基于阿里云的安装docker方法

step1:卸载本机旧的docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

step2:  安装必要的一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2 

说明:yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

step3:添加软件源信息

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

step4:更新并安装Docker-ce

yum makecache fast
yum -y install docker-ce

step5: 开启docker服务

systemctl start docker
systemctl enable docker

step6:查验安装是否成功(有client和service两部分表示docker安装启动都成功了)

docker version

二、ansible playbook 安装部署docker-ce

1、创建roles目录

mkdir -p install_docker-ce/{tasks,files,handlers}

2、删除本机旧版docker

vim /etc/ansible/roles/install_docker_ce/tasks/remove_oldder_version-docker.yml
- name: remove oldder_docker
yum:
name: [['docker', 'docker-client', 'docker-client-latest', 'docker-common', 'docker-latest', 'docker-latest-logrotate', 'docker-selinux', 'docker-engine', 'docker-engine-selinux']
state: absent

3、安装系统必需文件

vim /etc/ansible/roles/install_docker_ce/tasks/install_docker-based.yml 
- name: install docker_based
  yum: 
    name: [ 'yum-utils', 'device-mapper-persistent-data', 'lvm2']
    state: latest

4、添加软件源,更新并安装docker,开启docker服务

 vim /etc/ansible/roles/install_docker_ce/tasks/install_docker-ce.yml 
- name: clean repo
  yum_repository:
    name: docker-ce
    state: absent
  notify: yum-clean-metadata

- name: add repo
  shell: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  notify: yum-makecache

- name: install docker-ce
  yum:
    name: docker-ce
    state: present

- name: config docker repo
  shell: curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
- name: start and enable docker
  service:
    name: docker
    enabled: yes
    state: started

5、编写handlers

- name: yum-clean-metadata
  shell: yum clean metadata
- name: yum-makecache
  shell: yum makecache

6、编写install_docker_ce.yml

- hosts: websrvs
  remote_user: root
  roles:
    - install_docker_ce

7、运行

ansible-playbook install_docker_ce.yml

8、查看是否安装成功

[root@node1 roles]# ansible websrvs -m shell -a 'docker version'
192.168.200.21 | CHANGED | rc=0 >>
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:55:49 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:54:13 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

总结:

这次脚本出现最多的问题并非ansible模块相关,而是一些命令单词拼写的错误,和命名时 "-" 和 "_" 不一致导致出现文件找不到的错误,以后需细心谨慎!

posted @ 2021-08-14 20:10  sun佳佳  阅读(264)  评论(0)    收藏  举报