当前位置: 当前位置:首页 >IT科技 >【Linux培训班】Ansible运维企业级千台万台集群Docker案例! 正文

【Linux培训班】Ansible运维企业级千台万台集群Docker案例!

2025-11-04 19:07:04 来源:多维IT资讯作者:人工智能 点击:744次

  ansible是训班新出现的自动化运维工具,基于Python开发,运业级集合了众多运维工具(puppet、维企万台cfengine、千台chef、集群func、案例fabric)的训班优点,网站模板实现了批量系统配置、运业级批量程序部署、维企万台批量运行命令等功能。千台

  管理概述

  管理环境

  环境准备概述

  ansible管理docker集群,集群需要使用比较新的案例版本的ansible+python3环境

  步骤如下

  管理机

  安装python3,python3-pip(软件包管理器)

  pip3安装ansible

  pip3安装docker(python的训班docker依赖)

  被管理

  安装python3,免费信息发布网python3-pip

  pip3安装docker(python的运业级docker依赖)

  环境部署

  1)ansible管理端

1. python3及python3-pip yum install -y python3-pip rust 注: rust是语言环境,pip3安装ansible会要求安装. 2. 升级pip与配置pip源 (pypi) pip3 install -i https:pypi.tuna.tsinghua.edu.cn/simple upgrade pip pip3 config set global.index-url https:pypi.tuna.tsinghua.edu.cn/simple #生成个pip.conf配置文件家目录下. /root/.config/pip/pip.conf 3. 安装ansible与docker pip3 install setuptools_rust pip3 install ansible pip3 install docker2.6.1

  检查

pip3 list |egrep docker|ansible [root@devops ~]# python3 version Python 3.6.8

  检查

  检查python依赖安装情况

  注意:没有docker-compose的请安装下docker-compose,管理端与被管理端都要安装的维企万台。

  2)ansible被管理端

docker01 docker02(reg) yum install -y python3-pip pip3 install -i https:pypi.tuna.tsinghua.edu.cn/simple upgrade pip pip3 config set global.index-url https:pypi.tuna.tsinghua.edu.cn/simple pip3 install docker2.6.1

  3)批量管理的配置

  配置密钥认证

ssh-keygen ssh-copy-id -i /root/.ssh/id_rsa.pub 10.0.0.81 ssh-copy-id -i /root/.ssh/id_rsa.pub 10.0.0.82

  书写hosts文件

[root@devops /server/ans-docker]# cat hosts [dk] 10.0.0.81 10.0.0.82

  测试ansible环境

  4)批量管理Docker前最后的配置

cat /etc/profileEOF export ANSIBLE_PYTHON_INTERPRETER=/usr/bin/python3 export ANSIBLE_INVENTORY=./hosts EOF source 上面的源码下载文件

  5)ansible管理docker

安装 nginx:1.22.0-alpine ansible dk -m docker_image -a name="nginx:1.22.0-alpine" source=pull ansible dk -m shell -a docker images|grep 1.22.0

  管理实战

  Ansible管理docker模块

  1)docker_image选项

  2)docker_container

docker run -d name "kodexp_nginx" -p 80:80 -v `pwd`/conf/nginx.conf:/etc/nginx/nginx.conf - v `pwd`/conf/kod.oldboylinux.cn.conf:/etc/nginx/co nf.d/kod.oldboylinux.cn.conf -v `pwd`/code:/app/code/kod/ nginx:1.20.2-alpine - name: run kodexp_nginx docker_container: name: "kodexp_nginx" image: "nginx:1.20.2-alpine" ports: - "80:80" - "88:80" volumes: - "/app/docker/conf/nginx.conf:/etc/nginx/nginx.co nf" links: - "web_php:php" state: started

  3)docker_compose

  案例01:批量部署并启动容器

  注:也可以改为roles格式

- hosts: dk vars: code_name: kodexp.tar.gz code_dir: /app/kodexp/ tasks: - name: 1. 项目目录 file: path: "{{ code_dir}}" state: directory - name: 2. 分发配置与代码 unarchive: src: "{{ code_name}}" dest: "{{ code_dir}}" mode: 777 - name: 3. docker_compose启动 docker_compose: project_src: "{{ code_dir}}" state: present

  案例02:批量部署容器并启动

  涉及dockerfile   企业应用建议:推荐docker_image构建镜像,存放到私有仓库   docker-compose中直接使用镜像即可   docker_image 构建并上传到私有仓库方法 - name: 构建镜像并上传到私有仓库 docker_image: build: path: ./sinatra 指定dockerfile所在路径 name: reg.oldboylinux.cn:5000/oldboyedu/restart tag: v1.0 push: yes source: build #reg.oldboylinux.cn:5000/oldboyedu/restart:v1.0

  总结

  通过ansible模块:docker_image和docker_compose批量管理容器与镜像   熟练掌握案例01

  附录:Ans-docker模块

作者:人工智能
------分隔线----------------------------
头条新闻
图片新闻
新闻排行榜