Jenkins + Ansible + Gitlab之ansible篇

版权声明:秉承开源精神,博主博文可以随机转载,但请注明出处! https://blog.csdn.net/zisefeizhu/article/details/85127680

注:学习本篇博文之前最好将Jenkins + Ansible + Gitlab 之gitlab学习最少一遍

注:关于Ansible的详细内容请看我的另一篇博文自动化运维之ansible

Ansible介绍

什么是Ansible?

Ansible是一个开源部署工具
开发语言:Python
特点:SSH协议通讯,全平台,无需编译,模块化部署管理
作用:推送Playbook进行远程节点快速部署

Ansible与Chef,Saltstack的不同

Chef
       Ruby语言编写,C/S架构,配置需要Git依赖
       Recipe脚本编写规范,需要编程经验
Saltstack
      Python语言编写,C/S架构,模块化配置管理
      YAML脚本编写规范,适合大规模集群部署
Ansible
      Python语言编写,无Client,模块化配置管理
      Playbook脚本编写规范,易于上手,适合中小规模快速部署

Ansible的优势和应用场景

轻量级无客户端(Agentless)
开源免费,学习成本低,快速上手
使用Playbook作为核心配置架构,统一的脚本格式批量化部署
完善的模块化扩展,支持目前主流的开发场景
强大的稳定性和兼容性
活跃的官方社区问题讨论,方便Trubleshooting与DEBUG问题

Ansible配合virtualenv安装配置

Ansible的两种安装模式(Centos7)

1.Yum包管理安装
       yum  -y   install   ansible
2.Git源代码安装【推荐】 
      git  clone https://github.com/ansible/ansible.git
Ansible 2.5 + Python3.6 安装步骤【Centos7】

1.预先安装Python3.6版本
2.安装virtualenv
      pip install virtualenv
3.创建Ansible账户并安装python3.6版本virtualenv实例
     useradd deploy && su - deploy
     virtualenv -p /usr/local/bin/python3.6  .py3-a2.5-env
4. Git源代码安装ansible2.5
     cd /home/deploy/.py3-a2.5-env
     git clone https://github.com/ansible/ansible.git
     cd ansible && git checkout stable-2.5
5. 加载python3.6 virtualenv 环境
    source /home/deploy/.py3-a2.5-env/bin/activate
6.安装ansible依赖包
    pip install paramiko PyYAML jinja2
7.在python3.6虚拟环境下加载ansible2.5
    source /hone/deploy/.py3-a2.5-env/ansible/hacking/env-setup  -q
8.验证ansible2.5
    ansible --version

演示

前提工作

安装Python3.6和Virtualenv

创建ansible系统账户并在该系统账户下安装python3.6版本的Virtualenv实例

安装git

出现的一个错误

加载vintualenv环境

完成

Ansible playbooks入门和编写规范

Playbooks框架与格式

Test Playbooks

详细目录testenv

主任务文件main.yml

任务入口文件deploy.yml

Playbooks编写规范

演示

写剧本

免密钥登陆

完成并验证

Ansible Playbboks常用模块

Ansible Playbook 常用模块介绍

File模块

     在目标主机创建文件或目录,并赋予其系统权限

Copy模块

     实现Ansible服务器到目标主机的文件传送

Stat模块

    获取远程文件状态信息

Debug模块

    打印语句到Ansible执行输出

Command/Shell模块

    用来执行Linux目录主机命令行

Template模块

    实现Ansible服务端到目标主机的jinja2模块传送

Packaging模块

     调用目标主机系统包管理工具(yum , apt)进行安装

Service模块

     管理目标主机系统服务

Ansible Playbooks常用模块应用

演示

目标主机预配置工作

注:如需笔记原稿请评论留言,我私发

注:如需视频资源请评论留言,我免费私发

猜你喜欢

转载自blog.csdn.net/zisefeizhu/article/details/85127680